Sophie

Sophie

distrib > Mageia > 3 > i586 > media > core-release-src > by-pkgid > 942f36be6b50523b0497d9f09dbcf35b > files > 3

valgrind-3.8.1-6.mga3.src.rpm

# KDE#305728 - Add support for AVX2, BMI1, BMI2 and FMA instructions 
# Combined patch for:
# - valgrind-avx2-1.patch
# - valgrind-avx2-2.patch
# - valgrind-avx2-3.patch
# - valgrind-avx2-4.patch
# - valgrind-bmi-1.patch
# - valgrind-bmi-2.patch
# - valgrind-bmi-3.patch
# - valgrind-fma-1.patch
# - valgrind-memcheck-avx2-bmi-fma.patch
# - valgrind-vmaskmov-load.patch
# - valgrind-avx2-5.patch
# - valgrind-bmi-4.patch
# - valgrind-avx2-bmi-fma-tests.tar.bz2
#
# NOTE: Need to touch empty files from tar file:
# ./none/tests/amd64/avx2-1.stderr.exp
# ./none/tests/amd64/fma.stderr.exp
# ./none/tests/amd64/bmi.stderr.exp

diff -ruN '--exclude=*.orig' '--exclude=autom4te.cache' valgrind-3.8.0.orig/configure valgrind-3.8.0.new/configure
--- valgrind-3.8.0.orig/configure	2012-09-12 17:37:34.433928694 +0200
+++ valgrind-3.8.0.new/configure	2012-09-12 20:20:29.868427602 +0200
@@ -636,6 +636,12 @@
 BUILD_IFUNC_TESTS_TRUE
 BUILD_MOVBE_TESTS_FALSE
 BUILD_MOVBE_TESTS_TRUE
+BUILD_FMA_TESTS_FALSE
+BUILD_FMA_TESTS_TRUE
+BUILD_BMI_TESTS_FALSE
+BUILD_BMI_TESTS_TRUE
+BUILD_AVX2_TESTS_FALSE
+BUILD_AVX2_TESTS_TRUE
 BUILD_AVX_TESTS_FALSE
 BUILD_AVX_TESTS_TRUE
 BUILD_SSE42_TESTS_FALSE
@@ -8319,6 +8325,155 @@
 
 
 
+# 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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if x86/amd64 assembler speaks AVX2" >&5
+$as_echo_n "checking if x86/amd64 assembler speaks AVX2... " >&6; }
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  do { long long int x;
+   __asm__ __volatile__(
+      "vpsravd (%%rsp), %%ymm8, %%ymm7" : : : "xmm7", "xmm8" );
+   __asm__ __volatile__(
+      "vpaddb %%ymm6,%%ymm7,%%ymm8" : : : "xmm6","xmm7","xmm8"); }
+  while (0)
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+ac_have_as_avx2=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+else
+
+ac_have_as_avx2=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+ if test x$ac_have_as_avx2 = xyes; then
+  BUILD_AVX2_TESTS_TRUE=
+  BUILD_AVX2_TESTS_FALSE='#'
+else
+  BUILD_AVX2_TESTS_TRUE='#'
+  BUILD_AVX2_TESTS_FALSE=
+fi
+
+
+
+# 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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if x86/amd64 assembler speaks BMI1 and BMI2" >&5
+$as_echo_n "checking if x86/amd64 assembler speaks BMI1 and BMI2... " >&6; }
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  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), "g" (0x7654321) : "edx" ); }
+  while (0)
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+ac_have_as_bmi=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+else
+
+ac_have_as_bmi=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+ if test x$ac_have_as_bmi = xyes; then
+  BUILD_BMI_TESTS_TRUE=
+  BUILD_BMI_TESTS_FALSE='#'
+else
+  BUILD_BMI_TESTS_TRUE='#'
+  BUILD_BMI_TESTS_FALSE=
+fi
+
+
+
+# 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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if x86/amd64 assembler speaks FMA" >&5
+$as_echo_n "checking if x86/amd64 assembler speaks FMA... " >&6; }
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  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)
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+ac_have_as_fma=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+else
+
+ac_have_as_fma=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+ if test x$ac_have_as_fma = xyes; then
+  BUILD_FMA_TESTS_TRUE=
+  BUILD_FMA_TESTS_FALSE='#'
+else
+  BUILD_FMA_TESTS_TRUE='#'
+  BUILD_FMA_TESTS_FALSE=
+fi
+
+
+
 # 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
@@ -8942,7 +9097,6 @@
 main ()
 {
   char *data, *data2, *data3;
-  const char *cdata2;
   int i, pagesize;
   int fd, fd2;
 
@@ -8967,10 +9121,10 @@
   fd2 = open ("conftest.txt", O_RDWR | O_CREAT | O_TRUNC, 0600);
   if (fd2 < 0)
     return 4;
-  cdata2 = "";
-  if (write (fd2, cdata2, 1) != 1)
+  data2 = "";
+  if (write (fd2, data2, 1) != 1)
     return 5;
-  data2 = (char *) mmap (0, pagesize, PROT_READ | PROT_WRITE, MAP_SHARED, fd2, 0L);
+  data2 = mmap (0, pagesize, PROT_READ | PROT_WRITE, MAP_SHARED, fd2, 0L);
   if (data2 == MAP_FAILED)
     return 6;
   for (i = 0; i < pagesize; ++i)
@@ -10182,6 +10336,18 @@
   as_fn_error "conditional \"BUILD_AVX_TESTS\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${BUILD_AVX2_TESTS_TRUE}" && test -z "${BUILD_AVX2_TESTS_FALSE}"; then
+  as_fn_error "conditional \"BUILD_AVX2_TESTS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_BMI_TESTS_TRUE}" && test -z "${BUILD_BMI_TESTS_FALSE}"; then
+  as_fn_error "conditional \"BUILD_BMI_TESTS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_FMA_TESTS_TRUE}" && test -z "${BUILD_FMA_TESTS_FALSE}"; then
+  as_fn_error "conditional \"BUILD_FMA_TESTS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 if test -z "${BUILD_MOVBE_TESTS_TRUE}" && test -z "${BUILD_MOVBE_TESTS_FALSE}"; then
   as_fn_error "conditional \"BUILD_MOVBE_TESTS\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
diff -ruN '--exclude=*.orig' '--exclude=autom4te.cache' valgrind-3.8.0.orig/configure.in valgrind-3.8.0.new/configure.in
--- valgrind-3.8.0.orig/configure.in	2012-09-12 17:37:34.534930179 +0200
+++ valgrind-3.8.0.new/configure.in	2012-09-12 19:54:55.747334083 +0200
@@ -1791,6 +1791,77 @@
 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), "g" (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
diff -ruN '--exclude=*.orig' '--exclude=autom4te.cache' valgrind-3.8.0.orig/coregrind/m_machine.c valgrind-3.8.0.new/coregrind/m_machine.c
--- valgrind-3.8.0.orig/coregrind/m_machine.c	2012-09-12 17:37:34.447928901 +0200
+++ valgrind-3.8.0.new/coregrind/m_machine.c	2012-09-12 19:54:35.312026314 +0200
@@ -755,8 +755,8 @@
 
 #elif defined(VGA_amd64)
    { Bool have_sse3, have_cx8, have_cx16;
-     Bool have_lzcnt, have_avx /*, have_fma*/;
-     UInt eax, ebx, ecx, edx, max_extended;
+     Bool have_lzcnt, have_avx, have_bmi, have_avx2;
+     UInt eax, ebx, ecx, edx, max_basic, max_extended;
      UChar vstr[13];
      vstr[0] = 0;
 
@@ -765,7 +765,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;
 
@@ -822,19 +823,29 @@
      /* 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 the 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 */
      }
 
+     /* 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)
-                | (have_avx   ? VEX_HWCAPS_AMD64_AVX   : 0);
+                | (have_avx   ? VEX_HWCAPS_AMD64_AVX   : 0)
+                | (have_bmi   ? VEX_HWCAPS_AMD64_BMI   : 0)
+                | (have_avx2  ? VEX_HWCAPS_AMD64_AVX2  : 0);
      return True;
    }
 
--- valgrind-3.8.0.orig/Makefile.vex.am	2012-09-12 17:37:34.431928664 +0200
+++ valgrind-3.8.0.new/Makefile.vex.am	2012-09-12 19:54:55.636332414 +0200
@@ -46,6 +46,8 @@
 	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 \
@@ -115,6 +117,8 @@
 	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 \
diff -ruN '--exclude=*.orig' '--exclude=autom4te.cache' valgrind-3.8.0.orig/Makefile.vex.in valgrind-3.8.0.new/Makefile.vex.in
--- valgrind-3.8.0.orig/Makefile.vex.in	2012-09-12 17:37:34.416928442 +0200
+++ valgrind-3.8.0.new/Makefile.vex.in	2012-09-13 13:24:01.844153871 +0200
@@ -113,6 +113,8 @@
 	libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_regs.$(OBJEXT) \
 	libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_simd64.$(OBJEXT) \
 	libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_simd128.$(OBJEXT) \
+	libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_simd256.$(OBJEXT) \
+	libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_maddf.$(OBJEXT) \
 	libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_reg_alloc2.$(OBJEXT) \
 	libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_x86_defs.$(OBJEXT) \
 	libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_x86_isel.$(OBJEXT) \
@@ -143,7 +145,8 @@
 	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_reg_alloc2.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 \
 	priv/host_amd64_defs.c priv/host_amd64_isel.c \
 	priv/host_ppc_defs.c priv/host_ppc_isel.c priv/host_arm_defs.c \
@@ -174,6 +177,8 @@
 	libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_regs.$(OBJEXT) \
 	libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_simd64.$(OBJEXT) \
 	libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_simd128.$(OBJEXT) \
+	libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_simd256.$(OBJEXT) \
+	libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_maddf.$(OBJEXT) \
 	libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_reg_alloc2.$(OBJEXT) \
 	libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_x86_defs.$(OBJEXT) \
 	libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_x86_isel.$(OBJEXT) \
@@ -513,6 +518,8 @@
 	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 \
@@ -553,6 +560,8 @@
 	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 \
@@ -688,9 +697,11 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_amd64_isel.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_arm_defs.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_arm_isel.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_maddf.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_reg_alloc2.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_regs.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_simd128.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_simd256.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_simd64.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_mips_defs.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_mips_isel.Po@am__quote@
@@ -725,9 +736,11 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_amd64_isel.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_arm_defs.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_arm_isel.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_maddf.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_reg_alloc2.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_regs.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_simd128.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_simd256.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_simd64.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_mips_defs.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_mips_isel.Po@am__quote@
@@ -1081,6 +1094,34 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CPPFLAGS) $(CPPFLAGS) $(libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CFLAGS) $(CFLAGS) -c -o libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_simd128.obj `if test -f 'priv/host_generic_simd128.c'; then $(CYGPATH_W) 'priv/host_generic_simd128.c'; else $(CYGPATH_W) '$(srcdir)/priv/host_generic_simd128.c'; fi`
 
+libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_simd256.o: priv/host_generic_simd256.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CPPFLAGS) $(CPPFLAGS) $(libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CFLAGS) $(CFLAGS) -MT libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_simd256.o -MD -MP -MF $(DEPDIR)/libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_simd256.Tpo -c -o libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_simd256.o `test -f 'priv/host_generic_simd256.c' || echo '$(srcdir)/'`priv/host_generic_simd256.c
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_simd256.Tpo $(DEPDIR)/libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_simd256.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='priv/host_generic_simd256.c' object='libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_simd256.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CPPFLAGS) $(CPPFLAGS) $(libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CFLAGS) $(CFLAGS) -c -o libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_simd256.o `test -f 'priv/host_generic_simd256.c' || echo '$(srcdir)/'`priv/host_generic_simd256.c
+
+libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_simd256.obj: priv/host_generic_simd256.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CPPFLAGS) $(CPPFLAGS) $(libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CFLAGS) $(CFLAGS) -MT libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_simd256.obj -MD -MP -MF $(DEPDIR)/libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_simd256.Tpo -c -o libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_simd256.obj `if test -f 'priv/host_generic_simd256.c'; then $(CYGPATH_W) 'priv/host_generic_simd256.c'; else $(CYGPATH_W) '$(srcdir)/priv/host_generic_simd256.c'; fi`
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_simd256.Tpo $(DEPDIR)/libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_simd256.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='priv/host_generic_simd256.c' object='libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_simd256.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CPPFLAGS) $(CPPFLAGS) $(libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CFLAGS) $(CFLAGS) -c -o libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_simd256.obj `if test -f 'priv/host_generic_simd256.c'; then $(CYGPATH_W) 'priv/host_generic_simd256.c'; else $(CYGPATH_W) '$(srcdir)/priv/host_generic_simd256.c'; fi`
+
+libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_maddf.o: priv/host_generic_maddf.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CPPFLAGS) $(CPPFLAGS) $(libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CFLAGS) $(CFLAGS) -MT libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_maddf.o -MD -MP -MF $(DEPDIR)/libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_maddf.Tpo -c -o libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_maddf.o `test -f 'priv/host_generic_maddf.c' || echo '$(srcdir)/'`priv/host_generic_maddf.c
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_maddf.Tpo $(DEPDIR)/libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_maddf.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='priv/host_generic_maddf.c' object='libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_maddf.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CPPFLAGS) $(CPPFLAGS) $(libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CFLAGS) $(CFLAGS) -c -o libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_maddf.o `test -f 'priv/host_generic_maddf.c' || echo '$(srcdir)/'`priv/host_generic_maddf.c
+
+libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_maddf.obj: priv/host_generic_maddf.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CPPFLAGS) $(CPPFLAGS) $(libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CFLAGS) $(CFLAGS) -MT libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_maddf.obj -MD -MP -MF $(DEPDIR)/libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_maddf.Tpo -c -o libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_maddf.obj `if test -f 'priv/host_generic_maddf.c'; then $(CYGPATH_W) 'priv/host_generic_maddf.c'; else $(CYGPATH_W) '$(srcdir)/priv/host_generic_maddf.c'; fi`
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_maddf.Tpo $(DEPDIR)/libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_maddf.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='priv/host_generic_maddf.c' object='libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_maddf.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CPPFLAGS) $(CPPFLAGS) $(libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CFLAGS) $(CFLAGS) -c -o libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_maddf.obj `if test -f 'priv/host_generic_maddf.c'; then $(CYGPATH_W) 'priv/host_generic_maddf.c'; else $(CYGPATH_W) '$(srcdir)/priv/host_generic_maddf.c'; fi`
+
 libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_reg_alloc2.o: priv/host_generic_reg_alloc2.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CPPFLAGS) $(CPPFLAGS) $(libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CFLAGS) $(CFLAGS) -MT libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_reg_alloc2.o -MD -MP -MF $(DEPDIR)/libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_reg_alloc2.Tpo -c -o libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_reg_alloc2.o `test -f 'priv/host_generic_reg_alloc2.c' || echo '$(srcdir)/'`priv/host_generic_reg_alloc2.c
 @am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_reg_alloc2.Tpo $(DEPDIR)/libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a-host_generic_reg_alloc2.Po
@@ -1599,6 +1640,34 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CPPFLAGS) $(CPPFLAGS) $(libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CFLAGS) $(CFLAGS) -c -o libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_simd128.obj `if test -f 'priv/host_generic_simd128.c'; then $(CYGPATH_W) 'priv/host_generic_simd128.c'; else $(CYGPATH_W) '$(srcdir)/priv/host_generic_simd128.c'; fi`
 
+libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_simd256.o: priv/host_generic_simd256.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CPPFLAGS) $(CPPFLAGS) $(libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CFLAGS) $(CFLAGS) -MT libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_simd256.o -MD -MP -MF $(DEPDIR)/libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_simd256.Tpo -c -o libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_simd256.o `test -f 'priv/host_generic_simd256.c' || echo '$(srcdir)/'`priv/host_generic_simd256.c
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_simd256.Tpo $(DEPDIR)/libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_simd256.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='priv/host_generic_simd256.c' object='libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_simd256.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CPPFLAGS) $(CPPFLAGS) $(libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CFLAGS) $(CFLAGS) -c -o libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_simd256.o `test -f 'priv/host_generic_simd256.c' || echo '$(srcdir)/'`priv/host_generic_simd256.c
+
+libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_simd256.obj: priv/host_generic_simd256.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CPPFLAGS) $(CPPFLAGS) $(libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CFLAGS) $(CFLAGS) -MT libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_simd256.obj -MD -MP -MF $(DEPDIR)/libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_simd256.Tpo -c -o libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_simd256.obj `if test -f 'priv/host_generic_simd256.c'; then $(CYGPATH_W) 'priv/host_generic_simd256.c'; else $(CYGPATH_W) '$(srcdir)/priv/host_generic_simd256.c'; fi`
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_simd256.Tpo $(DEPDIR)/libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_simd256.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='priv/host_generic_simd256.c' object='libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_simd256.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CPPFLAGS) $(CPPFLAGS) $(libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CFLAGS) $(CFLAGS) -c -o libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_simd256.obj `if test -f 'priv/host_generic_simd256.c'; then $(CYGPATH_W) 'priv/host_generic_simd256.c'; else $(CYGPATH_W) '$(srcdir)/priv/host_generic_simd256.c'; fi`
+
+libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_maddf.o: priv/host_generic_maddf.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CPPFLAGS) $(CPPFLAGS) $(libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CFLAGS) $(CFLAGS) -MT libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_maddf.o -MD -MP -MF $(DEPDIR)/libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_maddf.Tpo -c -o libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_maddf.o `test -f 'priv/host_generic_maddf.c' || echo '$(srcdir)/'`priv/host_generic_maddf.c
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_maddf.Tpo $(DEPDIR)/libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_maddf.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='priv/host_generic_maddf.c' object='libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_maddf.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CPPFLAGS) $(CPPFLAGS) $(libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CFLAGS) $(CFLAGS) -c -o libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_maddf.o `test -f 'priv/host_generic_maddf.c' || echo '$(srcdir)/'`priv/host_generic_maddf.c
+
+libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_maddf.obj: priv/host_generic_maddf.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CPPFLAGS) $(CPPFLAGS) $(libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CFLAGS) $(CFLAGS) -MT libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_maddf.obj -MD -MP -MF $(DEPDIR)/libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_maddf.Tpo -c -o libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_maddf.obj `if test -f 'priv/host_generic_maddf.c'; then $(CYGPATH_W) 'priv/host_generic_maddf.c'; else $(CYGPATH_W) '$(srcdir)/priv/host_generic_maddf.c'; fi`
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_maddf.Tpo $(DEPDIR)/libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_maddf.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='priv/host_generic_maddf.c' object='libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_maddf.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CPPFLAGS) $(CPPFLAGS) $(libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CFLAGS) $(CFLAGS) -c -o libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_maddf.obj `if test -f 'priv/host_generic_maddf.c'; then $(CYGPATH_W) 'priv/host_generic_maddf.c'; else $(CYGPATH_W) '$(srcdir)/priv/host_generic_maddf.c'; fi`
+
 libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_reg_alloc2.o: priv/host_generic_reg_alloc2.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CPPFLAGS) $(CPPFLAGS) $(libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CFLAGS) $(CFLAGS) -MT libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_reg_alloc2.o -MD -MP -MF $(DEPDIR)/libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_reg_alloc2.Tpo -c -o libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_reg_alloc2.o `test -f 'priv/host_generic_reg_alloc2.c' || echo '$(srcdir)/'`priv/host_generic_reg_alloc2.c
 @am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_reg_alloc2.Tpo $(DEPDIR)/libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a-host_generic_reg_alloc2.Po
diff -ruN '--exclude=*.orig' '--exclude=autom4te.cache' valgrind-3.8.0.orig/memcheck/mc_translate.c valgrind-3.8.0.new/memcheck/mc_translate.c
--- valgrind-3.8.0.orig/memcheck/mc_translate.c	2012-09-12 17:37:34.474929295 +0200
+++ valgrind-3.8.0.new/memcheck/mc_translate.c	2012-09-12 19:55:08.913532373 +0200
@@ -576,6 +576,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");
@@ -821,6 +822,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)");
@@ -1880,11 +1888,21 @@
    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));
@@ -2289,6 +2307,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
@@ -3522,6 +3578,82 @@
       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);
          VG_(tool_panic)("memcheck:expr2vbits_Binop");
diff -ruN '--exclude=*.orig' '--exclude=autom4te.cache' valgrind-3.8.0.orig/none/tests/amd64/avx-1.c valgrind-3.8.0.new/none/tests/amd64/avx-1.c
--- valgrind-3.8.0.orig/none/tests/amd64/avx-1.c	2012-09-12 17:37:34.545930341 +0200
+++ valgrind-3.8.0.new/none/tests/amd64/avx-1.c	2012-09-12 20:27:57.310151656 +0200
@@ -2129,6 +2129,26 @@
                "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.
@@ -2669,6 +2689,10 @@
    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 -ruN '--exclude=*.orig' '--exclude=autom4te.cache' valgrind-3.8.0.orig/none/tests/amd64/avx-1.stdout.exp valgrind-3.8.0.new/none/tests/amd64/avx-1.stdout.exp
--- valgrind-3.8.0.orig/none/tests/amd64/avx-1.stdout.exp	2012-09-12 17:37:34.541930280 +0200
+++ valgrind-3.8.0.new/none/tests/amd64/avx-1.stdout.exp	2012-09-12 20:27:57.362152436 +0200
@@ -42793,3 +42793,327 @@
     feb443c176d0cbb9.03548618f3c01756.212ac3ccd86b0351.95adf830a94ebc85
     b165299dda543e63
 
+VMASKMOVPS_128_LoadForm(reg)
+  before
+    9c0849d369c6ac28.280114a7abbea487.9b988f7ca02be891.5cd9546656fb9ec4
+    b0e1543ff2324180.15e28197e333466f.6f2dc520380802cb.2cf683d3894be479
+    4a3e464b12243b18.a122067d3a3a6d9b.da5e256e59e6a2ad.6d4dcc018d67919e
+    c6691c656427d49c.a88f1f46cedfd437.3a79a9d49f4e03e6.fbaaacda7f5c615c
+    b2d99e4c7a350fe2
+  after
+    9c0849d369c6ac28.280114a7abbea487.9b988f7ca02be891.5cd9546656fb9ec4
+    b0e1543ff2324180.15e28197e333466f.6f2dc520380802cb.2cf683d3894be479
+    4a3e464b12243b18.a122067d3a3a6d9b.da5e256e59e6a2ad.6d4dcc018d67919e
+    c6691c656427d49c.a88f1f46cedfd437.3a79a9d49f4e03e6.fbaaacda7f5c615c
+    b2d99e4c7a350fe2
+VMASKMOVPS_128_LoadForm(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.06f348dc00000000.0000000000000000
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    f805e2ee72a77987
+
+VMASKMOVPS_128_LoadForm(reg)
+  before
+    9bd0f2ba5ed051dd.c0f35cb3c5763723.04c40c6e495c6080.142340b2fd0458e3
+    b7990b92b3588e3c.79c9e71145a589ec.5804e1b29643a3a5.0852fe23415cb0bf
+    a6aa29e00dcb6e51.5e05e87c930ddfb0.12277df75a0f2a69.7c41b5ea84a56c40
+    c550481106b62bc8.4d72dcdecab8f39a.8e79dda9304d317a.4bbce0f3e3ed4991
+    518ffb2a794003df
+  after
+    9bd0f2ba5ed051dd.c0f35cb3c5763723.04c40c6e495c6080.142340b2fd0458e3
+    b7990b92b3588e3c.79c9e71145a589ec.5804e1b29643a3a5.0852fe23415cb0bf
+    a6aa29e00dcb6e51.5e05e87c930ddfb0.12277df75a0f2a69.7c41b5ea84a56c40
+    c550481106b62bc8.4d72dcdecab8f39a.8e79dda9304d317a.4bbce0f3e3ed4991
+    518ffb2a794003df
+VMASKMOVPS_128_LoadForm(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.21de3e2500000000.00000000b488f382
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    eb369e4ec74802be
+
+VMASKMOVPS_128_LoadForm(reg)
+  before
+    7edd3c6bd8aaf3af.bab88a357d1b4736.c5aa6c1ba26d0e55.9166c3985fb83774
+    58c782e93f5107a1.155673ddaca7990b.91093f7b2ba0e931.c2ba90275bfa30e1
+    d3406b3499c97c3e.ace0af26d792ec12.1011f7b2981e4623.ffd5b32304d40baa
+    4d93f4b8819f8c33.5922bcfe19e7fb74.9f0d902c867361d7.2681a876775284f9
+    118beb0dcf8159fa
+  after
+    7edd3c6bd8aaf3af.bab88a357d1b4736.c5aa6c1ba26d0e55.9166c3985fb83774
+    58c782e93f5107a1.155673ddaca7990b.91093f7b2ba0e931.c2ba90275bfa30e1
+    d3406b3499c97c3e.ace0af26d792ec12.1011f7b2981e4623.ffd5b32304d40baa
+    4d93f4b8819f8c33.5922bcfe19e7fb74.9f0d902c867361d7.2681a876775284f9
+    118beb0dcf8159fa
+VMASKMOVPS_128_LoadForm(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.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    eeb9344205e13834
+
+VMASKMOVPS_256_LoadForm(reg)
+  before
+    69afc12ac1beb18d.4922c644cf64847c.226c666ab86730a0.291424cd97700cd3
+    78ae124a42478c5b.de1b0bd0d4b1e449.1c1c5521c3e8d3be.6c613e55b23ff4fd
+    7601250d2307054b.3c0602148202c4fd.97bcc805a19bb5e8.cafa8ce0a8ccbdb8
+    c1f5f6df018a5709.40af27fcf664dec3.f196ba82ed0c13ca.20aa8b589624222f
+    483fb6ab9752e08f
+  after
+    69afc12ac1beb18d.4922c644cf64847c.226c666ab86730a0.291424cd97700cd3
+    78ae124a42478c5b.de1b0bd0d4b1e449.1c1c5521c3e8d3be.6c613e55b23ff4fd
+    7601250d2307054b.3c0602148202c4fd.97bcc805a19bb5e8.cafa8ce0a8ccbdb8
+    c1f5f6df018a5709.40af27fcf664dec3.f196ba82ed0c13ca.20aa8b589624222f
+    483fb6ab9752e08f
+VMASKMOVPS_256_LoadForm(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
+    1f8389c400000000.b4d67f2c00000000.c4e2f7744ce2efc8.84f7270400000000
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    45b15daf36795c77
+
+VMASKMOVPS_256_LoadForm(reg)
+  before
+    5e28f69fe5d68cc2.81621854966d7d14.3f8b91a075b2e84e.0eff8b66a1e586bd
+    d9eef31b46c3dc79.a709781f589dbb84.dd807ca9094641f9.fbd7f18302a46c8f
+    124f4f91f6ce8847.a4296839f1f87610.4c2b09b4de711726.9101eab7ecc8b1a7
+    6597066c9083cbd9.548c658c7e896ae5.e6d6332f90bfa780.ac49f1f07c5d1132
+    287a8219cd6d485c
+  after
+    5e28f69fe5d68cc2.81621854966d7d14.3f8b91a075b2e84e.0eff8b66a1e586bd
+    d9eef31b46c3dc79.a709781f589dbb84.dd807ca9094641f9.fbd7f18302a46c8f
+    124f4f91f6ce8847.a4296839f1f87610.4c2b09b4de711726.9101eab7ecc8b1a7
+    6597066c9083cbd9.548c658c7e896ae5.e6d6332f90bfa780.ac49f1f07c5d1132
+    287a8219cd6d485c
+VMASKMOVPS_256_LoadForm(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
+    e1621a1e00000000.2e121418b16de2da.000000001b5c532e.00000000babc2db5
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    139dafdb477c8d75
+
+VMASKMOVPS_256_LoadForm(reg)
+  before
+    418934cdef1a63fd.560a663c8dada27b.1eea6562a41934ab.5459ffd957303451
+    208a3a21b8b09767.24726061b3a44df8.99d7eb788a42f1ef.420f71e5e503e876
+    0aecbe453dc9655e.565949eb5f6bf348.b1beb1e69de7ebaa.e79d539f2b61f917
+    5cfbbba31bf1088f.ca899cc5ac0f4f96.c4edb21a7b975c88.1ecf21f343552260
+    c57158cd4ceb217e
+  after
+    418934cdef1a63fd.560a663c8dada27b.1eea6562a41934ab.5459ffd957303451
+    208a3a21b8b09767.24726061b3a44df8.99d7eb788a42f1ef.420f71e5e503e876
+    0aecbe453dc9655e.565949eb5f6bf348.b1beb1e69de7ebaa.e79d539f2b61f917
+    5cfbbba31bf1088f.ca899cc5ac0f4f96.c4edb21a7b975c88.1ecf21f343552260
+    c57158cd4ceb217e
+VMASKMOVPS_256_LoadForm(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
+    b74e731a5f2fb09d.72022da900000000.5bcfd5dab69a1e0f.0000000000000000
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    5c61a26c02b3c97b
+
+VMASKMOVPD_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
+VMASKMOVPD_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
+
+VMASKMOVPD_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
+VMASKMOVPD_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
+
+VMASKMOVPD_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
+VMASKMOVPD_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
+
+VMASKMOVPD_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
+VMASKMOVPD_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
+    fc81e09c952b7942.0000000000000000.d494f19c68ddb24d.0000000000000000
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    3194afab236ecc13
+
+VMASKMOVPD_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
+VMASKMOVPD_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.fc7aa73bf064967e.5b8dea649f30ae0f.e8cd6e4f4d93077f
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    b4e16805c295deec
+
+VMASKMOVPD_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
+VMASKMOVPD_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.a70509244c6b15af.ef83a85068000f1d.0000000000000000
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    272eef853089597e
+
diff -ruN '--exclude=*.orig' '--exclude=autom4te.cache' valgrind-3.8.0.orig/none/tests/amd64/avx2-1.c valgrind-3.8.0.new/none/tests/amd64/avx2-1.c
--- valgrind-3.8.0.orig/none/tests/amd64/avx2-1.c	1970-01-01 01:00:00.000000000 +0100
+++ valgrind-3.8.0.new/none/tests/amd64/avx2-1.c	2012-09-12 20:28:05.911280911 +0200
@@ -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 -ruN '--exclude=*.orig' '--exclude=autom4te.cache' valgrind-3.8.0.orig/none/tests/amd64/avx2-1.stdout.exp valgrind-3.8.0.new/none/tests/amd64/avx2-1.stdout.exp
--- valgrind-3.8.0.orig/none/tests/amd64/avx2-1.stdout.exp	1970-01-01 01:00:00.000000000 +0100
+++ valgrind-3.8.0.new/none/tests/amd64/avx2-1.stdout.exp	2012-09-13 11:19:25.190050679 +0200
@@ -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 -ruN '--exclude=*.orig' '--exclude=autom4te.cache' valgrind-3.8.0.orig/none/tests/amd64/avx2-1.vgtest valgrind-3.8.0.new/none/tests/amd64/avx2-1.vgtest
--- valgrind-3.8.0.orig/none/tests/amd64/avx2-1.vgtest	1970-01-01 01:00:00.000000000 +0100
+++ valgrind-3.8.0.new/none/tests/amd64/avx2-1.vgtest	2012-09-13 11:19:25.189050665 +0200
@@ -0,0 +1,3 @@
+prog: avx2-1
+prereq: ../../../tests/x86_amd64_features amd64-avx
+vgopts: -q
diff -ruN '--exclude=*.orig' '--exclude=autom4te.cache' valgrind-3.8.0.orig/none/tests/amd64/bmi.c valgrind-3.8.0.new/none/tests/amd64/bmi.c
--- valgrind-3.8.0.orig/none/tests/amd64/bmi.c	1970-01-01 01:00:00.000000000 +0100
+++ valgrind-3.8.0.new/none/tests/amd64/bmi.c	2012-09-12 19:54:35.476028784 +0200
@@ -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 -ruN '--exclude=*.orig' '--exclude=autom4te.cache' valgrind-3.8.0.orig/none/tests/amd64/bmi.stdout.exp valgrind-3.8.0.new/none/tests/amd64/bmi.stdout.exp
--- valgrind-3.8.0.orig/none/tests/amd64/bmi.stdout.exp	1970-01-01 01:00:00.000000000 +0100
+++ valgrind-3.8.0.new/none/tests/amd64/bmi.stdout.exp	2012-09-13 11:19:25.189050665 +0200
@@ -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 -ruN '--exclude=*.orig' '--exclude=autom4te.cache' valgrind-3.8.0.orig/none/tests/amd64/bmi.vgtest valgrind-3.8.0.new/none/tests/amd64/bmi.vgtest
--- valgrind-3.8.0.orig/none/tests/amd64/bmi.vgtest	1970-01-01 01:00:00.000000000 +0100
+++ valgrind-3.8.0.new/none/tests/amd64/bmi.vgtest	2012-09-13 11:19:25.189050665 +0200
@@ -0,0 +1,3 @@
+prog: bmi
+prereq: ../../../tests/x86_amd64_features amd64-avx
+vgopts: -q
diff -ruN '--exclude=*.orig' '--exclude=autom4te.cache' valgrind-3.8.0.orig/none/tests/amd64/fma.c valgrind-3.8.0.new/none/tests/amd64/fma.c
--- valgrind-3.8.0.orig/none/tests/amd64/fma.c	1970-01-01 01:00:00.000000000 +0100
+++ valgrind-3.8.0.new/none/tests/amd64/fma.c	2012-09-12 19:54:55.783334625 +0200
@@ -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 -ruN '--exclude=*.orig' '--exclude=autom4te.cache' valgrind-3.8.0.orig/none/tests/amd64/fma.stdout.exp valgrind-3.8.0.new/none/tests/amd64/fma.stdout.exp
--- valgrind-3.8.0.orig/none/tests/amd64/fma.stdout.exp	1970-01-01 01:00:00.000000000 +0100
+++ valgrind-3.8.0.new/none/tests/amd64/fma.stdout.exp	2012-09-13 11:19:25.188050651 +0200
@@ -0,0 +1 @@
+Testing successful
diff -ruN '--exclude=*.orig' '--exclude=autom4te.cache' valgrind-3.8.0.orig/none/tests/amd64/fma.vgtest valgrind-3.8.0.new/none/tests/amd64/fma.vgtest
--- valgrind-3.8.0.orig/none/tests/amd64/fma.vgtest	1970-01-01 01:00:00.000000000 +0100
+++ valgrind-3.8.0.new/none/tests/amd64/fma.vgtest	2012-09-13 11:19:25.189050665 +0200
@@ -0,0 +1,3 @@
+prog: fma
+prereq: ../../../tests/x86_amd64_features amd64-avx
+vgopts: -q
diff -ruN '--exclude=*.orig' '--exclude=autom4te.cache' valgrind-3.8.0.orig/none/tests/amd64/Makefile.am valgrind-3.8.0.new/none/tests/amd64/Makefile.am
--- valgrind-3.8.0.orig/none/tests/amd64/Makefile.am	2012-09-12 17:37:34.545930341 +0200
+++ valgrind-3.8.0.new/none/tests/amd64/Makefile.am	2012-09-13 13:22:30.796798471 +0200
@@ -24,7 +24,10 @@
 	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 \
@@ -109,6 +112,15 @@
  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
diff -ruN '--exclude=*.orig' '--exclude=autom4te.cache' valgrind-3.8.0.orig/none/tests/amd64/Makefile.in valgrind-3.8.0.new/none/tests/amd64/Makefile.in
--- valgrind-3.8.0.orig/none/tests/amd64/Makefile.in	2012-09-12 17:37:34.543930313 +0200
+++ valgrind-3.8.0.new/none/tests/amd64/Makefile.in	2012-09-13 13:24:07.024230939 +0200
@@ -64,7 +64,8 @@
 	redundantRexW$(EXEEXT) smc1$(EXEEXT) sbbmisc$(EXEEXT) \
 	nibz_bennee_mmap$(EXEEXT) xadd$(EXEEXT) $(am__EXEEXT_5) \
 	$(am__EXEEXT_6) $(am__EXEEXT_7) $(am__EXEEXT_8) \
-	$(am__EXEEXT_9) $(am__EXEEXT_10)
+	$(am__EXEEXT_9) $(am__EXEEXT_10) $(am__EXEEXT_11) \
+	$(am__EXEEXT_12) $(am__EXEEXT_13)
 @BUILD_SSSE3_TESTS_TRUE@am__append_6 = ssse3_misaligned
 @BUILD_LZCNT_TESTS_TRUE@am__append_7 = lzcnt64
 @BUILD_SSE42_TESTS_TRUE@am__append_8 = \
@@ -72,10 +73,13 @@
 @BUILD_SSE42_TESTS_TRUE@	pcmpstr64w pcmpxstrx64w
 
 @BUILD_AVX_TESTS_TRUE@@BUILD_VPCLMULQDQ_TESTS_TRUE@am__append_9 = avx-1
-@BUILD_MOVBE_TESTS_TRUE@am__append_10 = movbe
+@BUILD_AVX2_TESTS_TRUE@am__append_10 = avx2-1
+@BUILD_BMI_TESTS_TRUE@am__append_11 = bmi
+@BUILD_FMA_TESTS_TRUE@am__append_12 = fma
+@BUILD_MOVBE_TESTS_TRUE@am__append_13 = movbe
 
 # DDD: these need to be made to work on Darwin like the x86/ ones were.
-@VGCONF_OS_IS_DARWIN_FALSE@am__append_11 = \
+@VGCONF_OS_IS_DARWIN_FALSE@am__append_14 = \
 @VGCONF_OS_IS_DARWIN_FALSE@	bug137714-amd64 \
 @VGCONF_OS_IS_DARWIN_FALSE@	bug156404-amd64 \
 @VGCONF_OS_IS_DARWIN_FALSE@	faultstatus \
@@ -110,8 +114,11 @@
 @BUILD_SSE42_TESTS_TRUE@	pcmpstr64w$(EXEEXT) \
 @BUILD_SSE42_TESTS_TRUE@	pcmpxstrx64w$(EXEEXT)
 @BUILD_AVX_TESTS_TRUE@@BUILD_VPCLMULQDQ_TESTS_TRUE@am__EXEEXT_8 = avx-1$(EXEEXT)
-@BUILD_MOVBE_TESTS_TRUE@am__EXEEXT_9 = movbe$(EXEEXT)
-@VGCONF_OS_IS_DARWIN_FALSE@am__EXEEXT_10 = bug137714-amd64$(EXEEXT) \
+@BUILD_AVX2_TESTS_TRUE@am__EXEEXT_9 = avx2-1$(EXEEXT)
+@BUILD_BMI_TESTS_TRUE@am__EXEEXT_10 = bmi$(EXEEXT)
+@BUILD_FMA_TESTS_TRUE@am__EXEEXT_11 = fma$(EXEEXT)
+@BUILD_MOVBE_TESTS_TRUE@am__EXEEXT_12 = movbe$(EXEEXT)
+@VGCONF_OS_IS_DARWIN_FALSE@am__EXEEXT_13 = bug137714-amd64$(EXEEXT) \
 @VGCONF_OS_IS_DARWIN_FALSE@	bug156404-amd64$(EXEEXT) \
 @VGCONF_OS_IS_DARWIN_FALSE@	faultstatus$(EXEEXT) \
 @VGCONF_OS_IS_DARWIN_FALSE@	fcmovnu$(EXEEXT) fxtract$(EXEEXT) \
@@ -137,6 +144,12 @@
 avx_1_SOURCES = avx-1.c
 avx_1_OBJECTS = avx-1.$(OBJEXT)
 avx_1_LDADD = $(LDADD)
+avx2_1_SOURCES = avx2-1.c
+avx2_1_OBJECTS = avx2-1.$(OBJEXT)
+avx2_1_LDADD = $(LDADD)
+bmi_SOURCES = bmi.c
+bmi_OBJECTS = bmi.$(OBJEXT)
+bmi_LDADD = $(LDADD)
 bug127521_64_SOURCES = bug127521-64.c
 bug127521_64_OBJECTS = bug127521-64.$(OBJEXT)
 bug127521_64_LDADD = $(LDADD)
@@ -167,6 +180,9 @@
 fcmovnu_SOURCES = fcmovnu.c
 fcmovnu_OBJECTS = fcmovnu.$(OBJEXT)
 fcmovnu_LDADD = $(LDADD)
+fma_SOURCES = fma.c
+fma_OBJECTS = fma.$(OBJEXT)
+fma_LDADD = $(LDADD)
 fxtract_SOURCES = fxtract.c
 fxtract_OBJECTS = fxtract-fxtract.$(OBJEXT)
 fxtract_DEPENDENCIES =
@@ -265,23 +281,25 @@
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = aes.c allexec.c amd64locked.c asorep.c avx-1.c \
-	bug127521-64.c bug132813-amd64.c bug132918.c bug137714-amd64.c \
-	bug156404-amd64.c clc.c cmpxchg.c crc32.c faultstatus.c \
-	fcmovnu.c fxtract.c $(insn_basic_SOURCES) $(insn_fpu_SOURCES) \
-	$(insn_mmx_SOURCES) $(insn_pclmulqdq_SOURCES) \
-	$(insn_sse_SOURCES) $(insn_sse2_SOURCES) $(insn_sse3_SOURCES) \
+SOURCES = aes.c allexec.c amd64locked.c asorep.c avx-1.c avx2-1.c \
+	bmi.c bug127521-64.c bug132813-amd64.c bug132918.c \
+	bug137714-amd64.c bug156404-amd64.c clc.c cmpxchg.c crc32.c \
+	faultstatus.c fcmovnu.c fma.c fxtract.c $(insn_basic_SOURCES) \
+	$(insn_fpu_SOURCES) $(insn_mmx_SOURCES) \
+	$(insn_pclmulqdq_SOURCES) $(insn_sse_SOURCES) \
+	$(insn_sse2_SOURCES) $(insn_sse3_SOURCES) \
 	$(insn_ssse3_SOURCES) jrcxz.c looper.c loopnel.c lzcnt64.c \
 	movbe.c nan80and64.c nibz_bennee_mmap.c pcmpstr64.c \
 	pcmpstr64w.c pcmpxstrx64.c pcmpxstrx64w.c rcl-amd64.c \
 	redundantRexW.c sbbmisc.c shrld.c slahf-amd64.c smc1.c \
 	sse4-64.c ssse3_misaligned.c xadd.c
-DIST_SOURCES = aes.c allexec.c amd64locked.c asorep.c avx-1.c \
-	bug127521-64.c bug132813-amd64.c bug132918.c bug137714-amd64.c \
-	bug156404-amd64.c clc.c cmpxchg.c crc32.c faultstatus.c \
-	fcmovnu.c fxtract.c $(insn_basic_SOURCES) $(insn_fpu_SOURCES) \
-	$(insn_mmx_SOURCES) $(insn_pclmulqdq_SOURCES) \
-	$(insn_sse_SOURCES) $(insn_sse2_SOURCES) $(insn_sse3_SOURCES) \
+DIST_SOURCES = aes.c allexec.c amd64locked.c asorep.c avx-1.c avx2-1.c \
+	bmi.c bug127521-64.c bug132813-amd64.c bug132918.c \
+	bug137714-amd64.c bug156404-amd64.c clc.c cmpxchg.c crc32.c \
+	faultstatus.c fcmovnu.c fma.c fxtract.c $(insn_basic_SOURCES) \
+	$(insn_fpu_SOURCES) $(insn_mmx_SOURCES) \
+	$(insn_pclmulqdq_SOURCES) $(insn_sse_SOURCES) \
+	$(insn_sse2_SOURCES) $(insn_sse3_SOURCES) \
 	$(insn_ssse3_SOURCES) jrcxz.c looper.c loopnel.c lzcnt64.c \
 	movbe.c nan80and64.c nibz_bennee_mmap.c pcmpstr64.c \
 	pcmpstr64w.c pcmpxstrx64.c pcmpxstrx64w.c rcl-amd64.c \
@@ -578,7 +596,10 @@
 	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 \
@@ -706,6 +727,12 @@
 avx-1$(EXEEXT): $(avx_1_OBJECTS) $(avx_1_DEPENDENCIES) 
 	@rm -f avx-1$(EXEEXT)
 	$(LINK) $(avx_1_OBJECTS) $(avx_1_LDADD) $(LIBS)
+avx2-1$(EXEEXT): $(avx2_1_OBJECTS) $(avx2_1_DEPENDENCIES) 
+	@rm -f avx2-1$(EXEEXT)
+	$(LINK) $(avx2_1_OBJECTS) $(avx2_1_LDADD) $(LIBS)
+bmi$(EXEEXT): $(bmi_OBJECTS) $(bmi_DEPENDENCIES) 
+	@rm -f bmi$(EXEEXT)
+	$(LINK) $(bmi_OBJECTS) $(bmi_LDADD) $(LIBS)
 bug127521-64$(EXEEXT): $(bug127521_64_OBJECTS) $(bug127521_64_DEPENDENCIES) 
 	@rm -f bug127521-64$(EXEEXT)
 	$(LINK) $(bug127521_64_OBJECTS) $(bug127521_64_LDADD) $(LIBS)
@@ -736,6 +763,9 @@
 fcmovnu$(EXEEXT): $(fcmovnu_OBJECTS) $(fcmovnu_DEPENDENCIES) 
 	@rm -f fcmovnu$(EXEEXT)
 	$(LINK) $(fcmovnu_OBJECTS) $(fcmovnu_LDADD) $(LIBS)
+fma$(EXEEXT): $(fma_OBJECTS) $(fma_DEPENDENCIES) 
+	@rm -f fma$(EXEEXT)
+	$(LINK) $(fma_OBJECTS) $(fma_LDADD) $(LIBS)
 fxtract$(EXEEXT): $(fxtract_OBJECTS) $(fxtract_DEPENDENCIES) 
 	@rm -f fxtract$(EXEEXT)
 	$(fxtract_LINK) $(fxtract_OBJECTS) $(fxtract_LDADD) $(LIBS)
@@ -835,6 +865,8 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amd64locked-amd64locked.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asorep.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/avx-1.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/avx2-1.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bmi.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bug127521-64.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bug132813-amd64.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bug132918.Po@am__quote@
@@ -845,6 +877,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/crc32.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faultstatus.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcmovnu.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fma.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fxtract-fxtract.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/insn_basic.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/insn_fpu.Po@am__quote@
diff -ruN '--exclude=*.orig' '--exclude=autom4te.cache' valgrind-3.8.0.orig/VEX/priv/guest_amd64_defs.h valgrind-3.8.0.new/VEX/priv/guest_amd64_defs.h
--- valgrind-3.8.0.orig/VEX/priv/guest_amd64_defs.h	2012-09-12 17:37:34.509929812 +0200
+++ valgrind-3.8.0.new/VEX/priv/guest_amd64_defs.h	2012-09-12 19:54:35.382027367 +0200
@@ -151,6 +151,9 @@
                                    ULong dHi, ULong dLo,
                                    ULong imm_and_return_control_bit );
 
+extern ULong amd64g_calculate_pext  ( ULong, ULong );
+extern ULong amd64g_calculate_pdep  ( ULong, ULong );
+
 /* --- DIRTY HELPERS --- */
 
 extern ULong amd64g_dirtyhelper_loadF80le  ( ULong/*addr*/ );
@@ -504,6 +507,18 @@
     AMD64G_CC_OP_SMULL,   /* 51 */
     AMD64G_CC_OP_SMULQ,   /* 52 */
 
+    AMD64G_CC_OP_ANDN32,  /* 53 */
+    AMD64G_CC_OP_ANDN64,  /* 54 DEP1 = res, DEP2 = 0, NDEP = unused */
+
+    AMD64G_CC_OP_BLSI32,  /* 55 */
+    AMD64G_CC_OP_BLSI64,  /* 56 DEP1 = res, DEP2 = arg, NDEP = unused */
+
+    AMD64G_CC_OP_BLSMSK32,/* 57 */
+    AMD64G_CC_OP_BLSMSK64,/* 58 DEP1 = res, DEP2 = arg, NDEP = unused */
+
+    AMD64G_CC_OP_BLSR32,  /* 59 */
+    AMD64G_CC_OP_BLSR64,  /* 60 DEP1 = res, DEP2 = arg, NDEP = unused */
+
     AMD64G_CC_OP_NUMBER
 };
 
diff -ruN '--exclude=*.orig' '--exclude=autom4te.cache' valgrind-3.8.0.orig/VEX/priv/guest_amd64_helpers.c valgrind-3.8.0.new/VEX/priv/guest_amd64_helpers.c
--- valgrind-3.8.0.orig/VEX/priv/guest_amd64_helpers.c	2012-09-12 17:37:34.513929872 +0200
+++ valgrind-3.8.0.new/VEX/priv/guest_amd64_helpers.c	2012-09-12 19:54:35.389027473 +0200
@@ -491,6 +491,72 @@
    }								\
 }
 
+/*-------------------------------------------------------------*/
+
+#define ACTIONS_ANDN(DATA_BITS,DATA_UTYPE)			\
+{								\
+   PREAMBLE(DATA_BITS);						\
+   { Long cf, pf, af, zf, sf, of;				\
+     cf = 0;							\
+     pf = 0;							\
+     af = 0;							\
+     zf = ((DATA_UTYPE)CC_DEP1 == 0) << 6;			\
+     sf = lshift(CC_DEP1, 8 - DATA_BITS) & 0x80;		\
+     of = 0;							\
+     return cf | pf | af | zf | sf | of;			\
+   }								\
+}
+
+/*-------------------------------------------------------------*/
+
+#define ACTIONS_BLSI(DATA_BITS,DATA_UTYPE)			\
+{								\
+   PREAMBLE(DATA_BITS);						\
+   { Long cf, pf, af, zf, sf, of;				\
+     cf = ((DATA_UTYPE)CC_DEP2 != 0);				\
+     pf = 0;							\
+     af = 0;							\
+     zf = ((DATA_UTYPE)CC_DEP1 == 0) << 6;			\
+     sf = lshift(CC_DEP1, 8 - DATA_BITS) & 0x80;		\
+     of = 0;							\
+     return cf | pf | af | zf | sf | of;			\
+   }								\
+}
+
+/*-------------------------------------------------------------*/
+
+#define ACTIONS_BLSMSK(DATA_BITS,DATA_UTYPE)			\
+{								\
+   PREAMBLE(DATA_BITS);						\
+   { Long cf, pf, af, zf, sf, of;				\
+     cf = ((DATA_UTYPE)CC_DEP2 == 0);				\
+     pf = 0;							\
+     af = 0;							\
+     zf = 0;							\
+     sf = lshift(CC_DEP1, 8 - DATA_BITS) & 0x80;		\
+     of = 0;							\
+     return cf | pf | af | zf | sf | of;			\
+   }								\
+}
+
+/*-------------------------------------------------------------*/
+
+#define ACTIONS_BLSR(DATA_BITS,DATA_UTYPE)			\
+{								\
+   PREAMBLE(DATA_BITS);						\
+   { Long cf, pf, af, zf, sf, of;				\
+     cf = ((DATA_UTYPE)CC_DEP2 == 0);				\
+     pf = 0;							\
+     af = 0;							\
+     zf = ((DATA_UTYPE)CC_DEP1 == 0) << 6;			\
+     sf = lshift(CC_DEP1, 8 - DATA_BITS) & 0x80;		\
+     of = 0;							\
+     return cf | pf | af | zf | sf | of;			\
+   }								\
+}
+
+/*-------------------------------------------------------------*/
+
 
 #if PROFILE_RFLAGS
 
@@ -654,6 +720,18 @@
 
       case AMD64G_CC_OP_SMULQ:  ACTIONS_SMULQ;
 
+      case AMD64G_CC_OP_ANDN32: ACTIONS_ANDN( 32, UInt   );
+      case AMD64G_CC_OP_ANDN64: ACTIONS_ANDN( 64, ULong  );
+
+      case AMD64G_CC_OP_BLSI32: ACTIONS_BLSI( 32, UInt   );
+      case AMD64G_CC_OP_BLSI64: ACTIONS_BLSI( 64, ULong  );
+
+      case AMD64G_CC_OP_BLSMSK32: ACTIONS_BLSMSK( 32, UInt   );
+      case AMD64G_CC_OP_BLSMSK64: ACTIONS_BLSMSK( 64, ULong  );
+
+      case AMD64G_CC_OP_BLSR32: ACTIONS_BLSR( 32, UInt   );
+      case AMD64G_CC_OP_BLSR64: ACTIONS_BLSR( 64, ULong  );
+
       default:
          /* shouldn't really make these calls from generated code */
          vex_printf("amd64g_calculate_rflags_all_WRK(AMD64)"
@@ -3142,6 +3220,36 @@
    return res;
 }
 
+/* CALLED FROM GENERATED CODE: CLEAN HELPER */
+ULong amd64g_calculate_pext ( ULong src_masked, ULong mask )
+{
+   ULong dst = 0;
+   ULong src_bit;
+   ULong dst_bit = 1;
+   for (src_bit = 1; src_bit; src_bit <<= 1) {
+      if (mask & src_bit) {
+         if (src_masked & src_bit) dst |= dst_bit;
+         dst_bit <<= 1;
+      }
+   }
+   return dst;
+}
+
+/* CALLED FROM GENERATED CODE: CLEAN HELPER */
+ULong amd64g_calculate_pdep ( ULong src, ULong mask )
+{
+   ULong dst = 0;
+   ULong dst_bit;
+   ULong src_bit = 1;
+   for (dst_bit = 1; dst_bit; dst_bit <<= 1) {
+      if (mask & dst_bit) {
+         if (src & src_bit) dst |= dst_bit;
+         src_bit <<= 1;
+      }
+   }
+   return dst;
+}
+
 /*---------------------------------------------------------------*/
 /*--- Helpers for SSE4.2 PCMP{E,I}STR{I,M}                    ---*/
 /*---------------------------------------------------------------*/
diff -ruN '--exclude=*.orig' '--exclude=autom4te.cache' valgrind-3.8.0.orig/VEX/priv/guest_amd64_toIR.c valgrind-3.8.0.new/VEX/priv/guest_amd64_toIR.c
--- valgrind-3.8.0.orig/VEX/priv/guest_amd64_toIR.c	2012-09-12 17:37:34.509929813 +0200
+++ valgrind-3.8.0.new/VEX/priv/guest_amd64_toIR.c	2012-09-13 10:32:46.687584061 +0200
@@ -1291,6 +1291,38 @@
 }
 
 
+static
+IRExpr* getIRegV ( Int sz, Prefix pfx )
+{
+   if (sz == 4) {
+      sz = 8;
+      return unop(Iop_64to32,
+                  IRExpr_Get( offsetIReg( sz, getVexNvvvv(pfx), False ),
+                              szToITy(sz) ));
+   } else {
+      return IRExpr_Get( offsetIReg( sz, getVexNvvvv(pfx), False ),
+                         szToITy(sz) );
+   }
+}
+
+static
+void putIRegV ( Int sz, Prefix pfx, IRExpr* e )
+{
+   vassert(typeOfIRExpr(irsb->tyenv,e) == szToITy(sz));
+   if (sz == 4) {
+      e = unop(Iop_32Uto64,e);
+   }
+   stmt( IRStmt_Put( offsetIReg( sz, getVexNvvvv(pfx), False ), e ) );
+}
+
+static
+HChar* nameIRegV ( Int sz, Prefix pfx )
+{
+   return nameIReg( sz, getVexNvvvv(pfx), False );
+}
+
+
+
 /* Produce the guest state offset for a reference to the 'e' register
    field in a modrm byte, taking into account REX (or its absence),
    and the size of the access.  eregOfRexRM will assert if mod_reg_rm
@@ -2674,6 +2706,88 @@
 }
 
 
+/* Similarly for VSIB addressing.  This returns just the addend,
+   and fills in *rI and *vscale with the register number of the vector
+   index and its multiplicand.  */
+static
+IRTemp disAVSIBMode ( /*OUT*/Int* len,
+                      VexAbiInfo* vbi, Prefix pfx, Long delta,
+                      /*OUT*/HChar* buf, /*OUT*/UInt* rI,
+                      IRType ty, /*OUT*/Int* vscale )
+{
+   UChar mod_reg_rm = getUChar(delta);
+   HChar *vindex;
+
+   *len = 0;
+   *rI = 0;
+   *vscale = 0;
+   buf[0] = (UChar)0;
+   if ((mod_reg_rm & 7) != 4 || epartIsReg(mod_reg_rm))
+      return IRTemp_INVALID;
+
+   UChar sib     = getUChar(delta+1);
+   UChar scale   = toUChar((sib >> 6) & 3);
+   UChar index_r = toUChar((sib >> 3) & 7);
+   UChar base_r  = toUChar(sib & 7);
+   Long  d       = 0;
+   /* correct since #(R13) == 8 + #(RBP) */
+   Bool  base_is_BPor13 = toBool(base_r == R_RBP);
+   delta += 2;
+   *len = 2;
+
+   *rI = index_r | (getRexX(pfx) << 3);
+   if (ty == Ity_V128)
+      vindex = nameXMMReg(*rI);
+   else
+      vindex = nameYMMReg(*rI);
+   *vscale = 1<<scale;
+
+   switch (mod_reg_rm >> 6) {
+   case 0:
+      if (base_is_BPor13) {
+         d = getSDisp32(delta);
+         *len += 4;
+         if (scale == 0) {
+            DIS(buf, "%s%lld(,%s)", segRegTxt(pfx), d, vindex);
+         } else {
+            DIS(buf, "%s%lld(,%s,%d)", segRegTxt(pfx), d, vindex, 1<<scale);
+         }
+         return disAMode_copy2tmp( mkU64(d) );
+      } else {
+         if (scale == 0) {
+            DIS(buf, "%s(%s,%s)", segRegTxt(pfx),
+                     nameIRegRexB(8,pfx,base_r), vindex);
+         } else {
+            DIS(buf, "%s(%s,%s,%d)", segRegTxt(pfx),
+                     nameIRegRexB(8,pfx,base_r), vindex, 1<<scale);
+         }
+      }
+      break;
+   case 1:
+      d = getSDisp8(delta);
+      *len += 1;
+      goto have_disp;
+   case 2:
+      d = getSDisp32(delta);
+      *len += 4;
+   have_disp:
+      if (scale == 0) {
+         DIS(buf, "%s%lld(%s,%s)", segRegTxt(pfx), d,
+                  nameIRegRexB(8,pfx,base_r), vindex);
+      } else {
+         DIS(buf, "%s%lld(%s,%s,%d)", segRegTxt(pfx), d,
+                  nameIRegRexB(8,pfx,base_r), vindex, 1<<scale);
+      }
+      break;
+   }
+
+   if (!d)
+      return disAMode_copy2tmp( getIRegRexB(8,pfx,base_r) );
+   return disAMode_copy2tmp( binop(Iop_Add64, getIRegRexB(8,pfx,base_r),
+                                   mkU64(d)) );
+}
+
+
 /* Figure out the number of (insn-stream) bytes constituting the amode
    beginning at delta.  Is useful for getting hold of literals beyond
    the end of the amode before it has been disassembled.  */
@@ -4667,6 +4781,35 @@
 }
 
 
+/* Generate an IR sequence to do a count-trailing-zeroes operation on
+   the supplied IRTemp, and return a new IRTemp holding the result.
+   'ty' may be Ity_I16, Ity_I32 or Ity_I64 only.  In the case where
+   the argument is zero, return the number of bits in the word (the
+   natural semantics). */
+static IRTemp gen_TZCNT ( IRType ty, IRTemp src )
+{
+   vassert(ty == Ity_I64 || ty == Ity_I32 || ty == Ity_I16);
+
+   IRTemp src64 = newTemp(Ity_I64);
+   assign(src64, widenUto64( mkexpr(src) ));
+
+   // Ctz64 has undefined semantics when its input is zero, so
+   // special-case around that.
+   IRTemp res64 = newTemp(Ity_I64);
+   assign(res64,
+          IRExpr_Mux0X(
+             unop(Iop_1Uto8,
+                  binop(Iop_CmpEQ64, mkexpr(src64), mkU64(0))),
+             unop(Iop_Ctz64, mkexpr(src64)),
+             mkU64(8 * sizeofIRType(ty))
+   ));
+
+   IRTemp res = newTemp(ty);
+   assign(res, narrowTo(ty, mkexpr(res64)));
+   return res;
+}
+
+
 /*------------------------------------------------------------*/
 /*---                                                      ---*/
 /*--- x87 FLOATING POINT INSTRUCTIONS                      ---*/
@@ -9270,6 +9413,31 @@
    return math_PABS_XMM(aa, 1);
 }
 
+/* YMM version of math_PABS_XMM. */
+static IRTemp math_PABS_YMM ( IRTemp aa, Int laneszB )
+{
+   IRTemp res  = newTemp(Ity_V256);
+   IRTemp aaHi = IRTemp_INVALID;
+   IRTemp aaLo = IRTemp_INVALID;
+   breakupV256toV128s(aa, &aaHi, &aaLo);
+   assign(res, binop(Iop_V128HLtoV256,
+                     mkexpr(math_PABS_XMM(aaHi, laneszB)),
+                     mkexpr(math_PABS_XMM(aaLo, laneszB))));
+   return res;
+}
+
+static IRTemp math_PABS_YMM_pap4 ( IRTemp aa ) {
+   return math_PABS_YMM(aa, 4);
+}
+
+static IRTemp math_PABS_YMM_pap2 ( IRTemp aa ) {
+   return math_PABS_YMM(aa, 2);
+}
+
+static IRTemp math_PABS_YMM_pap1 ( IRTemp aa ) {
+   return math_PABS_YMM(aa, 1);
+}
+
 static IRExpr* dis_PALIGNR_XMM_helper ( IRTemp hi64,
                                         IRTemp lo64, Long byteShift )
 {
@@ -9637,6 +9805,47 @@
 }
 
 
+static Long dis_PSHUFD_32x8 ( VexAbiInfo* vbi, Prefix pfx, Long delta )
+{
+   Int    order;
+   Int    alen  = 0;
+   HChar  dis_buf[50];
+   IRTemp sV    = newTemp(Ity_V256);
+   UChar  modrm = getUChar(delta);
+   IRTemp addr  = IRTemp_INVALID;
+   UInt   rG    = gregOfRexRM(pfx,modrm);
+   if (epartIsReg(modrm)) {
+      UInt rE = eregOfRexRM(pfx,modrm);
+      assign( sV, getYMMReg(rE) );
+      order = (Int)getUChar(delta+1);
+      delta += 1+1;
+      DIP("vpshufd $%d,%s,%s\n", order, nameYMMReg(rE), nameYMMReg(rG));
+   } else {
+      addr = disAMode ( &alen, vbi, pfx, delta, dis_buf,
+                        1/*byte after the amode*/ );
+      assign( sV, loadLE(Ity_V256, mkexpr(addr)) );
+      order = (Int)getUChar(delta+alen);
+      delta += alen+1;
+      DIP("vpshufd $%d,%s,%s\n", order,  dis_buf, nameYMMReg(rG));
+   }
+
+   IRTemp s[8];
+   s[7] = s[6] = s[5] = s[4] = s[3] = s[2] = s[1] = s[0] = IRTemp_INVALID;
+   breakupV256to32s( sV, &s[7], &s[6], &s[5], &s[4],
+                         &s[3], &s[2], &s[1], &s[0] );
+
+   putYMMReg( rG, mkV256from32s( s[4 + ((order>>6)&3)],
+                                 s[4 + ((order>>4)&3)],
+                                 s[4 + ((order>>2)&3)],
+                                 s[4 + ((order>>0)&3)],
+                                 s[0 + ((order>>6)&3)],
+                                 s[0 + ((order>>4)&3)],
+                                 s[0 + ((order>>2)&3)],
+                                 s[0 + ((order>>0)&3)] ) );
+   return delta;
+}
+
+
 static IRTemp math_PSRLDQ ( IRTemp sV, Int imm )
 {
    IRTemp dV    = newTemp(Ity_V128);
@@ -10289,6 +10498,41 @@
 }
 
 
+static Long dis_PMOVMSKB_256 ( VexAbiInfo* vbi, Prefix pfx,
+                               Long delta  )
+{
+   /* UInt x86g_calculate_sse_pmovmskb ( ULong w64hi, ULong w64lo ); */
+   UChar modrm = getUChar(delta);
+   vassert(epartIsReg(modrm)); /* ensured by caller */
+   UInt   rE = eregOfRexRM(pfx,modrm);
+   UInt   rG = gregOfRexRM(pfx,modrm);
+   IRTemp t0 = newTemp(Ity_I64);
+   IRTemp t1 = newTemp(Ity_I64);
+   IRTemp t2 = newTemp(Ity_I64);
+   IRTemp t3 = newTemp(Ity_I64);
+   IRTemp t5 = newTemp(Ity_I64);
+   IRTemp t6 = newTemp(Ity_I64);
+   assign(t0, getYMMRegLane64(rE, 0));
+   assign(t1, getYMMRegLane64(rE, 1));
+   assign(t2, getYMMRegLane64(rE, 2));
+   assign(t3, getYMMRegLane64(rE, 3));
+   assign(t5, mkIRExprCCall( Ity_I64, 0/*regparms*/,
+                             "amd64g_calculate_sse_pmovmskb",
+                             &amd64g_calculate_sse_pmovmskb,
+                             mkIRExprVec_2( mkexpr(t1), mkexpr(t0) )));
+   assign(t6, mkIRExprCCall( Ity_I64, 0/*regparms*/,
+                             "amd64g_calculate_sse_pmovmskb",
+                             &amd64g_calculate_sse_pmovmskb,
+                             mkIRExprVec_2( mkexpr(t3), mkexpr(t2) )));
+   putIReg32(rG, binop(Iop_Or32, unop(Iop_64to32,mkexpr(t5)),
+                       binop(Iop_Shl32,
+                             unop(Iop_64to32,mkexpr(t6)), mkU8(16))));
+   DIP("vpmovmskb %s,%s\n", nameYMMReg(rE), nameIReg32(rG));
+   delta += 1;
+   return delta;
+}
+
+
 /* FIXME: why not just use InterleaveLO / InterleaveHI?  I think the
    relevant ops are "xIsH ? InterleaveHI32x4 : InterleaveLO32x4". */
 /* Does the maths for 128 bit versions of UNPCKLPS and UNPCKHPS */
@@ -10551,6 +10795,22 @@
 }
 
 
+static IRTemp math_PMULUDQ_256 ( IRTemp sV, IRTemp dV )
+{
+   /* This is a really poor translation -- could be improved if
+      performance critical */
+   IRTemp sHi, sLo, dHi, dLo;
+   sHi = sLo = dHi = dLo = IRTemp_INVALID;
+   breakupV256toV128s( dV, &dHi, &dLo);
+   breakupV256toV128s( sV, &sHi, &sLo);
+   IRTemp res = newTemp(Ity_V256);
+   assign(res, binop(Iop_V128HLtoV256,
+                     mkexpr(math_PMULUDQ_128(sHi, dHi)),
+                     mkexpr(math_PMULUDQ_128(sLo, dLo))));
+   return res;
+}
+
+
 static IRTemp math_PMULDQ_128 ( IRTemp dV, IRTemp sV )
 {
    /* This is a really poor translation -- could be improved if
@@ -10567,6 +10827,22 @@
 }
 
 
+static IRTemp math_PMULDQ_256 ( IRTemp sV, IRTemp dV )
+{
+   /* This is a really poor translation -- could be improved if
+      performance critical */
+   IRTemp sHi, sLo, dHi, dLo;
+   sHi = sLo = dHi = dLo = IRTemp_INVALID;
+   breakupV256toV128s( dV, &dHi, &dLo);
+   breakupV256toV128s( sV, &sHi, &sLo);
+   IRTemp res = newTemp(Ity_V256);
+   assign(res, binop(Iop_V128HLtoV256,
+                     mkexpr(math_PMULDQ_128(sHi, dHi)),
+                     mkexpr(math_PMULDQ_128(sLo, dLo))));
+   return res;
+}
+
+
 static IRTemp math_PMADDWD_128 ( IRTemp dV, IRTemp sV )
 {
    IRTemp sVhi, sVlo, dVhi, dVlo;
@@ -10589,6 +10865,20 @@
 }
 
 
+static IRTemp math_PMADDWD_256 ( IRTemp dV, IRTemp sV )
+{
+   IRTemp sHi, sLo, dHi, dLo;
+   sHi = sLo = dHi = dLo = IRTemp_INVALID;
+   breakupV256toV128s( dV, &dHi, &dLo);
+   breakupV256toV128s( sV, &sHi, &sLo);
+   IRTemp res = newTemp(Ity_V256);
+   assign(res, binop(Iop_V128HLtoV256,
+                     mkexpr(math_PMADDWD_128(dHi, sHi)),
+                     mkexpr(math_PMADDWD_128(dLo, sLo))));
+   return res;
+}
+
+
 static IRTemp math_ADDSUBPD_128 ( IRTemp dV, IRTemp sV )
 {
    IRTemp addV = newTemp(Ity_V128);
@@ -10722,6 +11012,54 @@
 }
 
 
+/* Handle 256 bit PSHUFLW and PSHUFHW. */
+static Long dis_PSHUFxW_256 ( VexAbiInfo* vbi, Prefix pfx,
+                              Long delta, Bool xIsH )
+{
+   IRTemp addr  = IRTemp_INVALID;
+   Int    alen  = 0;
+   HChar  dis_buf[50];
+   UChar  modrm = getUChar(delta);
+   UInt   rG = gregOfRexRM(pfx,modrm);
+   UInt   imm8;
+   IRTemp sV, s[8], sV64[4], dVhi, dVlo;
+   sV64[3] = sV64[2] = sV64[1] = sV64[0] = IRTemp_INVALID;
+   s[7] = s[6] = s[5] = s[4] = s[3] = s[2] = s[1] = s[0] = IRTemp_INVALID;
+   sV    = newTemp(Ity_V256);
+   dVhi  = newTemp(Ity_I64);
+   dVlo  = newTemp(Ity_I64);
+   if (epartIsReg(modrm)) {
+      UInt rE = eregOfRexRM(pfx,modrm);
+      assign( sV, getYMMReg(rE) );
+      imm8 = (UInt)getUChar(delta+1);
+      delta += 1+1;
+      DIP("vpshuf%cw $%u,%s,%s\n", xIsH ? 'h' : 'l',
+          imm8, nameYMMReg(rE), nameYMMReg(rG));
+   } else {
+      addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 1 );
+      assign( sV, loadLE(Ity_V256, mkexpr(addr)) );
+      imm8 = (UInt)getUChar(delta+alen);
+      delta += alen+1;
+      DIP("vpshuf%cw $%u,%s,%s\n", xIsH ? 'h' : 'l',
+          imm8, dis_buf, nameYMMReg(rG));
+   }
+
+   breakupV256to64s( sV, &sV64[3], &sV64[2], &sV64[1], &sV64[0] );
+   breakup64to16s( sV64[xIsH ? 3 : 2], &s[7], &s[6], &s[5], &s[4] );
+   breakup64to16s( sV64[xIsH ? 1 : 0], &s[3], &s[2], &s[1], &s[0] );
+
+   assign( dVhi, mk64from16s( s[4 + ((imm8>>6)&3)], s[4 + ((imm8>>4)&3)],
+                              s[4 + ((imm8>>2)&3)], s[4 + ((imm8>>0)&3)] ) );
+   assign( dVlo, mk64from16s( s[0 + ((imm8>>6)&3)], s[0 + ((imm8>>4)&3)],
+                              s[0 + ((imm8>>2)&3)], s[0 + ((imm8>>0)&3)] ) );
+   putYMMReg( rG, mkV256from64s( xIsH ? dVhi : sV64[3],
+                                 xIsH ? sV64[2] : dVhi,
+                                 xIsH ? dVlo : sV64[1],
+                                 xIsH ? sV64[0] : dVlo ) );
+   return delta;
+}
+
+
 static Long dis_PEXTRW_128_EregOnly_toG ( VexAbiInfo* vbi, Prefix pfx,
                                           Long delta, Bool isAvx )
 {
@@ -10932,6 +11270,20 @@
 }
 
 
+static IRTemp math_PSADBW_256 ( IRTemp dV, IRTemp sV )
+{
+   IRTemp sHi, sLo, dHi, dLo;
+   sHi = sLo = dHi = dLo = IRTemp_INVALID;
+   breakupV256toV128s( dV, &dHi, &dLo);
+   breakupV256toV128s( sV, &sHi, &sLo);
+   IRTemp res = newTemp(Ity_V256);
+   assign(res, binop(Iop_V128HLtoV256,
+                     mkexpr(math_PSADBW_128(dHi, sHi)),
+                     mkexpr(math_PSADBW_128(dLo, sLo))));
+   return res;
+}
+
+
 static Long dis_MASKMOVDQU ( VexAbiInfo* vbi, Prefix pfx,
                              Long delta, Bool isAvx )
 {
@@ -14460,6 +14812,21 @@
 }
 
 
+static
+IRTemp math_PSHUFB_YMM ( IRTemp dV/*data to perm*/, IRTemp sV/*perm*/ )
+{
+   IRTemp sHi, sLo, dHi, dLo;
+   sHi = sLo = dHi = dLo = IRTemp_INVALID;
+   breakupV256toV128s( dV, &dHi, &dLo);
+   breakupV256toV128s( sV, &sHi, &sLo);
+   IRTemp res = newTemp(Ity_V256);
+   assign(res, binop(Iop_V128HLtoV256,
+                     mkexpr(math_PSHUFB_XMM(dHi, sHi)),
+                     mkexpr(math_PSHUFB_XMM(dLo, sLo))));
+   return res;
+}
+
+
 static Long dis_PHADD_128 ( VexAbiInfo* vbi, Prefix pfx, Long delta,
                             Bool isAvx, UChar opc )
 {
@@ -14499,14 +14866,16 @@
    if (epartIsReg(modrm)) {
       UInt rE = eregOfRexRM(pfx,modrm);
       assign( sV, getXMMReg(rE) );
-      DIP("ph%s %s,%s\n", str, nameXMMReg(rE), nameXMMReg(rG));
+      DIP("%sph%s %s,%s\n", isAvx ? "v" : "", str,
+          nameXMMReg(rE), nameXMMReg(rG));
       delta += 1;
    } else {
       addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 0 );
       if (!isAvx)
          gen_SEGV_if_not_16_aligned( addr );
       assign( sV, loadLE(Ity_V128, mkexpr(addr)) );
-      DIP("ph%s %s,%s\n", str, dis_buf, nameXMMReg(rG));
+      DIP("%sph%s %s,%s\n", isAvx ? "v" : "", str,
+          dis_buf, nameXMMReg(rG));
       delta += alen;
    }
 
@@ -14532,6 +14901,78 @@
 }
 
 
+static Long dis_PHADD_256 ( VexAbiInfo* vbi, Prefix pfx, Long delta, UChar opc )
+{
+   IRTemp addr   = IRTemp_INVALID;
+   Int    alen   = 0;
+   HChar  dis_buf[50];
+   HChar* str    = "???";
+   IROp   opV64  = Iop_INVALID;
+   IROp   opCatO = Iop_CatOddLanes16x4;
+   IROp   opCatE = Iop_CatEvenLanes16x4;
+   IRTemp sV     = newTemp(Ity_V256);
+   IRTemp dV     = newTemp(Ity_V256);
+   IRTemp s3, s2, s1, s0, d3, d2, d1, d0;
+   s3 = s2 = s1 = s0 = d3 = d2 = d1 = d0 = IRTemp_INVALID;
+   UChar  modrm  = getUChar(delta);
+   UInt   rG     = gregOfRexRM(pfx,modrm);
+   UInt   rV     = getVexNvvvv(pfx);
+
+   switch (opc) {
+      case 0x01: opV64 = Iop_Add16x4;   str = "addw";  break;
+      case 0x02: opV64 = Iop_Add32x2;   str = "addd";  break;
+      case 0x03: opV64 = Iop_QAdd16Sx4; str = "addsw"; break;
+      case 0x05: opV64 = Iop_Sub16x4;   str = "subw";  break;
+      case 0x06: opV64 = Iop_Sub32x2;   str = "subd";  break;
+      case 0x07: opV64 = Iop_QSub16Sx4; str = "subsw"; break;
+      default: vassert(0);
+   }
+   if (opc == 0x02 || opc == 0x06) {
+      opCatO = Iop_InterleaveHI32x2;
+      opCatE = Iop_InterleaveLO32x2;
+   }
+
+   assign( dV, getYMMReg(rV) );
+
+   if (epartIsReg(modrm)) {
+      UInt rE = eregOfRexRM(pfx,modrm);
+      assign( sV, getYMMReg(rE) );
+      DIP("vph%s %s,%s\n", str, nameYMMReg(rE), nameYMMReg(rG));
+      delta += 1;
+   } else {
+      addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 0 );
+      assign( sV, loadLE(Ity_V256, mkexpr(addr)) );
+      DIP("vph%s %s,%s\n", str, dis_buf, nameYMMReg(rG));
+      delta += alen;
+   }
+
+   breakupV256to64s( dV, &d3, &d2, &d1, &d0 );
+   breakupV256to64s( sV, &s3, &s2, &s1, &s0 );
+
+   /* This isn't a particularly efficient way to compute the
+      result, but at least it avoids a proliferation of IROps,
+      hence avoids complication all the backends. */
+
+   putYMMReg( rG,
+              binop(Iop_V128HLtoV256,
+                    binop(Iop_64HLtoV128,
+                          binop(opV64,
+                                binop(opCatE,mkexpr(s3),mkexpr(s2)),
+                                binop(opCatO,mkexpr(s3),mkexpr(s2)) ),
+                          binop(opV64,
+                                binop(opCatE,mkexpr(d3),mkexpr(d2)),
+                                binop(opCatO,mkexpr(d3),mkexpr(d2)) ) ),
+                    binop(Iop_64HLtoV128,
+                          binop(opV64,
+                                binop(opCatE,mkexpr(s1),mkexpr(s0)),
+                                binop(opCatO,mkexpr(s1),mkexpr(s0)) ),
+                          binop(opV64,
+                                binop(opCatE,mkexpr(d1),mkexpr(d0)),
+                                binop(opCatO,mkexpr(d1),mkexpr(d0)) ) ) ) );
+   return delta;
+}
+
+
 static IRTemp math_PMADDUBSW_128 ( IRTemp dV, IRTemp sV )
 {
    IRTemp sVoddsSX  = newTemp(Ity_V128);
@@ -14558,6 +14999,21 @@
 }
 
 
+static
+IRTemp math_PMADDUBSW_256 ( IRTemp dV, IRTemp sV )
+{
+   IRTemp sHi, sLo, dHi, dLo;
+   sHi = sLo = dHi = dLo = IRTemp_INVALID;
+   breakupV256toV128s( dV, &dHi, &dLo);
+   breakupV256toV128s( sV, &sHi, &sLo);
+   IRTemp res = newTemp(Ity_V256);
+   assign(res, binop(Iop_V128HLtoV256,
+                     mkexpr(math_PMADDUBSW_128(dHi, sHi)),
+                     mkexpr(math_PMADDUBSW_128(dLo, sLo))));
+   return res;
+}
+
+
 __attribute__((noinline))
 static
 Long dis_ESC_0F38__SupSSE3 ( Bool* decode_OK,
@@ -15266,32 +15722,31 @@
       }
       break;
 
-   case 0xBD:
-      /* F3 0F BD -- LZCNT (count leading zeroes.  An AMD extension,
-         which we can only decode if we're sure this is an AMD cpu
-         that supports LZCNT, since otherwise it's BSR, which behaves
-         differently.  Bizarrely, my Sandy Bridge also accepts these
-         instructions but produces different results. */
+   case 0xBC:
+      /* F3 0F BC -- TZCNT (count trailing zeroes.  A BMI extension,
+         which we can only decode if we're sure this is a BMI1 capable cpu
+         that supports TZCNT, since otherwise it's BSF, which behaves
+         differently on zero source.  */
       if (haveF3noF2(pfx) /* so both 66 and 48 are possibilities */
-          && (sz == 2 || sz == 4 || sz == 8) 
-          && 0 != (archinfo->hwcaps & VEX_HWCAPS_AMD64_LZCNT)) {
+          && (sz == 2 || sz == 4 || sz == 8)
+          && 0 != (archinfo->hwcaps & VEX_HWCAPS_AMD64_BMI)) {
          /*IRType*/ ty  = szToITy(sz);
          IRTemp     src = newTemp(ty);
          modrm = getUChar(delta);
          if (epartIsReg(modrm)) {
             assign(src, getIRegE(sz, pfx, modrm));
             delta += 1;
-            DIP("lzcnt%c %s, %s\n", nameISize(sz), nameIRegE(sz, pfx, modrm),
+            DIP("tzcnt%c %s, %s\n", nameISize(sz), nameIRegE(sz, pfx, modrm),
                 nameIRegG(sz, pfx, modrm));
          } else {
             addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 0);
             assign(src, loadLE(ty, mkexpr(addr)));
             delta += alen;
-            DIP("lzcnt%c %s, %s\n", nameISize(sz), dis_buf,
+            DIP("tzcnt%c %s, %s\n", nameISize(sz), dis_buf,
                 nameIRegG(sz, pfx, modrm));
          }
 
-         IRTemp res = gen_LZCNT(ty, src);
+         IRTemp res = gen_TZCNT(ty, src);
          putIRegG(sz, pfx, modrm, mkexpr(res));
 
          // Update flags.  This is pretty lame .. perhaps can do better
@@ -15327,7 +15782,68 @@
       }
       break;
 
-   default:
+   case 0xBD:
+      /* F3 0F BD -- LZCNT (count leading zeroes.  An AMD extension,
+         which we can only decode if we're sure this is an AMD cpu
+         that supports LZCNT, since otherwise it's BSR, which behaves
+         differently.  Bizarrely, my Sandy Bridge also accepts these
+         instructions but produces different results. */
+      if (haveF3noF2(pfx) /* so both 66 and 48 are possibilities */
+          && (sz == 2 || sz == 4 || sz == 8) 
+          && 0 != (archinfo->hwcaps & VEX_HWCAPS_AMD64_LZCNT)) {
+         /*IRType*/ ty  = szToITy(sz);
+         IRTemp     src = newTemp(ty);
+         modrm = getUChar(delta);
+         if (epartIsReg(modrm)) {
+            assign(src, getIRegE(sz, pfx, modrm));
+            delta += 1;
+            DIP("lzcnt%c %s, %s\n", nameISize(sz), nameIRegE(sz, pfx, modrm),
+                nameIRegG(sz, pfx, modrm));
+         } else {
+            addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 0);
+            assign(src, loadLE(ty, mkexpr(addr)));
+            delta += alen;
+            DIP("lzcnt%c %s, %s\n", nameISize(sz), dis_buf,
+                nameIRegG(sz, pfx, modrm));
+         }
+
+         IRTemp res = gen_LZCNT(ty, src);
+         putIRegG(sz, pfx, modrm, mkexpr(res));
+
+         // Update flags.  This is pretty lame .. perhaps can do better
+         // if this turns out to be performance critical.
+         // O S A P are cleared.  Z is set if RESULT == 0.
+         // C is set if SRC is zero.
+         IRTemp src64 = newTemp(Ity_I64);
+         IRTemp res64 = newTemp(Ity_I64);
+         assign(src64, widenUto64(mkexpr(src)));
+         assign(res64, widenUto64(mkexpr(res)));
+
+         IRTemp oszacp = newTemp(Ity_I64);
+         assign(
+            oszacp,
+            binop(Iop_Or64,
+                  binop(Iop_Shl64,
+                        unop(Iop_1Uto64,
+                             binop(Iop_CmpEQ64, mkexpr(res64), mkU64(0))),
+                        mkU8(AMD64G_CC_SHIFT_Z)),
+                  binop(Iop_Shl64,
+                        unop(Iop_1Uto64,
+                             binop(Iop_CmpEQ64, mkexpr(src64), mkU64(0))),
+                        mkU8(AMD64G_CC_SHIFT_C))
+            )
+         );
+
+         stmt( IRStmt_Put( OFFB_CC_OP,   mkU64(AMD64G_CC_OP_COPY) ));
+         stmt( IRStmt_Put( OFFB_CC_DEP2, mkU64(0) ));
+         stmt( IRStmt_Put( OFFB_CC_NDEP, mkU64(0) ));
+         stmt( IRStmt_Put( OFFB_CC_DEP1, mkexpr(oszacp) ));
+
+         goto decode_success;
+      }
+      break;
+
+   default:
       break;
 
    }
@@ -15731,6 +16247,47 @@
 }
 
 
+/* Handles 256 bit versions of PMOVZXBW and PMOVSXBW. */
+static Long dis_PMOVxXBW_256 ( VexAbiInfo* vbi, Prefix pfx,
+                               Long delta, Bool xIsZ )
+{
+   IRTemp addr   = IRTemp_INVALID;
+   Int    alen   = 0;
+   HChar  dis_buf[50];
+   IRTemp srcVec = newTemp(Ity_V128);
+   UChar  modrm  = getUChar(delta);
+   UChar  how    = xIsZ ? 'z' : 's';
+   UInt   rG     = gregOfRexRM(pfx, modrm);
+   if ( epartIsReg(modrm) ) {
+      UInt rE = eregOfRexRM(pfx, modrm);
+      assign( srcVec, getXMMReg(rE) );
+      delta += 1;
+      DIP( "vpmov%cxbw %s,%s\n", how, nameXMMReg(rE), nameYMMReg(rG) );
+   } else {
+      addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 0 );
+      assign( srcVec, loadLE( Ity_V128, mkexpr(addr) ) );
+      delta += alen;
+      DIP( "vpmov%cxbw %s,%s\n", how, dis_buf, nameYMMReg(rG) );
+   }
+
+   /* First do zero extend.  */
+   IRExpr* res
+      = binop( Iop_V128HLtoV256,
+               binop( Iop_InterleaveHI8x16,
+                      IRExpr_Const( IRConst_V128(0) ), mkexpr(srcVec) ),
+               binop( Iop_InterleaveLO8x16,
+                      IRExpr_Const( IRConst_V128(0) ), mkexpr(srcVec) ) );
+   /* And if needed sign extension as well.  */
+   if (!xIsZ)
+      res = binop( Iop_SarN16x16,
+                   binop( Iop_ShlN16x16, res, mkU8(8) ), mkU8(8) );
+
+   putYMMReg ( rG, res );
+
+   return delta;
+}
+
+
 static Long dis_PMOVxXWD_128 ( VexAbiInfo* vbi, Prefix pfx,
                                Long delta, Bool isAvx, Bool xIsZ )
 {
@@ -15770,6 +16327,45 @@
 }
 
 
+static Long dis_PMOVxXWD_256 ( VexAbiInfo* vbi, Prefix pfx,
+                               Long delta, Bool xIsZ )
+{
+   IRTemp addr   = IRTemp_INVALID;
+   Int    alen   = 0;
+   HChar  dis_buf[50];
+   IRTemp srcVec = newTemp(Ity_V128);
+   UChar  modrm  = getUChar(delta);
+   UChar  how    = xIsZ ? 'z' : 's';
+   UInt   rG     = gregOfRexRM(pfx, modrm);
+
+   if ( epartIsReg(modrm) ) {
+      UInt rE = eregOfRexRM(pfx, modrm);
+      assign( srcVec, getXMMReg(rE) );
+      delta += 1;
+      DIP( "vpmov%cxwd %s,%s\n", how, nameXMMReg(rE), nameYMMReg(rG) );
+   } else {
+      addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 0 );
+      assign( srcVec, loadLE( Ity_V128, mkexpr(addr) ) );
+      delta += alen;
+      DIP( "vpmov%cxwd %s,%s\n", how, dis_buf, nameYMMReg(rG) );
+   }
+
+   IRExpr* res
+      = binop( Iop_V128HLtoV256,
+               binop( Iop_InterleaveHI16x8,
+                      IRExpr_Const( IRConst_V128(0) ), mkexpr(srcVec) ),
+               binop( Iop_InterleaveLO16x8,
+                      IRExpr_Const( IRConst_V128(0) ), mkexpr(srcVec) ) );
+   if (!xIsZ)
+      res = binop(Iop_SarN32x8,
+                  binop(Iop_ShlN32x8, res, mkU8(16)), mkU8(16));
+
+   putYMMReg ( rG, res );
+
+   return delta;
+}
+
+
 static Long dis_PMOVSXWQ_128 ( VexAbiInfo* vbi, Prefix pfx,
                                Long delta, Bool isAvx )
 {
@@ -15803,6 +16399,41 @@
 }
 
 
+static Long dis_PMOVSXWQ_256 ( VexAbiInfo* vbi, Prefix pfx, Long delta )
+{
+   IRTemp addr     = IRTemp_INVALID;
+   Int    alen     = 0;
+   HChar  dis_buf[50];
+   IRTemp srcBytes = newTemp(Ity_I64);
+   UChar  modrm    = getUChar(delta);
+   UInt   rG       = gregOfRexRM(pfx, modrm);
+   IRTemp s3, s2, s1, s0;
+   s3 = s2 = s1 = s0 = IRTemp_INVALID;
+
+   if ( epartIsReg( modrm ) ) {
+      UInt rE = eregOfRexRM(pfx, modrm);
+      assign( srcBytes, getXMMRegLane64( rE, 0 ) );
+      delta += 1;
+      DIP( "vpmovsxwq %s,%s\n", nameXMMReg(rE), nameYMMReg(rG) );
+   } else {
+      addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 0 );
+      assign( srcBytes, loadLE( Ity_I64, mkexpr(addr) ) );
+      delta += alen;
+      DIP( "vpmovsxwq %s,%s\n", dis_buf, nameYMMReg(rG) );
+   }
+
+   breakup64to16s( srcBytes, &s3, &s2, &s1, &s0 );
+   putYMMReg( rG, binop( Iop_V128HLtoV256,
+                         binop( Iop_64HLtoV128,
+                                unop( Iop_16Sto64, mkexpr(s3) ),
+                                unop( Iop_16Sto64, mkexpr(s2) ) ),
+                         binop( Iop_64HLtoV128,
+                                unop( Iop_16Sto64, mkexpr(s1) ),
+                                unop( Iop_16Sto64, mkexpr(s0) ) ) ) );
+   return delta;
+}
+
+
 static Long dis_PMOVZXWQ_128 ( VexAbiInfo* vbi, Prefix pfx,
                                Long delta, Bool isAvx )
 {
@@ -15839,6 +16470,45 @@
 }
 
 
+static Long dis_PMOVZXWQ_256 ( VexAbiInfo* vbi, Prefix pfx,
+                               Long delta )
+{
+   IRTemp addr     = IRTemp_INVALID;
+   Int    alen     = 0;
+   HChar  dis_buf[50];
+   IRTemp srcVec = newTemp(Ity_V128);
+   UChar  modrm    = getUChar(delta);
+   UInt   rG       = gregOfRexRM(pfx, modrm);
+
+   if ( epartIsReg( modrm ) ) {
+      UInt rE = eregOfRexRM(pfx, modrm);
+      assign( srcVec, getXMMReg(rE) );
+      delta += 1;
+      DIP( "vpmovzxwq %s,%s\n", nameXMMReg(rE), nameYMMReg(rG) );
+   } else {
+      addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 0 );
+      assign( srcVec,
+              unop( Iop_64UtoV128, loadLE( Ity_I64, mkexpr(addr) ) ) );
+      delta += alen;
+      DIP( "vpmovzxwq %s,%s\n", dis_buf, nameYMMReg(rG) );
+   }
+
+   IRTemp zeroVec = newTemp( Ity_V128 );
+   assign( zeroVec, IRExpr_Const( IRConst_V128(0) ) );
+
+   putYMMReg( rG, binop( Iop_V128HLtoV256,
+                         binop( Iop_InterleaveHI16x8,
+                                mkexpr(zeroVec),
+                                binop( Iop_InterleaveLO16x8,
+                                       mkexpr(zeroVec), mkexpr(srcVec) ) ),
+                         binop( Iop_InterleaveLO16x8,
+                                mkexpr(zeroVec),
+                                binop( Iop_InterleaveLO16x8,
+                                       mkexpr(zeroVec), mkexpr(srcVec) ) ) ) );
+   return delta;
+}
+
+
 /* Handles 128 bit versions of PMOVZXDQ and PMOVSXDQ. */
 static Long dis_PMOVxXDQ_128 ( VexAbiInfo* vbi, Prefix pfx,
                                Long delta, Bool isAvx, Bool xIsZ )
@@ -15886,6 +16556,59 @@
 }
 
 
+/* Handles 256 bit versions of PMOVZXDQ and PMOVSXDQ. */
+static Long dis_PMOVxXDQ_256 ( VexAbiInfo* vbi, Prefix pfx,
+                               Long delta, Bool xIsZ )
+{
+   IRTemp addr   = IRTemp_INVALID;
+   Int    alen   = 0;
+   HChar  dis_buf[50];
+   IRTemp srcVec = newTemp(Ity_V128);
+   UChar  modrm  = getUChar(delta);
+   UChar  how    = xIsZ ? 'z' : 's';
+   UInt   rG     = gregOfRexRM(pfx, modrm);
+   /* Compute both srcI64 -- the value to expand -- and srcVec -- same
+      thing in a V128, with arbitrary junk in the top 64 bits.  Use
+      one or both of them and let iropt clean up afterwards (as
+      usual). */
+   if ( epartIsReg(modrm) ) {
+      UInt rE = eregOfRexRM(pfx, modrm);
+      assign( srcVec, getXMMReg(rE) );
+      delta += 1;
+      DIP( "vpmov%cxdq %s,%s\n", how, nameXMMReg(rE), nameYMMReg(rG) );
+   } else {
+      addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 0 );
+      assign( srcVec, loadLE(Ity_V128, mkexpr(addr)) );
+      delta += alen;
+      DIP( "vpmov%cxdq %s,%s\n", how, dis_buf, nameYMMReg(rG) );
+   }
+
+   IRExpr* res;
+   if (xIsZ)
+      res = binop( Iop_V128HLtoV256,
+                   binop( Iop_InterleaveHI32x4,
+                          IRExpr_Const( IRConst_V128(0) ), mkexpr(srcVec) ),
+                   binop( Iop_InterleaveLO32x4,
+                          IRExpr_Const( IRConst_V128(0) ), mkexpr(srcVec) ) );
+   else {
+      IRTemp s3, s2, s1, s0;
+      s3 = s2 = s1 = s0 = IRTemp_INVALID;
+      breakupV128to32s( srcVec, &s3, &s2, &s1, &s0 );
+      res = binop( Iop_V128HLtoV256,
+                   binop( Iop_64HLtoV128,
+                          unop( Iop_32Sto64, mkexpr(s3) ),
+                          unop( Iop_32Sto64, mkexpr(s2) ) ),
+                   binop( Iop_64HLtoV128,
+                          unop( Iop_32Sto64, mkexpr(s1) ),
+                          unop( Iop_32Sto64, mkexpr(s0) ) ) );
+   }
+
+   putYMMReg ( rG, res );
+
+   return delta;
+}
+
+
 /* Handles 128 bit versions of PMOVZXBD and PMOVSXBD. */
 static Long dis_PMOVxXBD_128 ( VexAbiInfo* vbi, Prefix pfx,
                                Long delta, Bool isAvx, Bool xIsZ )
@@ -15929,6 +16652,53 @@
 }
 
 
+/* Handles 256 bit versions of PMOVZXBD and PMOVSXBD. */
+static Long dis_PMOVxXBD_256 ( VexAbiInfo* vbi, Prefix pfx,
+                               Long delta, Bool xIsZ )
+{
+   IRTemp addr   = IRTemp_INVALID;
+   Int    alen   = 0;
+   HChar  dis_buf[50];
+   IRTemp srcVec = newTemp(Ity_V128);
+   UChar  modrm  = getUChar(delta);
+   UChar  how    = xIsZ ? 'z' : 's';
+   UInt   rG     = gregOfRexRM(pfx, modrm);
+   if ( epartIsReg(modrm) ) {
+      UInt rE = eregOfRexRM(pfx, modrm);
+      assign( srcVec, getXMMReg(rE) );
+      delta += 1;
+      DIP( "vpmov%cxbd %s,%s\n", how, nameXMMReg(rE), nameYMMReg(rG) );
+   } else {
+      addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 0 );
+      assign( srcVec,
+              unop( Iop_64UtoV128, loadLE( Ity_I64, mkexpr(addr) ) ) );
+      delta += alen;
+      DIP( "vpmov%cxbd %s,%s\n", how, dis_buf, nameYMMReg(rG) );
+   }
+
+   IRTemp zeroVec = newTemp(Ity_V128);
+   assign( zeroVec, IRExpr_Const( IRConst_V128(0) ) );
+
+   IRExpr* res
+      = binop( Iop_V128HLtoV256,
+               binop(Iop_InterleaveHI8x16,
+                     mkexpr(zeroVec),
+                     binop(Iop_InterleaveLO8x16,
+                           mkexpr(zeroVec), mkexpr(srcVec)) ),
+               binop(Iop_InterleaveLO8x16,
+                     mkexpr(zeroVec),
+                     binop(Iop_InterleaveLO8x16,
+                           mkexpr(zeroVec), mkexpr(srcVec)) ) );
+   if (!xIsZ)
+      res = binop(Iop_SarN32x8,
+                  binop(Iop_ShlN32x8, res, mkU8(24)), mkU8(24));
+
+   putYMMReg ( rG, res );
+
+   return delta;
+}
+
+
 /* Handles 128 bit versions of PMOVSXBQ. */
 static Long dis_PMOVSXBQ_128 ( VexAbiInfo* vbi, Prefix pfx,
                                Long delta, Bool isAvx )
@@ -15962,6 +16732,52 @@
 }
 
 
+/* Handles 256 bit versions of PMOVSXBQ. */
+static Long dis_PMOVSXBQ_256 ( VexAbiInfo* vbi, Prefix pfx,
+                               Long delta )
+{
+   IRTemp addr     = IRTemp_INVALID;
+   Int    alen     = 0;
+   HChar  dis_buf[50];
+   IRTemp srcBytes = newTemp(Ity_I32);
+   UChar  modrm    = getUChar(delta);
+   UInt   rG       = gregOfRexRM(pfx, modrm);
+   if ( epartIsReg(modrm) ) {
+      UInt rE = eregOfRexRM(pfx, modrm);
+      assign( srcBytes, getXMMRegLane32( rE, 0 ) );
+      delta += 1;
+      DIP( "vpmovsxbq %s,%s\n", nameXMMReg(rE), nameYMMReg(rG) );
+   } else {
+      addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 0 );
+      assign( srcBytes, loadLE( Ity_I32, mkexpr(addr) ) );
+      delta += alen;
+      DIP( "vpmovsxbq %s,%s\n", dis_buf, nameYMMReg(rG) );
+   }
+
+   putYMMReg
+      ( rG, binop( Iop_V128HLtoV256,
+                   binop( Iop_64HLtoV128,
+                          unop( Iop_8Sto64,
+                                unop( Iop_16HIto8,
+                                      unop( Iop_32HIto16,
+                                            mkexpr(srcBytes) ) ) ),
+                          unop( Iop_8Sto64,
+                                unop( Iop_16to8,
+                                      unop( Iop_32HIto16,
+                                            mkexpr(srcBytes) ) ) ) ),
+                   binop( Iop_64HLtoV128,
+                          unop( Iop_8Sto64,
+                                unop( Iop_16HIto8,
+                                      unop( Iop_32to16,
+                                            mkexpr(srcBytes) ) ) ),
+                          unop( Iop_8Sto64,
+                                unop( Iop_16to8,
+                                      unop( Iop_32to16,
+                                            mkexpr(srcBytes) ) ) ) ) ) );
+   return delta;
+}
+
+
 /* Handles 128 bit versions of PMOVZXBQ. */
 static Long dis_PMOVZXBQ_128 ( VexAbiInfo* vbi, Prefix pfx,
                                Long delta, Bool isAvx )
@@ -16001,21 +16817,66 @@
 }
 
 
-static Long dis_PHMINPOSUW_128 ( VexAbiInfo* vbi, Prefix pfx,
-                                 Long delta, Bool isAvx )
+/* Handles 256 bit versions of PMOVZXBQ. */
+static Long dis_PMOVZXBQ_256 ( VexAbiInfo* vbi, Prefix pfx,
+                               Long delta )
 {
-   IRTemp addr   = IRTemp_INVALID;
-   Int    alen   = 0;
+   IRTemp addr     = IRTemp_INVALID;
+   Int    alen     = 0;
    HChar  dis_buf[50];
-   UChar  modrm  = getUChar(delta);
-   UChar* mbV    = isAvx ? "v" : "";
-   IRTemp sV     = newTemp(Ity_V128);
-   IRTemp sHi    = newTemp(Ity_I64);
-   IRTemp sLo    = newTemp(Ity_I64);
-   IRTemp dLo    = newTemp(Ity_I64);
-   UInt   rG     = gregOfRexRM(pfx,modrm);
-   if (epartIsReg(modrm)) {
-      UInt rE = eregOfRexRM(pfx,modrm);
+   IRTemp srcVec   = newTemp(Ity_V128);
+   UChar  modrm    = getUChar(delta);
+   UInt   rG       = gregOfRexRM(pfx, modrm);
+   if ( epartIsReg(modrm) ) {
+      UInt rE = eregOfRexRM(pfx, modrm);
+      assign( srcVec, getXMMReg(rE) );
+      delta += 1;
+      DIP( "vpmovzxbq %s,%s\n", nameXMMReg(rE), nameYMMReg(rG) );
+   } else {
+      addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 0 );
+      assign( srcVec,
+              unop( Iop_32UtoV128, loadLE( Ity_I32, mkexpr(addr) )));
+      delta += alen;
+      DIP( "vpmovzxbq %s,%s\n", dis_buf, nameYMMReg(rG) );
+   }
+
+   IRTemp zeroVec = newTemp(Ity_V128);
+   assign( zeroVec, IRExpr_Const( IRConst_V128(0) ) );
+
+   putYMMReg
+      ( rG, binop( Iop_V128HLtoV256,
+                   binop( Iop_InterleaveHI8x16,
+                          mkexpr(zeroVec),
+                          binop( Iop_InterleaveLO8x16,
+                                 mkexpr(zeroVec),
+                                 binop( Iop_InterleaveLO8x16,
+                                        mkexpr(zeroVec), mkexpr(srcVec) ) ) ),
+                   binop( Iop_InterleaveLO8x16,
+                          mkexpr(zeroVec),
+                          binop( Iop_InterleaveLO8x16,
+                                 mkexpr(zeroVec),
+                                 binop( Iop_InterleaveLO8x16,
+                                        mkexpr(zeroVec), mkexpr(srcVec) ) ) )
+                 ) );
+   return delta;
+}
+
+
+static Long dis_PHMINPOSUW_128 ( VexAbiInfo* vbi, Prefix pfx,
+                                 Long delta, Bool isAvx )
+{
+   IRTemp addr   = IRTemp_INVALID;
+   Int    alen   = 0;
+   HChar  dis_buf[50];
+   UChar  modrm  = getUChar(delta);
+   UChar* mbV    = isAvx ? "v" : "";
+   IRTemp sV     = newTemp(Ity_V128);
+   IRTemp sHi    = newTemp(Ity_I64);
+   IRTemp sLo    = newTemp(Ity_I64);
+   IRTemp dLo    = newTemp(Ity_I64);
+   UInt   rG     = gregOfRexRM(pfx,modrm);
+   if (epartIsReg(modrm)) {
+      UInt rE = eregOfRexRM(pfx,modrm);
       assign( sV, getXMMReg(rE) );
       delta += 1;
       DIP("%sphminposuw %s,%s\n", mbV, nameXMMReg(rE), nameXMMReg(rG));
@@ -20062,9 +20923,17 @@
       return delta;
 
    case 0xBC: /* BSF Gv,Ev */
-      if (haveF2(pfx)) goto decode_failure;
-      delta = dis_bs_E_G ( vbi, pfx, sz, delta, True );
-      return delta;
+      if (!haveF2orF3(pfx)
+          || (haveF3noF2(pfx)
+              && 0 == (archinfo->hwcaps & VEX_HWCAPS_AMD64_BMI))) {
+         /* no-F2 no-F3 0F BC = BSF
+                  or F3 0F BC = REP; BSF on older CPUs.  */
+         delta = dis_bs_E_G ( vbi, pfx, sz, delta, True );
+         return delta;
+      }
+      /* Fall through, since F3 0F BC is TZCNT, and needs to
+         be handled by dis_ESC_0F__SSE4. */
+      break;
 
    case 0xBD: /* BSR Gv,Ev */
       if (!haveF2orF3(pfx)
@@ -20711,6 +21580,194 @@
 }
 
 
+/* Vector by scalar shift of V by the amount specified at the bottom
+   of E. */
+static ULong dis_AVX256_shiftV_byE ( VexAbiInfo* vbi,
+                                     Prefix pfx, Long delta, 
+                                     HChar* opname, IROp op )
+{
+   HChar   dis_buf[50];
+   Int     alen, size;
+   IRTemp  addr;
+   Bool    shl, shr, sar;
+   UChar   modrm = getUChar(delta);
+   UInt    rG    = gregOfRexRM(pfx,modrm);
+   UInt    rV    = getVexNvvvv(pfx);;
+   IRTemp  g0    = newTemp(Ity_V256);
+   IRTemp  g1    = newTemp(Ity_V256);
+   IRTemp  amt   = newTemp(Ity_I64);
+   IRTemp  amt8  = newTemp(Ity_I8);
+   if (epartIsReg(modrm)) {
+      UInt rE = eregOfRexRM(pfx,modrm);
+      assign( amt, getXMMRegLane64(rE, 0) );
+      DIP("%s %s,%s,%s\n", opname, nameXMMReg(rE),
+          nameYMMReg(rV), nameYMMReg(rG) );
+      delta++;
+   } else {
+      addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 0 );
+      assign( amt, loadLE(Ity_I64, mkexpr(addr)) );
+      DIP("%s %s,%s,%s\n", opname, dis_buf, nameYMMReg(rV), nameYMMReg(rG) );
+      delta += alen;
+   }
+   assign( g0, getYMMReg(rV) );
+   assign( amt8, unop(Iop_64to8, mkexpr(amt)) );
+
+   shl = shr = sar = False;
+   size = 0;
+   switch (op) {
+      case Iop_ShlN16x16: shl = True; size = 32; break;
+      case Iop_ShlN32x8:  shl = True; size = 32; break;
+      case Iop_ShlN64x4:  shl = True; size = 64; break;
+      case Iop_SarN16x16: sar = True; size = 16; break;
+      case Iop_SarN32x8:  sar = True; size = 32; break;
+      case Iop_ShrN16x16: shr = True; size = 16; break;
+      case Iop_ShrN32x8:  shr = True; size = 32; break;
+      case Iop_ShrN64x4:  shr = True; size = 64; break;
+      default: vassert(0);
+   }
+
+   if (shl || shr) {
+     assign( 
+        g1,
+        IRExpr_Mux0X(
+           unop(Iop_1Uto8,
+                binop(Iop_CmpLT64U, mkexpr(amt), mkU64(size))),
+           binop(Iop_V128HLtoV256, mkV128(0), mkV128(0)),
+           binop(op, mkexpr(g0), mkexpr(amt8))
+        )
+     );
+   } else 
+   if (sar) {
+     assign( 
+        g1,
+        IRExpr_Mux0X(
+           unop(Iop_1Uto8,
+                binop(Iop_CmpLT64U, mkexpr(amt), mkU64(size))),
+           binop(op, mkexpr(g0), mkU8(size-1)),
+           binop(op, mkexpr(g0), mkexpr(amt8))
+        )
+     );
+   } else {
+      vassert(0);
+   }
+
+   putYMMReg( rG, mkexpr(g1) );
+   return delta;
+}
+
+
+/* Vector by vector shift of V by the amount specified at the bottom
+   of E.  Vector by vector shifts are defined for all shift amounts,
+   so not using Iop_S*x* here (and SSE2 doesn't support variable shifts
+   anyway).  */
+static ULong dis_AVX_var_shiftV_byE ( VexAbiInfo* vbi,
+                                      Prefix pfx, Long delta,
+                                      HChar* opname, IROp op, Bool isYMM )
+{
+   HChar   dis_buf[50];
+   Int     alen, size, i;
+   IRTemp  addr;
+   UChar   modrm = getUChar(delta);
+   UInt    rG    = gregOfRexRM(pfx,modrm);
+   UInt    rV    = getVexNvvvv(pfx);;
+   IRTemp  sV    = isYMM ? newTemp(Ity_V256) : newTemp(Ity_V128);
+   IRTemp  amt   = isYMM ? newTemp(Ity_V256) : newTemp(Ity_V128);
+   IRTemp  amts[8], sVs[8], res[8];
+   if (epartIsReg(modrm)) {
+      UInt rE = eregOfRexRM(pfx,modrm);
+      assign( amt, isYMM ? getYMMReg(rE) : getXMMReg(rE) );
+      if (isYMM) {
+         DIP("%s %s,%s,%s\n", opname, nameYMMReg(rE),
+             nameYMMReg(rV), nameYMMReg(rG) );
+      } else {
+         DIP("%s %s,%s,%s\n", opname, nameXMMReg(rE),
+             nameXMMReg(rV), nameXMMReg(rG) );
+      }
+      delta++;
+   } else {
+      addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 0 );
+      assign( amt, loadLE(isYMM ? Ity_V256 : Ity_V128, mkexpr(addr)) );
+      if (isYMM) {
+         DIP("%s %s,%s,%s\n", opname, dis_buf, nameYMMReg(rV),
+             nameYMMReg(rG) );
+      } else {
+         DIP("%s %s,%s,%s\n", opname, dis_buf, nameXMMReg(rV),
+             nameXMMReg(rG) );
+      }
+      delta += alen;
+   }
+   assign( sV, isYMM ? getYMMReg(rV) : getXMMReg(rV) );
+
+   size = 0;
+   switch (op) {
+      case Iop_Shl32: size = 32; break;
+      case Iop_Shl64: size = 64; break;
+      case Iop_Sar32: size = 32; break;
+      case Iop_Shr32: size = 32; break;
+      case Iop_Shr64: size = 64; break;
+      default: vassert(0);
+   }
+
+   for (i = 0; i < 8; i++) {
+      sVs[i] = IRTemp_INVALID;
+      amts[i] = IRTemp_INVALID;
+   }
+   switch (size) {
+      case 32:
+         if (isYMM) {
+            breakupV256to32s( sV, &sVs[7], &sVs[6], &sVs[5], &sVs[4],
+                                  &sVs[3], &sVs[2], &sVs[1], &sVs[0] );
+            breakupV256to32s( amt, &amts[7], &amts[6], &amts[5], &amts[4],
+                                   &amts[3], &amts[2], &amts[1], &amts[0] );
+         } else {
+            breakupV128to32s( sV, &sVs[3], &sVs[2], &sVs[1], &sVs[0] );
+            breakupV128to32s( amt, &amts[3], &amts[2], &amts[1], &amts[0] );
+        }
+         break;
+      case 64:
+         if (isYMM) {
+            breakupV256to64s( sV, &sVs[3], &sVs[2], &sVs[1], &sVs[0] );
+            breakupV256to64s( amt, &amts[3], &amts[2], &amts[1], &amts[0] );
+         } else {
+            breakupV128to64s( sV, &sVs[1], &sVs[0] );
+            breakupV128to64s( amt, &amts[1], &amts[0] );
+         }
+         break;
+      default: vassert(0);
+   }
+   for (i = 0; i < 8; i++)
+      if (sVs[i] != IRTemp_INVALID) {
+         res[i] = size == 32 ? newTemp(Ity_I32) : newTemp(Ity_I64);
+         assign( res[i],
+                 IRExpr_Mux0X(
+                    unop(Iop_1Uto8,
+                         binop(size == 32 ? Iop_CmpLT32U : Iop_CmpLT64U,
+                               mkexpr(amts[i]),
+                               size == 32 ? mkU32(size) : mkU64(size))),
+                    op == Iop_Sar32 ? binop(op, mkexpr(sVs[i]), mkU8(size-1))
+                                    : size == 32 ? mkU32(0) : mkU64(0),
+                    binop(op, mkexpr(sVs[i]),
+                          unop(size == 32 ? Iop_32to8 : Iop_64to8,
+                               mkexpr(amts[i]))) ) );
+      }
+   switch (size) {
+      case 32:
+         for (i = 0; i < 8; i++)
+            putYMMRegLane32( rG, i, (i < 4 || isYMM)
+                                    ? mkexpr(res[i]) : mkU32(0) );
+         break;
+      case 64:
+         for (i = 0; i < 4; i++)
+            putYMMRegLane64( rG, i, (i < 2 || isYMM)
+                                    ? mkexpr(res[i]) : mkU64(0) );
+         break;
+      default: vassert(0);
+   }
+
+   return delta;
+}
+
+
 /* Vector by scalar shift of E into V, by an immediate byte.  Modified
    version of dis_SSE_shiftE_imm. */
 static
@@ -20768,6 +21825,64 @@
 }
 
 
+/* Vector by scalar shift of E into V, by an immediate byte.  Modified
+   version of dis_AVX128_shiftE_to_V_imm. */
+static
+Long dis_AVX256_shiftE_to_V_imm( Prefix pfx, 
+                                 Long delta, HChar* opname, IROp op )
+{
+   Bool    shl, shr, sar;
+   UChar   rm   = getUChar(delta);
+   IRTemp  e0   = newTemp(Ity_V256);
+   IRTemp  e1   = newTemp(Ity_V256);
+   UInt    rD   = getVexNvvvv(pfx);
+   UChar   amt, size;
+   vassert(epartIsReg(rm));
+   vassert(gregLO3ofRM(rm) == 2 
+           || gregLO3ofRM(rm) == 4 || gregLO3ofRM(rm) == 6);
+   amt = getUChar(delta+1);
+   delta += 2;
+   DIP("%s $%d,%s,%s\n", opname,
+                         (Int)amt,
+                         nameYMMReg(eregOfRexRM(pfx,rm)),
+                         nameYMMReg(rD));
+   assign( e0, getYMMReg(eregOfRexRM(pfx,rm)) );
+
+   shl = shr = sar = False;
+   size = 0;
+   switch (op) {
+      case Iop_ShlN16x16: shl = True; size = 16; break;
+      case Iop_ShlN32x8:  shl = True; size = 32; break;
+      case Iop_ShlN64x4:  shl = True; size = 64; break;
+      case Iop_SarN16x16: sar = True; size = 16; break;
+      case Iop_SarN32x8:  sar = True; size = 32; break;
+      case Iop_ShrN16x16: shr = True; size = 16; break;
+      case Iop_ShrN32x8:  shr = True; size = 32; break;
+      case Iop_ShrN64x4:  shr = True; size = 64; break;
+      default: vassert(0);
+   }
+
+
+   if (shl || shr) {
+     assign( e1, amt >= size 
+                    ? binop(Iop_V128HLtoV256, mkV128(0), mkV128(0))
+                    : binop(op, mkexpr(e0), mkU8(amt))
+     );
+   } else 
+   if (sar) {
+     assign( e1, amt >= size 
+                    ? binop(op, mkexpr(e0), mkU8(size-1))
+                    : binop(op, mkexpr(e0), mkU8(amt))
+     );
+   } else {
+      vassert(0);
+   }
+
+   putYMMReg( rD, mkexpr(e1) );
+   return delta;
+}
+
+
 /* Lower 64-bit lane only AVX128 binary operation:
    G[63:0]    = V[63:0] `op` E[63:0]
    G[127:64]  = V[127:64]
@@ -21281,6 +22396,21 @@
 }
 
 
+/* Handle a VEX_NDS_256_66_0F_WIG (3-addr) insn, with a simple IROp
+   for the operation, no inversion of the left arg, and no swapping of
+   args. */
+static
+Long dis_VEX_NDS_256_AnySimdPfx_0F_WIG_simple (
+        /*OUT*/Bool* uses_vvvv, VexAbiInfo* vbi,
+        Prefix pfx, Long delta, HChar* name,
+        IROp op
+     )
+{
+   return dis_VEX_NDS_256_AnySimdPfx_0F_WIG(
+             uses_vvvv, vbi, pfx, delta, name, op, NULL, False, False);
+}
+
+
 /* Handle a VEX_NDS_256_66_0F_WIG (3-addr) insn, using the given IR
    generator to compute the result, no inversion of the left
    arg, and no swapping of args. */
@@ -21299,6 +22429,39 @@
 
 /* Handles AVX256 unary E-to-G all-lanes operations. */
 static
+Long dis_AVX256_E_to_G_unary ( /*OUT*/Bool* uses_vvvv,
+                               VexAbiInfo* vbi,
+                               Prefix pfx, Long delta,
+                               HChar* opname,
+                               IRTemp (*opFn)(IRTemp) )
+{
+   HChar  dis_buf[50];
+   Int    alen;
+   IRTemp addr;
+   IRTemp res  = newTemp(Ity_V256);
+   IRTemp arg  = newTemp(Ity_V256);
+   UChar  rm   = getUChar(delta);
+   UInt   rG   = gregOfRexRM(pfx, rm);
+   if (epartIsReg(rm)) {
+      UInt rE = eregOfRexRM(pfx,rm);
+      assign(arg, getYMMReg(rE));
+      delta += 1;
+      DIP("%s %s,%s\n", opname, nameYMMReg(rE), nameYMMReg(rG));
+   } else {
+      addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 0 );
+      assign(arg, loadLE(Ity_V256, mkexpr(addr)));
+      delta += alen;
+      DIP("%s %s,%s\n", opname, dis_buf, nameYMMReg(rG));
+   }
+   res = opFn(arg);
+   putYMMReg( rG, mkexpr(res) );
+   *uses_vvvv = False;
+   return delta;
+}
+
+
+/* Handles AVX256 unary E-to-G all-lanes operations. */
+static
 Long dis_AVX256_E_to_G_unary_all ( /*OUT*/Bool* uses_vvvv,
                                    VexAbiInfo* vbi,
                                    Prefix pfx, Long delta, 
@@ -21403,33 +22566,119 @@
 }
 
 
-__attribute__((noinline))
-static
-Long dis_ESC_0F__VEX (
-        /*MB_OUT*/DisResult* dres,
-        /*OUT*/   Bool*      uses_vvvv,
-        Bool         (*resteerOkFn) ( /*opaque*/void*, Addr64 ),
-        Bool         resteerCisOk,
-        void*        callback_opaque,
-        VexArchInfo* archinfo,
-        VexAbiInfo*  vbi,
-        Prefix pfx, Int sz, Long deltaIN 
-     )
+static IRTemp math_VPUNPCK_YMM ( IRTemp tL, IRType tR, IROp op )
 {
-   IRTemp addr  = IRTemp_INVALID;
-   Int    alen  = 0;
-   HChar  dis_buf[50];
-   Long   delta = deltaIN;
-   UChar  opc   = getUChar(delta);
-   delta++;
-   *uses_vvvv = False;
+   IRTemp tLhi, tLlo, tRhi, tRlo;
+   tLhi = tLlo = tRhi = tRlo = IRTemp_INVALID;
+   IRTemp res = newTemp(Ity_V256);
+   breakupV256toV128s( tL, &tLhi, &tLlo );
+   breakupV256toV128s( tR, &tRhi, &tRlo );
+   assign( res, binop( Iop_V128HLtoV256,
+                       binop( op, mkexpr(tRhi), mkexpr(tLhi) ),
+                       binop( op, mkexpr(tRlo), mkexpr(tLlo) ) ) );
+   return res;
+}
 
-   switch (opc) {
 
-   case 0x10:
-      /* VMOVSD m64, xmm1 = VEX.LIG.F2.0F.WIG 10 /r */
-      /* Move 64 bits from E (mem only) to G (lo half xmm).
-         Bits 255-64 of the dest are zeroed out. */
+static IRTemp math_VPUNPCKLBW_YMM ( IRTemp tL, IRTemp tR )
+{
+   return math_VPUNPCK_YMM( tL, tR, Iop_InterleaveLO8x16 );
+}
+
+
+static IRTemp math_VPUNPCKLWD_YMM ( IRTemp tL, IRTemp tR )
+{
+   return math_VPUNPCK_YMM( tL, tR, Iop_InterleaveLO16x8 );
+}
+
+
+static IRTemp math_VPUNPCKLDQ_YMM ( IRTemp tL, IRTemp tR )
+{
+   return math_VPUNPCK_YMM( tL, tR, Iop_InterleaveLO32x4 );
+}
+
+
+static IRTemp math_VPUNPCKLQDQ_YMM ( IRTemp tL, IRTemp tR )
+{
+   return math_VPUNPCK_YMM( tL, tR, Iop_InterleaveLO64x2 );
+}
+
+
+static IRTemp math_VPUNPCKHBW_YMM ( IRTemp tL, IRTemp tR )
+{
+   return math_VPUNPCK_YMM( tL, tR, Iop_InterleaveHI8x16 );
+}
+
+
+static IRTemp math_VPUNPCKHWD_YMM ( IRTemp tL, IRTemp tR )
+{
+   return math_VPUNPCK_YMM( tL, tR, Iop_InterleaveHI16x8 );
+}
+
+
+static IRTemp math_VPUNPCKHDQ_YMM ( IRTemp tL, IRTemp tR )
+{
+   return math_VPUNPCK_YMM( tL, tR, Iop_InterleaveHI32x4 );
+}
+
+
+static IRTemp math_VPUNPCKHQDQ_YMM ( IRTemp tL, IRTemp tR )
+{
+   return math_VPUNPCK_YMM( tL, tR, Iop_InterleaveHI64x2 );
+}
+
+
+static IRTemp math_VPACKSSWB_YMM ( IRTemp tL, IRTemp tR )
+{
+   return math_VPUNPCK_YMM( tL, tR, Iop_QNarrowBin16Sto8Sx16 );
+}
+
+
+static IRTemp math_VPACKUSWB_YMM ( IRTemp tL, IRTemp tR )
+{
+   return math_VPUNPCK_YMM( tL, tR, Iop_QNarrowBin16Sto8Ux16 );
+}
+
+
+static IRTemp math_VPACKSSDW_YMM ( IRTemp tL, IRTemp tR )
+{
+   return math_VPUNPCK_YMM( tL, tR, Iop_QNarrowBin32Sto16Sx8 );
+}
+
+
+static IRTemp math_VPACKUSDW_YMM ( IRTemp tL, IRTemp tR )
+{
+   return math_VPUNPCK_YMM( tL, tR, Iop_QNarrowBin32Sto16Ux8 );
+}
+
+
+__attribute__((noinline))
+static
+Long dis_ESC_0F__VEX (
+        /*MB_OUT*/DisResult* dres,
+        /*OUT*/   Bool*      uses_vvvv,
+        Bool         (*resteerOkFn) ( /*opaque*/void*, Addr64 ),
+        Bool         resteerCisOk,
+        void*        callback_opaque,
+        VexArchInfo* archinfo,
+        VexAbiInfo*  vbi,
+        Prefix pfx, Int sz, Long deltaIN 
+     )
+{
+   IRTemp addr  = IRTemp_INVALID;
+   Int    alen  = 0;
+   HChar  dis_buf[50];
+   Long   delta = deltaIN;
+   UChar  opc   = getUChar(delta);
+   delta++;
+   *uses_vvvv = False;
+
+   switch (opc) {
+
+   case 0x10:
+      /* VMOVSD m64, xmm1 = VEX.LIG.F2.0F.WIG 10 /r */
+      /* Move 64 bits from E (mem only) to G (lo half xmm).
+         Bits 255-64 of the dest are zeroed out. */
       if (haveF2no66noF3(pfx) && !epartIsReg(getUChar(delta))) {
          UChar modrm = getUChar(delta);
          addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 0 );
@@ -22926,6 +24175,14 @@
                     False/*!invertLeftArg*/, True/*swapArgs*/ );
          goto decode_success;
       }
+      /* VPUNPCKLBW r/m, rV, r ::: r = interleave-lo-bytes(rV, r/m) */
+      /* VPUNPCKLBW = VEX.NDS.256.66.0F.WIG 60 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_complex(
+                    uses_vvvv, vbi, pfx, delta, "vpunpcklbw",
+                    math_VPUNPCKLBW_YMM );
+         goto decode_success;
+      }
       break;
 
    case 0x61:
@@ -22938,6 +24195,14 @@
                     False/*!invertLeftArg*/, True/*swapArgs*/ );
          goto decode_success;
       }
+      /* VPUNPCKLWD r/m, rV, r ::: r = interleave-lo-words(rV, r/m) */
+      /* VPUNPCKLWD = VEX.NDS.256.66.0F.WIG 61 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_complex(
+                    uses_vvvv, vbi, pfx, delta, "vpunpcklwd",
+                    math_VPUNPCKLWD_YMM );
+         goto decode_success;
+      }
       break;
 
    case 0x62:
@@ -22950,6 +24215,14 @@
                     False/*!invertLeftArg*/, True/*swapArgs*/ );
          goto decode_success;
       }
+      /* VPUNPCKLDQ r/m, rV, r ::: r = interleave-lo-dwords(rV, r/m) */
+      /* VPUNPCKLDQ = VEX.NDS.256.66.0F.WIG 62 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_complex(
+                    uses_vvvv, vbi, pfx, delta, "vpunpckldq",
+                    math_VPUNPCKLDQ_YMM );
+         goto decode_success;
+      }
       break;
 
    case 0x63:
@@ -22962,6 +24235,14 @@
                     False/*!invertLeftArg*/, True/*swapArgs*/ );
          goto decode_success;
       }
+      /* VPACKSSWB r/m, rV, r ::: r = QNarrowBin16Sto8Sx16(rV, r/m) */
+      /* VPACKSSWB = VEX.NDS.256.66.0F.WIG 63 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_complex(
+                    uses_vvvv, vbi, pfx, delta, "vpacksswb",
+                    math_VPACKSSWB_YMM );
+         goto decode_success;
+      }
       break;
 
    case 0x64:
@@ -22972,6 +24253,13 @@
                     uses_vvvv, vbi, pfx, delta, "vpcmpgtb", Iop_CmpGT8Sx16 );
          goto decode_success;
       }
+      /* VPCMPGTB r/m, rV, r ::: r = rV `>s-by-8s` r/m */
+      /* VPCMPGTB = VEX.NDS.256.66.0F.WIG 64 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_simple(
+                    uses_vvvv, vbi, pfx, delta, "vpcmpgtb", Iop_CmpGT8Sx32 );
+         goto decode_success;
+      }
       break;
 
    case 0x65:
@@ -22982,6 +24270,13 @@
                     uses_vvvv, vbi, pfx, delta, "vpcmpgtw", Iop_CmpGT16Sx8 );
          goto decode_success;
       }
+      /* VPCMPGTW r/m, rV, r ::: r = rV `>s-by-16s` r/m */
+      /* VPCMPGTW = VEX.NDS.256.66.0F.WIG 65 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_simple(
+                    uses_vvvv, vbi, pfx, delta, "vpcmpgtw", Iop_CmpGT16Sx16 );
+         goto decode_success;
+      }
       break;
 
    case 0x66:
@@ -22992,6 +24287,13 @@
                     uses_vvvv, vbi, pfx, delta, "vpcmpgtd", Iop_CmpGT32Sx4 );
          goto decode_success;
       }
+      /* VPCMPGTD r/m, rV, r ::: r = rV `>s-by-32s` r/m */
+      /* VPCMPGTD = VEX.NDS.256.66.0F.WIG 66 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_simple(
+                    uses_vvvv, vbi, pfx, delta, "vpcmpgtd", Iop_CmpGT32Sx8 );
+         goto decode_success;
+      }
       break;
 
    case 0x67:
@@ -23004,6 +24306,14 @@
                     False/*!invertLeftArg*/, True/*swapArgs*/ );
          goto decode_success;
       }
+      /* VPACKUSWB r/m, rV, r ::: r = QNarrowBin16Sto8Ux16(rV, r/m) */
+      /* VPACKUSWB = VEX.NDS.256.66.0F.WIG 67 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_complex(
+                    uses_vvvv, vbi, pfx, delta, "vpackuswb",
+                    math_VPACKUSWB_YMM );
+         goto decode_success;
+      }
       break;
 
    case 0x68:
@@ -23016,6 +24326,14 @@
                     False/*!invertLeftArg*/, True/*swapArgs*/ );
          goto decode_success;
       }
+      /* VPUNPCKHBW r/m, rV, r ::: r = interleave-hi-bytes(rV, r/m) */
+      /* VPUNPCKHBW = VEX.NDS.256.0F.WIG 68 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_complex(
+                    uses_vvvv, vbi, pfx, delta, "vpunpckhbw",
+                    math_VPUNPCKHBW_YMM );
+         goto decode_success;
+      }
       break;
 
    case 0x69:
@@ -23028,6 +24346,14 @@
                     False/*!invertLeftArg*/, True/*swapArgs*/ );
          goto decode_success;
       }
+      /* VPUNPCKHWD r/m, rV, r ::: r = interleave-hi-words(rV, r/m) */
+      /* VPUNPCKHWD = VEX.NDS.256.0F.WIG 69 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_complex(
+                    uses_vvvv, vbi, pfx, delta, "vpunpckhwd",
+                    math_VPUNPCKHWD_YMM );
+         goto decode_success;
+      }
       break;
 
    case 0x6A:
@@ -23040,6 +24366,14 @@
                     False/*!invertLeftArg*/, True/*swapArgs*/ );
          goto decode_success;
       }
+      /* VPUNPCKHDQ r/m, rV, r ::: r = interleave-hi-dwords(rV, r/m) */
+      /* VPUNPCKHDQ = VEX.NDS.256.66.0F.WIG 6A /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_complex(
+                    uses_vvvv, vbi, pfx, delta, "vpunpckhdq",
+                    math_VPUNPCKHDQ_YMM );
+         goto decode_success;
+      }
       break;
 
    case 0x6B:
@@ -23052,6 +24386,14 @@
                     False/*!invertLeftArg*/, True/*swapArgs*/ );
          goto decode_success;
       }
+      /* VPACKSSDW r/m, rV, r ::: r = QNarrowBin32Sto16Sx8(rV, r/m) */
+      /* VPACKSSDW = VEX.NDS.256.66.0F.WIG 6B /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_complex(
+                    uses_vvvv, vbi, pfx, delta, "vpackssdw",
+                    math_VPACKSSDW_YMM );
+         goto decode_success;
+      }
       break;
 
    case 0x6C:
@@ -23064,6 +24406,14 @@
                     False/*!invertLeftArg*/, True/*swapArgs*/ );
          goto decode_success;
       }
+      /* VPUNPCKLQDQ r/m, rV, r ::: r = interleave-lo-64bitses(rV, r/m) */
+      /* VPUNPCKLQDQ = VEX.NDS.256.0F.WIG 6C /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_complex(
+                    uses_vvvv, vbi, pfx, delta, "vpunpcklqdq",
+                    math_VPUNPCKLQDQ_YMM );
+         goto decode_success;
+      }
       break;
 
    case 0x6D:
@@ -23076,6 +24426,14 @@
                     False/*!invertLeftArg*/, True/*swapArgs*/ );
          goto decode_success;
       }
+      /* VPUNPCKHQDQ r/m, rV, r ::: r = interleave-hi-64bitses(rV, r/m) */
+      /* VPUNPCKHQDQ = VEX.NDS.256.0F.WIG 6D /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_complex(
+                    uses_vvvv, vbi, pfx, delta, "vpunpckhqdq",
+                    math_VPUNPCKHQDQ_YMM );
+         goto decode_success;
+      }
       break;
 
    case 0x6E:
@@ -23190,18 +24548,33 @@
          delta = dis_PSHUFD_32x4( vbi, pfx, delta, True/*writesYmm*/);
          goto decode_success;
       }
+      /* VPSHUFD imm8, ymm2/m256, ymm1 = VEX.256.66.0F.WIG 70 /r ib */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_PSHUFD_32x8( vbi, pfx, delta);
+         goto decode_success;
+      }
       /* VPSHUFLW imm8, xmm2/m128, xmm1 = VEX.128.F2.0F.WIG 70 /r ib */
       if (haveF2no66noF3(pfx) && 0==getVexL(pfx)/*128*/) {
          delta = dis_PSHUFxW_128( vbi, pfx, delta,
                                   True/*isAvx*/, False/*!xIsH*/ );
          goto decode_success;
       }
+      /* VPSHUFLW imm8, ymm2/m256, ymm1 = VEX.256.F2.0F.WIG 70 /r ib */
+      if (haveF2no66noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_PSHUFxW_256( vbi, pfx, delta, False/*!xIsH*/ );
+         goto decode_success;
+      }
       /* VPSHUFHW imm8, xmm2/m128, xmm1 = VEX.128.F3.0F.WIG 70 /r ib */
       if (haveF3no66noF2(pfx) && 0==getVexL(pfx)/*128*/) {
          delta = dis_PSHUFxW_128( vbi, pfx, delta,
                                   True/*isAvx*/, True/*xIsH*/ );
          goto decode_success;
       }
+      /* VPSHUFHW imm8, ymm2/m256, ymm1 = VEX.256.F3.0F.WIG 70 /r ib */
+      if (haveF3no66noF2(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_PSHUFxW_256( vbi, pfx, delta, True/*xIsH*/ );
+         goto decode_success;
+      }
       break;
 
    case 0x71:
@@ -23231,6 +24604,32 @@
          }
          /* else fall through */
       }
+      /* VPSRLW imm8, ymm2, ymm1 = VEX.NDD.256.66.0F.WIG 71 /2 ib */
+      /* VPSRAW imm8, ymm2, ymm1 = VEX.NDD.256.66.0F.WIG 71 /4 ib */
+      /* VPSLLW imm8, ymm2, ymm1 = VEX.NDD.256.66.0F.WIG 71 /6 ib */
+      if (have66noF2noF3(pfx)
+          && 1==getVexL(pfx)/*256*/
+          && epartIsReg(getUChar(delta))) {
+         if (gregLO3ofRM(getUChar(delta)) == 2/*SRL*/) {
+            delta = dis_AVX256_shiftE_to_V_imm( pfx, delta,
+                                                "vpsrlw", Iop_ShrN16x16 );
+            *uses_vvvv = True;
+            goto decode_success;
+         }
+         if (gregLO3ofRM(getUChar(delta)) == 4/*SRA*/) {
+            delta = dis_AVX256_shiftE_to_V_imm( pfx, delta,
+                                                "vpsraw", Iop_SarN16x16 );
+            *uses_vvvv = True;
+            goto decode_success;
+         }
+         if (gregLO3ofRM(getUChar(delta)) == 6/*SLL*/) {
+            delta = dis_AVX256_shiftE_to_V_imm( pfx, delta,
+                                                "vpsllw", Iop_ShlN16x16 );
+            *uses_vvvv = True;
+            goto decode_success;
+         }
+         /* else fall through */
+      }
       break;
 
    case 0x72:
@@ -23260,6 +24659,32 @@
          }
          /* else fall through */
       }
+      /* VPSRLD imm8, ymm2, ymm1 = VEX.NDD.256.66.0F.WIG 72 /2 ib */
+      /* VPSRAD imm8, ymm2, ymm1 = VEX.NDD.256.66.0F.WIG 72 /4 ib */
+      /* VPSLLD imm8, ymm2, ymm1 = VEX.NDD.256.66.0F.WIG 72 /6 ib */
+      if (have66noF2noF3(pfx)
+          && 1==getVexL(pfx)/*256*/
+          && epartIsReg(getUChar(delta))) {
+         if (gregLO3ofRM(getUChar(delta)) == 2/*SRL*/) {
+            delta = dis_AVX256_shiftE_to_V_imm( pfx, delta,
+                                                "vpsrld", Iop_ShrN32x8 );
+            *uses_vvvv = True;
+            goto decode_success;
+         }
+         if (gregLO3ofRM(getUChar(delta)) == 4/*SRA*/) {
+            delta = dis_AVX256_shiftE_to_V_imm( pfx, delta,
+                                                "vpsrad", Iop_SarN32x8 );
+            *uses_vvvv = True;
+            goto decode_success;
+         }
+         if (gregLO3ofRM(getUChar(delta)) == 6/*SLL*/) {
+            delta = dis_AVX256_shiftE_to_V_imm( pfx, delta,
+                                                "vpslld", Iop_ShlN32x8 );
+            *uses_vvvv = True;
+            goto decode_success;
+         }
+         /* else fall through */
+      }
       break;
 
    case 0x73:
@@ -23304,6 +24729,54 @@
          }
          /* else fall through */
       }
+      /* VPSRLDQ imm8, ymm2, ymm1 = VEX.NDD.256.66.0F.WIG 73 /3 ib */
+      /* VPSLLDQ imm8, ymm2, ymm1 = VEX.NDD.256.66.0F.WIG 73 /7 ib */
+      /* VPSRLQ  imm8, ymm2, ymm1 = VEX.NDD.256.66.0F.WIG 73 /2 ib */
+      /* VPSLLQ  imm8, ymm2, ymm1 = VEX.NDD.256.66.0F.WIG 73 /6 ib */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/
+          && epartIsReg(getUChar(delta))) {
+         Int    rS   = eregOfRexRM(pfx,getUChar(delta));
+         Int    rD   = getVexNvvvv(pfx);
+         if (gregLO3ofRM(getUChar(delta)) == 3) {
+            IRTemp vecS0 = newTemp(Ity_V128);
+            IRTemp vecS1 = newTemp(Ity_V128);
+            Int imm = (Int)getUChar(delta+1);
+            DIP("vpsrldq $%d,%s,%s\n", imm, nameYMMReg(rS), nameYMMReg(rD));
+            delta += 2;
+            assign( vecS0, getYMMRegLane128(rS, 0));
+            assign( vecS1, getYMMRegLane128(rS, 1));
+            putYMMRegLane128(rD, 0, mkexpr(math_PSRLDQ( vecS0, imm )));
+            putYMMRegLane128(rD, 1, mkexpr(math_PSRLDQ( vecS1, imm )));
+            *uses_vvvv = True;
+            goto decode_success;
+         }
+         if (gregLO3ofRM(getUChar(delta)) == 7) {
+            IRTemp vecS0 = newTemp(Ity_V128);
+            IRTemp vecS1 = newTemp(Ity_V128);
+            Int imm = (Int)getUChar(delta+1);
+            DIP("vpslldq $%d,%s,%s\n", imm, nameYMMReg(rS), nameYMMReg(rD));
+            delta += 2;
+            assign( vecS0, getYMMRegLane128(rS, 0));
+            assign( vecS1, getYMMRegLane128(rS, 1));
+            putYMMRegLane128(rD, 0, mkexpr(math_PSLLDQ( vecS0, imm )));
+            putYMMRegLane128(rD, 1, mkexpr(math_PSLLDQ( vecS1, imm )));
+            *uses_vvvv = True;
+            goto decode_success;
+         }
+         if (gregLO3ofRM(getUChar(delta)) == 2) {
+            delta = dis_AVX256_shiftE_to_V_imm( pfx, delta,
+                                                "vpsrlq", Iop_ShrN64x4 );
+            *uses_vvvv = True;
+            goto decode_success;
+         }
+         if (gregLO3ofRM(getUChar(delta)) == 6) {
+            delta = dis_AVX256_shiftE_to_V_imm( pfx, delta,
+                                                "vpsllq", Iop_ShlN64x4 );
+            *uses_vvvv = True;
+            goto decode_success;
+         }
+         /* else fall through */
+      }
       break;
 
    case 0x74:
@@ -23314,6 +24787,13 @@
                     uses_vvvv, vbi, pfx, delta, "vpcmpeqb", Iop_CmpEQ8x16 );
          goto decode_success;
       }
+      /* VPCMPEQB r/m, rV, r ::: r = rV `eq-by-8s` r/m */
+      /* VPCMPEQB = VEX.NDS.256.66.0F.WIG 74 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_simple(
+                    uses_vvvv, vbi, pfx, delta, "vpcmpeqb", Iop_CmpEQ8x32 );
+         goto decode_success;
+      }
       break;
 
    case 0x75:
@@ -23324,6 +24804,13 @@
                     uses_vvvv, vbi, pfx, delta, "vpcmpeqw", Iop_CmpEQ16x8 );
          goto decode_success;
       }
+      /* VPCMPEQW r/m, rV, r ::: r = rV `eq-by-16s` r/m */
+      /* VPCMPEQW = VEX.NDS.256.66.0F.WIG 75 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_simple(
+                    uses_vvvv, vbi, pfx, delta, "vpcmpeqw", Iop_CmpEQ16x16 );
+         goto decode_success;
+      }
       break;
 
    case 0x76:
@@ -23334,6 +24821,13 @@
                     uses_vvvv, vbi, pfx, delta, "vpcmpeqd", Iop_CmpEQ32x4 );
          goto decode_success;
       }
+      /* VPCMPEQD r/m, rV, r ::: r = rV `eq-by-32s` r/m */
+      /* VPCMPEQD = VEX.NDS.256.66.0F.WIG 76 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_simple(
+                    uses_vvvv, vbi, pfx, delta, "vpcmpeqd", Iop_CmpEQ32x8 );
+         goto decode_success;
+      }
       break;
 
    case 0x77:
@@ -23901,6 +25395,14 @@
          goto decode_success;
                         
       }
+      /* VPSRLW xmm3/m128, ymm2, ymm1 = VEX.NDS.256.66.0F.WIG D1 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_AVX256_shiftV_byE( vbi, pfx, delta,
+                                        "vpsrlw", Iop_ShrN16x16 );
+         *uses_vvvv = True;
+         goto decode_success;
+                        
+      }
       break;
 
    case 0xD2:
@@ -23911,6 +25413,13 @@
          *uses_vvvv = True;
          goto decode_success;
       }
+      /* VPSRLD xmm3/m128, ymm2, ymm1 = VEX.NDS.256.66.0F.WIG D2 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_AVX256_shiftV_byE( vbi, pfx, delta,
+                                        "vpsrld", Iop_ShrN32x8 );
+         *uses_vvvv = True;
+         goto decode_success;
+      }
       break;
 
    case 0xD3:
@@ -23921,6 +25430,13 @@
          *uses_vvvv = True;
          goto decode_success;
       }
+      /* VPSRLQ xmm3/m128, ymm2, ymm1 = VEX.NDS.256.66.0F.WIG D3 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_AVX256_shiftV_byE( vbi, pfx, delta,
+                                        "vpsrlq", Iop_ShrN64x4 );
+         *uses_vvvv = True;
+         goto decode_success;
+      }
       break;
 
    case 0xD4:
@@ -23931,6 +25447,13 @@
                     uses_vvvv, vbi, pfx, delta, "vpaddq", Iop_Add64x2 );
          goto decode_success;
       }
+      /* VPADDQ r/m, rV, r ::: r = rV + r/m */
+      /* VPADDQ = VEX.NDS.256.66.0F.WIG D4 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_simple(
+                    uses_vvvv, vbi, pfx, delta, "vpaddq", Iop_Add64x4 );
+         goto decode_success;
+      }
       break;
 
    case 0xD5:
@@ -23940,6 +25463,12 @@
                     uses_vvvv, vbi, pfx, delta, "vpmullw", Iop_Mul16x8 );
          goto decode_success;
       }
+      /* VPMULLW ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F.WIG D5 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_AVX256_E_V_to_G(
+                    uses_vvvv, vbi, pfx, delta, "vpmullw", Iop_Mul16x16 );
+         goto decode_success;
+      }
       break;
 
    case 0xD6:
@@ -23970,8 +25499,13 @@
          delta = dis_PMOVMSKB_128( vbi, pfx, delta, True/*isAvx*/ );
          goto decode_success;
       }
-      break;
-
+      /* VEX.128.66.0F.WIG D7 /r = VPMOVMSKB ymm1, r32 */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_PMOVMSKB_256( vbi, pfx, delta );
+         goto decode_success;
+      }
+      break;
+
    case 0xD8:
       /* VPSUBUSB xmm3/m128, xmm2, xmm1 = VEX.NDS.128.66.0F.WIG D8 /r */
       if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/) {
@@ -23979,7 +25513,13 @@
                     uses_vvvv, vbi, pfx, delta, "vpsubusb", Iop_QSub8Ux16 );
          goto decode_success;
       }
-     break;
+      /* VPSUBUSB ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F.WIG D8 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_AVX256_E_V_to_G(
+                    uses_vvvv, vbi, pfx, delta, "vpsubusb", Iop_QSub8Ux32 );
+         goto decode_success;
+      }
+      break;
 
    case 0xD9:
       /* VPSUBUSW xmm3/m128, xmm2, xmm1 = VEX.NDS.128.66.0F.WIG D9 /r */
@@ -23988,6 +25528,12 @@
                     uses_vvvv, vbi, pfx, delta, "vpsubusw", Iop_QSub16Ux8 );
          goto decode_success;
       }
+      /* VPSUBUSW ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F.WIG D9 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_AVX256_E_V_to_G(
+                    uses_vvvv, vbi, pfx, delta, "vpsubusw", Iop_QSub16Ux16 );
+         goto decode_success;
+      }
       break;
 
    case 0xDA:
@@ -23997,6 +25543,12 @@
                     uses_vvvv, vbi, pfx, delta, "vpminub", Iop_Min8Ux16 );
          goto decode_success;
       }
+      /* VPMINUB ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F.WIG DA /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_AVX256_E_V_to_G(
+                    uses_vvvv, vbi, pfx, delta, "vpminub", Iop_Min8Ux32 );
+         goto decode_success;
+      }
       break;
 
    case 0xDB:
@@ -24007,6 +25559,13 @@
                     uses_vvvv, vbi, pfx, delta, "vpand", Iop_AndV128 );
          goto decode_success;
       }
+      /* VPAND r/m, rV, r ::: r = rV & r/m */
+      /* VEX.NDS.256.66.0F.WIG DB /r = VPAND ymm3/m256, ymm2, ymm1 */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_simple(
+                    uses_vvvv, vbi, pfx, delta, "vpand", Iop_AndV256 );
+         goto decode_success;
+      }
       break;
 
    case 0xDC:
@@ -24016,6 +25575,12 @@
                     uses_vvvv, vbi, pfx, delta, "vpaddusb", Iop_QAdd8Ux16 );
          goto decode_success;
       }
+      /* VPADDUSB ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F.WIG DC /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_AVX256_E_V_to_G(
+                    uses_vvvv, vbi, pfx, delta, "vpaddusb", Iop_QAdd8Ux32 );
+         goto decode_success;
+      }
       break;
 
    case 0xDD:
@@ -24025,6 +25590,12 @@
                     uses_vvvv, vbi, pfx, delta, "vpaddusw", Iop_QAdd16Ux8 );
          goto decode_success;
       }
+      /* VPADDUSW ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F.WIG DD /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_AVX256_E_V_to_G(
+                    uses_vvvv, vbi, pfx, delta, "vpaddusw", Iop_QAdd16Ux16 );
+         goto decode_success;
+      }
       break;
 
    case 0xDE:
@@ -24034,6 +25605,12 @@
                     uses_vvvv, vbi, pfx, delta, "vpmaxub", Iop_Max8Ux16 );
          goto decode_success;
       }
+      /* VPMAXUB ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F.WIG DE /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_AVX256_E_V_to_G(
+                    uses_vvvv, vbi, pfx, delta, "vpmaxub", Iop_Max8Ux32 );
+         goto decode_success;
+      }
       break;
 
    case 0xDF:
@@ -24045,6 +25622,14 @@
                     NULL, True/*invertLeftArg*/, False/*swapArgs*/ );
          goto decode_success;
       }
+      /* VPANDN r/m, rV, r ::: r = rV & ~r/m (is that correct, re the ~ ?) */
+      /* VEX.NDS.256.66.0F.WIG DF /r = VPANDN ymm3/m256, ymm2, ymm1 */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG(
+                    uses_vvvv, vbi, pfx, delta, "vpandn", Iop_AndV256,
+                    NULL, True/*invertLeftArg*/, False/*swapArgs*/ );
+         goto decode_success;
+      }
       break;
 
    case 0xE0:
@@ -24054,6 +25639,12 @@
                     uses_vvvv, vbi, pfx, delta, "vpavgb", Iop_Avg8Ux16 );
          goto decode_success;
       }
+      /* VPAVGB ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F.WIG E0 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_AVX256_E_V_to_G(
+                    uses_vvvv, vbi, pfx, delta, "vpavgb", Iop_Avg8Ux32 );
+         goto decode_success;
+      }
       break;
 
    case 0xE1:
@@ -24064,6 +25655,13 @@
          *uses_vvvv = True;
          goto decode_success;
       }
+      /* VPSRAW xmm3/m128, ymm2, ymm1 = VEX.NDS.256.66.0F.WIG E1 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_AVX256_shiftV_byE( vbi, pfx, delta,
+                                        "vpsraw", Iop_SarN16x16 );
+         *uses_vvvv = True;
+         goto decode_success;
+      }
       break;
 
    case 0xE2:
@@ -24074,6 +25672,13 @@
          *uses_vvvv = True;
          goto decode_success;
       }
+      /* VPSRAD xmm3/m128, ymm2, ymm1 = VEX.NDS.256.66.0F.WIG E2 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_AVX256_shiftV_byE( vbi, pfx, delta,
+                                        "vpsrad", Iop_SarN32x8 );
+         *uses_vvvv = True;
+         goto decode_success;
+      }
       break;
 
    case 0xE3:
@@ -24083,6 +25688,12 @@
                     uses_vvvv, vbi, pfx, delta, "vpavgw", Iop_Avg16Ux8 );
          goto decode_success;
       }
+      /* VPAVGW ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F.WIG E3 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_AVX256_E_V_to_G(
+                    uses_vvvv, vbi, pfx, delta, "vpavgw", Iop_Avg16Ux16 );
+         goto decode_success;
+      }
       break;
 
    case 0xE4:
@@ -24092,6 +25703,12 @@
                     uses_vvvv, vbi, pfx, delta, "vpmulhuw", Iop_MulHi16Ux8 );
          goto decode_success;
       }
+      /* VPMULHUW ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F.WIG E4 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_AVX256_E_V_to_G(
+                    uses_vvvv, vbi, pfx, delta, "vpmulhuw", Iop_MulHi16Ux16 );
+         goto decode_success;
+      }
       break;
 
    case 0xE5:
@@ -24101,6 +25718,12 @@
                     uses_vvvv, vbi, pfx, delta, "vpmulhw", Iop_MulHi16Sx8 );
          goto decode_success;
       }
+      /* VPMULHW ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F.WIG E5 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_AVX256_E_V_to_G(
+                    uses_vvvv, vbi, pfx, delta, "vpmulhw", Iop_MulHi16Sx16 );
+         goto decode_success;
+      }
       break;
 
    case 0xE6:
@@ -24176,6 +25799,12 @@
                     uses_vvvv, vbi, pfx, delta, "vpsubsb", Iop_QSub8Sx16 );
          goto decode_success;
       }
+      /* VPSUBSB ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F.WIG E8 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_AVX256_E_V_to_G(
+                    uses_vvvv, vbi, pfx, delta, "vpsubsb", Iop_QSub8Sx32 );
+         goto decode_success;
+      }
       break;
 
    case 0xE9:
@@ -24185,6 +25814,12 @@
                     uses_vvvv, vbi, pfx, delta, "vpsubsw", Iop_QSub16Sx8 );
          goto decode_success;
       }
+      /* VPSUBSW ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F.WIG E9 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_AVX256_E_V_to_G(
+                    uses_vvvv, vbi, pfx, delta, "vpsubsw", Iop_QSub16Sx16 );
+         goto decode_success;
+      }
       break;
 
    case 0xEA:
@@ -24195,6 +25830,13 @@
                     uses_vvvv, vbi, pfx, delta, "vpminsw", Iop_Min16Sx8 );
          goto decode_success;
       }
+      /* VPMINSW r/m, rV, r ::: r = min-signed16s(rV, r/m) */
+      /* VPMINSW = VEX.NDS.256.66.0F.WIG EA /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_simple(
+                    uses_vvvv, vbi, pfx, delta, "vpminsw", Iop_Min16Sx16 );
+         goto decode_success;
+      }
       break;
 
    case 0xEB:
@@ -24205,6 +25847,13 @@
                     uses_vvvv, vbi, pfx, delta, "vpor", Iop_OrV128 );
          goto decode_success;
       }
+      /* VPOR r/m, rV, r ::: r = rV | r/m */
+      /* VPOR = VEX.NDS.256.66.0F.WIG EB /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_simple(
+                    uses_vvvv, vbi, pfx, delta, "vpor", Iop_OrV256 );
+         goto decode_success;
+      }
       break;
 
    case 0xEC:
@@ -24214,6 +25863,12 @@
                     uses_vvvv, vbi, pfx, delta, "vpaddsb", Iop_QAdd8Sx16 );
          goto decode_success;
       }
+      /* VPADDSB ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F.WIG EC /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_AVX256_E_V_to_G(
+                    uses_vvvv, vbi, pfx, delta, "vpaddsb", Iop_QAdd8Sx32 );
+         goto decode_success;
+      }
       break;
 
    case 0xED:
@@ -24223,6 +25878,12 @@
                     uses_vvvv, vbi, pfx, delta, "vpaddsw", Iop_QAdd16Sx8 );
          goto decode_success;
       }
+      /* VPADDSW ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F.WIG ED /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_AVX256_E_V_to_G(
+                    uses_vvvv, vbi, pfx, delta, "vpaddsw", Iop_QAdd16Sx16 );
+         goto decode_success;
+      }
       break;
 
    case 0xEE:
@@ -24233,6 +25894,13 @@
                     uses_vvvv, vbi, pfx, delta, "vpmaxsw", Iop_Max16Sx8 );
          goto decode_success;
       }
+      /* VPMAXSW r/m, rV, r ::: r = max-signed16s(rV, r/m) */
+      /* VPMAXSW = VEX.NDS.256.66.0F.WIG EE /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_simple(
+                    uses_vvvv, vbi, pfx, delta, "vpmaxsw", Iop_Max16Sx16 );
+         goto decode_success;
+      }
       break;
 
    case 0xEF:
@@ -24243,6 +25911,13 @@
                     uses_vvvv, vbi, pfx, delta, "vpxor", Iop_XorV128 );
          goto decode_success;
       }
+      /* VPXOR r/m, rV, r ::: r = rV ^ r/m */
+      /* VPXOR = VEX.NDS.256.66.0F.WIG EF /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_simple(
+                    uses_vvvv, vbi, pfx, delta, "vpxor", Iop_XorV256 );
+         goto decode_success;
+      }
       break;
 
    case 0xF0:
@@ -24283,6 +25958,14 @@
          goto decode_success;
                         
       }
+      /* VPSLLW xmm3/m128, ymm2, ymm1 = VEX.NDS.256.66.0F.WIG F1 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_AVX256_shiftV_byE( vbi, pfx, delta,
+                                        "vpsllw", Iop_ShlN16x16 );
+         *uses_vvvv = True;
+         goto decode_success;
+                        
+      }
       break;
 
    case 0xF2:
@@ -24293,6 +25976,13 @@
          *uses_vvvv = True;
          goto decode_success;
       }
+      /* VPSLLD xmm3/m128, ymm2, ymm1 = VEX.NDS.256.66.0F.WIG F2 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_AVX256_shiftV_byE( vbi, pfx, delta,
+                                        "vpslld", Iop_ShlN32x8 );
+         *uses_vvvv = True;
+         goto decode_success;
+      }
       break;
 
    case 0xF3:
@@ -24303,6 +25993,13 @@
          *uses_vvvv = True;
          goto decode_success;
       }
+      /* VPSLLQ xmm3/m128, ymm2, ymm1 = VEX.NDS.256.66.0F.WIG F3 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_AVX256_shiftV_byE( vbi, pfx, delta,
+                                        "vpsllq", Iop_ShlN64x4 );
+         *uses_vvvv = True;
+         goto decode_success;
+      }
       break;
 
    case 0xF4:
@@ -24313,6 +26010,13 @@
                     "vpmuludq", math_PMULUDQ_128 );
          goto decode_success;
       }
+      /* VPMULUDQ ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F.WIG F4 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_complex(
+                    uses_vvvv, vbi, pfx, delta,
+                    "vpmuludq", math_PMULUDQ_256 );
+         goto decode_success;
+      }
       break;
 
    case 0xF5:
@@ -24323,6 +26027,13 @@
                     "vpmaddwd", math_PMADDWD_128 );
          goto decode_success;
       }
+      /* VPMADDWD ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F.WIG F5 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_complex(
+                    uses_vvvv, vbi, pfx, delta,
+                    "vpmaddwd", math_PMADDWD_256 );
+         goto decode_success;
+      }
       break;
 
    case 0xF6:
@@ -24333,6 +26044,13 @@
                     "vpsadbw", math_PSADBW_128 );
          goto decode_success;
       }
+      /* VPSADBW ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F.WIG F6 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_complex(
+                    uses_vvvv, vbi, pfx, delta,
+                    "vpsadbw", math_PSADBW_256 );
+         goto decode_success;
+      }
       break;
 
    case 0xF7:
@@ -24352,6 +26070,13 @@
                     uses_vvvv, vbi, pfx, delta, "vpsubb", Iop_Sub8x16 );
          goto decode_success;
       }
+      /* VPSUBB r/m, rV, r ::: r = rV - r/m */
+      /* VPSUBB = VEX.NDS.256.66.0F.WIG F8 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_simple(
+                    uses_vvvv, vbi, pfx, delta, "vpsubb", Iop_Sub8x32 );
+         goto decode_success;
+      }
       break;
 
    case 0xF9:
@@ -24362,6 +26087,13 @@
                     uses_vvvv, vbi, pfx, delta, "vpsubw", Iop_Sub16x8 );
          goto decode_success;
       }
+      /* VPSUBW r/m, rV, r ::: r = rV - r/m */
+      /* VPSUBW = VEX.NDS.256.66.0F.WIG F9 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_simple(
+                    uses_vvvv, vbi, pfx, delta, "vpsubw", Iop_Sub16x16 );
+         goto decode_success;
+      }
       break;
 
    case 0xFA:
@@ -24372,6 +26104,13 @@
                     uses_vvvv, vbi, pfx, delta, "vpsubd", Iop_Sub32x4 );
          goto decode_success;
       }
+      /* VPSUBD r/m, rV, r ::: r = rV - r/m */
+      /* VPSUBD = VEX.NDS.256.66.0F.WIG FA /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_simple(
+                    uses_vvvv, vbi, pfx, delta, "vpsubd", Iop_Sub32x8 );
+         goto decode_success;
+      }
       break;
 
    case 0xFB:
@@ -24382,6 +26121,13 @@
                     uses_vvvv, vbi, pfx, delta, "vpsubq", Iop_Sub64x2 );
          goto decode_success;
       }
+      /* VPSUBQ r/m, rV, r ::: r = rV - r/m */
+      /* VPSUBQ = VEX.NDS.256.66.0F.WIG FB /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_simple(
+                    uses_vvvv, vbi, pfx, delta, "vpsubq", Iop_Sub64x4 );
+         goto decode_success;
+      }
       break;
 
    case 0xFC:
@@ -24392,6 +26138,13 @@
                     uses_vvvv, vbi, pfx, delta, "vpaddb", Iop_Add8x16 );
          goto decode_success;
       }
+      /* VPADDB r/m, rV, r ::: r = rV + r/m */
+      /* VPADDB = VEX.NDS.256.66.0F.WIG FC /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_simple(
+                    uses_vvvv, vbi, pfx, delta, "vpaddb", Iop_Add8x32 );
+         goto decode_success;
+      }
       break;
 
    case 0xFD:
@@ -24402,6 +26155,13 @@
                     uses_vvvv, vbi, pfx, delta, "vpaddw", Iop_Add16x8 );
          goto decode_success;
       }
+      /* VPADDW r/m, rV, r ::: r = rV + r/m */
+      /* VPADDW = VEX.NDS.256.66.0F.WIG FD /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_simple(
+                    uses_vvvv, vbi, pfx, delta, "vpaddw", Iop_Add16x16 );
+         goto decode_success;
+      }
       break;
 
    case 0xFE:
@@ -24412,6 +26172,13 @@
                     uses_vvvv, vbi, pfx, delta, "vpaddd", Iop_Add32x4 );
          goto decode_success;
       }
+      /* VPADDD r/m, rV, r ::: r = rV + r/m */
+      /* VPADDD = VEX.NDS.256.66.0F.WIG FE /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_simple(
+                    uses_vvvv, vbi, pfx, delta, "vpaddd", Iop_Add32x8 );
+         goto decode_success;
+      }
       break;
 
    default:
@@ -24493,85 +26260,501 @@
    return res;
 }
 
-__attribute__((noinline))
-static
-Long dis_ESC_0F38__VEX (
-        /*MB_OUT*/DisResult* dres,
-        /*OUT*/   Bool*      uses_vvvv,
-        Bool         (*resteerOkFn) ( /*opaque*/void*, Addr64 ),
-        Bool         resteerCisOk,
-        void*        callback_opaque,
-        VexArchInfo* archinfo,
-        VexAbiInfo*  vbi,
-        Prefix pfx, Int sz, Long deltaIN 
-     )
+static IRTemp math_VPERMD ( IRTemp ctrlV, IRTemp dataV )
 {
-   IRTemp addr  = IRTemp_INVALID;
-   Int    alen  = 0;
-   HChar  dis_buf[50];
-   Long   delta = deltaIN;
-   UChar  opc   = getUChar(delta);
-   delta++;
-   *uses_vvvv = False;
+   /* In the control vector, zero out all but the bottom three bits of
+      each 32-bit lane. */
+   IRExpr* cv1 = binop(Iop_ShrN32x8,
+                       binop(Iop_ShlN32x8, mkexpr(ctrlV), mkU8(29)),
+                       mkU8(29));
+   /* And use the resulting cleaned-up control vector as steering
+      in a Perm operation. */
+   IRTemp res = newTemp(Ity_V256);
+   assign(res, binop(Iop_Perm32x8, mkexpr(dataV), cv1));
+   return res;
+}
 
-   switch (opc) {
+static Long dis_SHIFTX ( /*OUT*/Bool* uses_vvvv,
+                         VexAbiInfo* vbi, Prefix pfx, Long delta,
+                         HChar* opname, IROp op8 )
+{
+   HChar   dis_buf[50];
+   Int     alen;
+   Int     size = getRexW(pfx) ? 8 : 4;
+   IRType  ty   = szToITy(size);
+   IRTemp  src  = newTemp(ty);
+   IRTemp  amt  = newTemp(ty);
+   UChar   rm   = getUChar(delta);
 
-   case 0x00:
-      /* VPSHUFB r/m, rV, r ::: r = shuf(rV, r/m) */
-      /* VPSHUFB = VEX.NDS.128.66.0F38.WIG 00 /r */
-      if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/) {
-         delta = dis_VEX_NDS_128_AnySimdPfx_0F_WIG_complex(
-                    uses_vvvv, vbi, pfx, delta, "vpshufb", math_PSHUFB_XMM );
-         goto decode_success;
-      }
-      break;
+   assign( amt, getIRegV(size,pfx) );
+   if (epartIsReg(rm)) {
+      assign( src, getIRegE(size,pfx,rm) );
+      DIP("%s %s,%s,%s\n", opname, nameIRegV(size,pfx),
+                           nameIRegE(size,pfx,rm), nameIRegG(size,pfx,rm));
+      delta++;
+   } else {
+      IRTemp addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 0 );
+      assign( src, loadLE(ty, mkexpr(addr)) );
+      DIP("%s %s,%s,%s\n", opname, nameIRegV(size,pfx), dis_buf,
+                           nameIRegG(size,pfx,rm));
+      delta += alen;
+   }
 
-   case 0x01:
-   case 0x02:
-   case 0x03:
-      /* VPHADDW xmm3/m128, xmm2, xmm1 = VEX.NDS.128.66.0F38.WIG 01 /r */
-      /* VPHADDD xmm3/m128, xmm2, xmm1 = VEX.NDS.128.66.0F38.WIG 02 /r */
-      /* VPHADDSW xmm3/m128, xmm2, xmm1 = VEX.NDS.128.66.0F38.WIG 03 /r */
-      if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/) {
-         delta = dis_PHADD_128( vbi, pfx, delta, True/*isAvx*/, opc );
-         *uses_vvvv = True;
-         goto decode_success;
-      }
-      break;
+   putIRegG( size, pfx, rm,
+             binop(mkSizedOp(ty,op8), mkexpr(src),
+                   narrowTo(Ity_I8, binop(mkSizedOp(ty,Iop_And8), mkexpr(amt),
+                                          mkU(ty,8*size-1)))) );
+   /* Flags aren't modified.  */
+   *uses_vvvv = True;
+   return delta;
+}
 
-   case 0x04:
-      /* VPMADDUBSW xmm3/m128, xmm2, xmm1 = VEX.NDS.128.66.0F38.WIG 04 /r */
-      if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/) {
-         delta = dis_VEX_NDS_128_AnySimdPfx_0F_WIG_complex(
-                    uses_vvvv, vbi, pfx, delta, "vpmaddubsw",
-                    math_PMADDUBSW_128 );
-         goto decode_success;
-      }
+
+static Long dis_FMA ( VexAbiInfo* vbi, Prefix pfx, Long delta, UChar opc )
+{
+   UChar  modrm   = getUChar(delta);
+   UInt   rG      = gregOfRexRM(pfx, modrm);
+   UInt   rV      = getVexNvvvv(pfx);
+   Bool   scalar  = (opc & 0xF) > 7 && (opc & 1);
+   IRType ty      = getRexW(pfx) ? Ity_F64 : Ity_F32;
+   IRType vty     = scalar ? ty : getVexL(pfx) ? Ity_V256 : Ity_V128;
+   IRTemp vX      = newTemp(vty);
+   IRTemp vY      = newTemp(vty);
+   IRTemp vZ      = newTemp(vty);
+   IRExpr *x[8], *y[8], *z[8];
+   IRTemp addr    = IRTemp_INVALID;
+   HChar  dis_buf[50];
+   Int    alen    = 0;
+   HChar *name;
+   HChar *suffix;
+   HChar *order;
+   Bool   negateRes   = False;
+   Bool   negateZeven = False;
+   Bool   negateZodd  = False;
+   Int    i, j;
+   Int    count;
+   static IROp ops[] = { Iop_V256to64_0, Iop_V256to64_1,
+                         Iop_V256to64_2, Iop_V256to64_3,
+                         Iop_V128to64, Iop_V128HIto64 };
+
+   switch (opc & 0xF) {
+   case 0x6:
+      name = "addsub";
+      negateZeven = True;
+      break;
+   case 0x7:
+      name = "subadd";
+      negateZodd = True;
+      break;
+   case 0x8:
+   case 0x9:
+      name = "add";
+      break;
+   case 0xA:
+   case 0xB:
+      name = "sub";
+      negateZeven = True;
+      negateZodd = True;
+      break;
+   case 0xC:
+   case 0xD:
+      name = "add";
+      negateRes = True;
+      negateZeven = True;
+      negateZodd = True;
+      break;
+   case 0xE:
+   case 0xF:
+      name = "sub";
+      negateRes = True;
       break;
-      
-   case 0x05:
-   case 0x06:
-   case 0x07:
-      /* VPHSUBW xmm3/m128, xmm2, xmm1 = VEX.NDS.128.66.0F38.WIG 05 /r */
-      /* VPHSUBD xmm3/m128, xmm2, xmm1 = VEX.NDS.128.66.0F38.WIG 06 /r */
-      /* VPHSUBSW xmm3/m128, xmm2, xmm1 = VEX.NDS.128.66.0F38.WIG 07 /r */
-      if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/) {
-         delta = dis_PHADD_128( vbi, pfx, delta, True/*isAvx*/, opc );
-         *uses_vvvv = True;
-         goto decode_success;
-      }
+   default:
+      vpanic("dis_FMA(amd64)");
       break;
+   }
+   switch (opc & 0xF0) {
+   case 0x90: order = "132"; break;
+   case 0xA0: order = "213"; break;
+   case 0xB0: order = "231"; break;
+   default: vpanic("dis_FMA(amd64)"); break;
+   }
+   if (scalar)
+      suffix = ty == Ity_F64 ? "sd" : "ss";
+   else
+      suffix = ty == Ity_F64 ? "pd" : "ps";
 
-   case 0x08:
-   case 0x09:
-   case 0x0A:
-      /* VPSIGNB xmm3/m128, xmm2, xmm1 = VEX.NDS.128.66.0F38.WIG 08 /r */
-      /* VPSIGNW xmm3/m128, xmm2, xmm1 = VEX.NDS.128.66.0F38.WIG 09 /r */
-      /* VPSIGND xmm3/m128, xmm2, xmm1 = VEX.NDS.128.66.0F38.WIG 0A /r */
-      if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/) {
-         IRTemp sV      = newTemp(Ity_V128);
-         IRTemp dV      = newTemp(Ity_V128);
-         IRTemp sHi, sLo, dHi, dLo;
+   if (scalar) {
+      assign( vX, ty == Ity_F64
+                  ? getXMMRegLane64F(rG, 0) : getXMMRegLane32F(rG, 0) );
+      assign( vZ, ty == Ity_F64
+                  ? getXMMRegLane64F(rV, 0) : getXMMRegLane32F(rV, 0) );
+   } else {
+      assign( vX, vty == Ity_V256 ? getYMMReg(rG) : getXMMReg(rG) );
+      assign( vZ, vty == Ity_V256 ? getYMMReg(rV) : getXMMReg(rV) );
+   }
+
+   if (epartIsReg(modrm)) {
+      UInt rE = eregOfRexRM(pfx, modrm);
+      delta += 1;
+      if (scalar)
+         assign( vY, ty == Ity_F64
+                     ? getXMMRegLane64F(rE, 0) : getXMMRegLane32F(rE, 0) );
+      else
+         assign( vY, vty == Ity_V256 ? getYMMReg(rE) : getXMMReg(rE) );
+      if (vty == Ity_V256) {
+         DIP("vf%sm%s%s%s %s,%s,%s\n", negateRes ? "n" : "",
+             name, order, suffix, nameYMMReg(rE), nameYMMReg(rV),
+             nameYMMReg(rG));
+      } else {
+         DIP("vf%sm%s%s%s %s,%s,%s\n", negateRes ? "n" : "",
+             name, order, suffix, nameXMMReg(rE), nameXMMReg(rV),
+             nameXMMReg(rG));
+      }
+   } else {
+      addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 0 );
+      delta += alen;
+      assign(vY, loadLE(vty, mkexpr(addr)));
+      if (vty == Ity_V256) {
+         DIP("vf%sm%s%s%s %s,%s,%s\n", negateRes ? "n" : "",
+             name, order, suffix, dis_buf, nameYMMReg(rV),
+             nameYMMReg(rG));
+      } else {
+         DIP("vf%sm%s%s%s %s,%s,%s\n", negateRes ? "n" : "",
+             name, order, suffix, dis_buf, nameXMMReg(rV),
+             nameXMMReg(rG));
+      }
+   }
+
+   /* vX/vY/vZ now in 132 order.  If it is different order, swap the
+      arguments.  */
+   if ((opc & 0xF0) != 0x90) {
+      IRTemp tem = vX;
+      if ((opc & 0xF0) == 0xA0) {
+         vX = vZ;
+         vZ = vY;
+         vY = tem;
+      } else {
+         vX = vZ;
+         vZ = tem;
+      }
+   }
+
+   if (scalar) {
+      count = 1;
+      x[0] = mkexpr(vX);
+      y[0] = mkexpr(vY);
+      z[0] = mkexpr(vZ);
+   } else if (ty == Ity_F32) {
+      count = vty == Ity_V256 ? 8 : 4;
+      j = vty == Ity_V256 ? 0 : 4;
+      for (i = 0; i < count; i += 2) {
+         IRTemp tem = newTemp(Ity_I64);
+         assign(tem, unop(ops[i / 2 + j], mkexpr(vX)));
+         x[i] = unop(Iop_64to32, mkexpr(tem));
+         x[i + 1] = unop(Iop_64HIto32, mkexpr(tem));
+         tem = newTemp(Ity_I64);
+         assign(tem, unop(ops[i / 2 + j], mkexpr(vY)));
+         y[i] = unop(Iop_64to32, mkexpr(tem));
+         y[i + 1] = unop(Iop_64HIto32, mkexpr(tem));
+         tem = newTemp(Ity_I64);
+         assign(tem, unop(ops[i / 2 + j], mkexpr(vZ)));
+         z[i] = unop(Iop_64to32, mkexpr(tem));
+         z[i + 1] = unop(Iop_64HIto32, mkexpr(tem));
+      }
+   } else {
+      count = vty == Ity_V256 ? 4 : 2;
+      j = vty == Ity_V256 ? 0 : 4;
+      for (i = 0; i < count; i++) {
+         x[i] = unop(ops[i + j], mkexpr(vX));
+         y[i] = unop(ops[i + j], mkexpr(vY));
+         z[i] = unop(ops[i + j], mkexpr(vZ));
+      }
+   }
+   if (!scalar)
+      for (i = 0; i < count; i++) {
+         IROp op = ty == Ity_F64
+                   ? Iop_ReinterpI64asF64 : Iop_ReinterpI32asF32;
+         x[i] = unop(op, x[i]);
+         y[i] = unop(op, y[i]);
+         z[i] = unop(op, z[i]);
+      }
+   for (i = 0; i < count; i++) {
+      if ((i & 1) ? negateZodd : negateZeven)
+         z[i] = unop(ty == Ity_F64 ? Iop_NegF64 : Iop_NegF32, z[i]);
+      x[i] = IRExpr_Qop(ty == Ity_F64 ? Iop_MAddF64 : Iop_MAddF32,
+                        get_FAKE_roundingmode(), x[i], y[i], z[i]);
+      if (negateRes)
+         x[i] = unop(ty == Ity_F64 ? Iop_NegF64 : Iop_NegF32, x[i]);
+      if (ty == Ity_F64)
+         putYMMRegLane64F( rG, i, x[i] );
+      else
+         putYMMRegLane32F( rG, i, x[i] );
+   }
+   if (vty != Ity_V256)
+      putYMMRegLane128( rG, 1, mkV128(0) );
+
+   return delta;
+}
+
+
+/* Masked load.  */
+static ULong dis_VMASKMOV_load ( Bool *uses_vvvv, VexAbiInfo* vbi,
+                                 Prefix pfx, Long delta,
+                                 HChar* opname, Bool isYMM, IRType ty )
+{
+   HChar   dis_buf[50];
+   Int     alen, i;
+   IRTemp  addr;
+   UChar   modrm = getUChar(delta);
+   UInt    rG    = gregOfRexRM(pfx,modrm);
+   UInt    rV    = getVexNvvvv(pfx);
+   IRTemp  res[8], cond;
+   addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 0 );
+   if (isYMM) {
+      DIP("%s %s,%s,%s\n", opname, dis_buf, nameYMMReg(rV), nameYMMReg(rG) );
+   } else {
+      DIP("%s %s,%s,%s\n", opname, dis_buf, nameXMMReg(rV), nameXMMReg(rG) );
+   }
+   delta += alen;
+
+   for (i = 0; i < 2 * (isYMM ? 2 : 1) * (ty == Ity_I32 ? 2 : 1); i++) {
+      res[i] = newTemp(ty);
+      cond = newTemp(Ity_I8);
+      assign( cond, unop(Iop_1Uto8,
+                         binop(ty == Ity_I32 ? Iop_CmpLT32S : Iop_CmpLT64S,
+                               ty == Ity_I32 ? getYMMRegLane32( rV, i )
+                                             : getYMMRegLane64( rV, i ),
+                               mkU(ty, 0))) );
+      assign( res[i],
+              IRExpr_Mux0X(mkexpr(cond),
+		 mkU(ty, 0),
+		 loadLE(ty, IRExpr_Mux0X(mkexpr(cond),
+		               getIReg64(R_RSP),
+		               binop(Iop_Add64, mkexpr(addr),
+                                     mkU64(i*(ty == Ity_I32 ? 4 : 8)))))) );
+   }
+   switch (ty) {
+      case Ity_I32:
+         for (i = 0; i < 8; i++)
+            putYMMRegLane32( rG, i, (i < 4 || isYMM)
+                                    ? mkexpr(res[i]) : mkU32(0) );
+         break;
+      case Ity_I64:
+         for (i = 0; i < 4; i++)
+            putYMMRegLane64( rG, i, (i < 2 || isYMM)
+                                    ? mkexpr(res[i]) : mkU64(0) );
+         break;
+      default: vassert(0);
+   }
+
+   *uses_vvvv = True;
+   return delta;
+}
+
+
+/* Gather.  */
+static ULong dis_VGATHER ( Bool *uses_vvvv, VexAbiInfo* vbi,
+                           Prefix pfx, Long delta,
+                           HChar* opname, Bool isYMM, Bool isVM64x, IRType ty )
+{
+   HChar  dis_buf[50];
+   Int    alen, i, vscale, count1, count2;
+   IRTemp addr;
+   UChar  modrm = getUChar(delta);
+   UInt   rG    = gregOfRexRM(pfx,modrm);
+   UInt   rV    = getVexNvvvv(pfx);
+   UInt   rI;
+   IRType dstTy = (isYMM && (ty == Ity_I64 || !isVM64x)) ? Ity_V256 : Ity_V128;
+   IRType idxTy = (isYMM && (ty == Ity_I32 || isVM64x)) ? Ity_V256 : Ity_V128;
+   IRTemp cond;
+   addr = disAVSIBMode ( &alen, vbi, pfx, delta, dis_buf, &rI,
+                         idxTy, &vscale );
+   if (addr == IRTemp_INVALID || rI == rG || rI == rV || rG == rV)
+      return delta;
+   if (dstTy == Ity_V256) {
+      DIP("%s %s,%s,%s\n", opname, nameYMMReg(rV), dis_buf, nameYMMReg(rG) );
+   } else {
+      DIP("%s %s,%s,%s\n", opname, nameXMMReg(rV), dis_buf, nameXMMReg(rG) );
+   }
+   delta += alen;
+
+   if (ty == Ity_I32) {
+      count1 = isYMM ? 8 : 4;
+      count2 = isVM64x ? count1 / 2 : count1;
+   } else {
+      count1 = count2 = isYMM ? 4 : 2;
+   }
+
+   /* First update the mask register to copies of the sign bit.  */
+   if (ty == Ity_I32) {
+      if (isYMM)
+         putYMMReg( rV, binop(Iop_SarN32x8, getYMMReg( rV ), mkU8(31)) );
+      else
+         putYMMRegLoAndZU( rV, binop(Iop_SarN32x4, getXMMReg( rV ), mkU8(31)) );
+   } else {
+      for (i = 0; i < count1; i++) {
+         putYMMRegLane64( rV, i, binop(Iop_Sar64, getYMMRegLane64( rV, i ),
+                                       mkU8(63)) );
+      }
+   }
+
+   /* Next gather the individual elements.  If any fault occurs, the
+      corresponding mask element will be set and the loop stops.  */
+   for (i = 0; i < count2; i++) {
+      IRExpr *expr, *addr_expr;
+      cond = newTemp(Ity_I8);
+      assign( cond, unop(Iop_1Uto8,
+                         binop(ty == Ity_I32 ? Iop_CmpLT32S : Iop_CmpLT64S,
+                               ty == Ity_I32 ? getYMMRegLane32( rV, i )
+                                             : getYMMRegLane64( rV, i ),
+                               mkU(ty, 0))) );
+      expr = ty == Ity_I32 ? getYMMRegLane32( rG, i )
+                           : getYMMRegLane64( rG, i );
+      addr_expr = isVM64x ? getYMMRegLane64( rI, i )
+                          : unop(Iop_32Sto64, getYMMRegLane32( rI, i ));
+      switch (vscale) {
+      case 2: addr_expr = binop(Iop_Shl64, addr_expr, mkU8(1)); break;
+      case 4: addr_expr = binop(Iop_Shl64, addr_expr, mkU8(2)); break;
+      case 8: addr_expr = binop(Iop_Shl64, addr_expr, mkU8(3)); break;
+      default: break;
+      }
+      addr_expr = binop(Iop_Add64, mkexpr(addr), addr_expr);
+      addr_expr = handleAddrOverrides(vbi, pfx, addr_expr);
+      addr_expr = IRExpr_Mux0X(mkexpr(cond), getIReg64(R_RSP), addr_expr);
+      expr = IRExpr_Mux0X(mkexpr(cond), expr, loadLE(ty, addr_expr));
+      if (ty == Ity_I32) {
+         putYMMRegLane32( rG, i, expr );
+         putYMMRegLane32( rV, i, mkU32(0) );
+      } else {
+         putYMMRegLane64( rG, i, expr);
+         putYMMRegLane64( rV, i, mkU64(0) );
+      }
+   }
+
+   if (!isYMM || (ty == Ity_I32 && isVM64x)) {
+      if (ty == Ity_I64 || isYMM)
+         putYMMRegLane128( rV, 1, mkV128(0) );
+      else if (ty == Ity_I32 && count2 == 2) {
+         putYMMRegLane64( rV, 1, mkU64(0) );
+         putYMMRegLane64( rG, 1, mkU64(0) );
+      }
+      putYMMRegLane128( rG, 1, mkV128(0) );
+   }
+
+   *uses_vvvv = True;
+   return delta;
+}
+
+
+__attribute__((noinline))
+static
+Long dis_ESC_0F38__VEX (
+        /*MB_OUT*/DisResult* dres,
+        /*OUT*/   Bool*      uses_vvvv,
+        Bool         (*resteerOkFn) ( /*opaque*/void*, Addr64 ),
+        Bool         resteerCisOk,
+        void*        callback_opaque,
+        VexArchInfo* archinfo,
+        VexAbiInfo*  vbi,
+        Prefix pfx, Int sz, Long deltaIN 
+     )
+{
+   IRTemp addr  = IRTemp_INVALID;
+   Int    alen  = 0;
+   HChar  dis_buf[50];
+   Long   delta = deltaIN;
+   UChar  opc   = getUChar(delta);
+   delta++;
+   *uses_vvvv = False;
+
+   switch (opc) {
+
+   case 0x00:
+      /* VPSHUFB r/m, rV, r ::: r = shuf(rV, r/m) */
+      /* VPSHUFB = VEX.NDS.128.66.0F38.WIG 00 /r */
+      if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/) {
+         delta = dis_VEX_NDS_128_AnySimdPfx_0F_WIG_complex(
+                    uses_vvvv, vbi, pfx, delta, "vpshufb", math_PSHUFB_XMM );
+         goto decode_success;
+      }
+      /* VPSHUFB r/m, rV, r ::: r = shuf(rV, r/m) */
+      /* VPSHUFB = VEX.NDS.256.66.0F38.WIG 00 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_complex(
+                    uses_vvvv, vbi, pfx, delta, "vpshufb", math_PSHUFB_YMM );
+         goto decode_success;
+      }
+      break;
+
+   case 0x01:
+   case 0x02:
+   case 0x03:
+      /* VPHADDW xmm3/m128, xmm2, xmm1 = VEX.NDS.128.66.0F38.WIG 01 /r */
+      /* VPHADDD xmm3/m128, xmm2, xmm1 = VEX.NDS.128.66.0F38.WIG 02 /r */
+      /* VPHADDSW xmm3/m128, xmm2, xmm1 = VEX.NDS.128.66.0F38.WIG 03 /r */
+      if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/) {
+         delta = dis_PHADD_128( vbi, pfx, delta, True/*isAvx*/, opc );
+         *uses_vvvv = True;
+         goto decode_success;
+      }
+      /* VPHADDW ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F38.WIG 01 /r */
+      /* VPHADDD ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F38.WIG 02 /r */
+      /* VPHADDSW ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F38.WIG 03 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_PHADD_256( vbi, pfx, delta, opc );
+         *uses_vvvv = True;
+         goto decode_success;
+      }
+      break;
+
+   case 0x04:
+      /* VPMADDUBSW xmm3/m128, xmm2, xmm1 = VEX.NDS.128.66.0F38.WIG 04 /r */
+      if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/) {
+         delta = dis_VEX_NDS_128_AnySimdPfx_0F_WIG_complex(
+                    uses_vvvv, vbi, pfx, delta, "vpmaddubsw",
+                    math_PMADDUBSW_128 );
+         goto decode_success;
+      }
+      /* VPMADDUBSW ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F38.WIG 04 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_complex(
+                    uses_vvvv, vbi, pfx, delta, "vpmaddubsw",
+                    math_PMADDUBSW_256 );
+         goto decode_success;
+      }
+      break;
+      
+   case 0x05:
+   case 0x06:
+   case 0x07:
+      /* VPHSUBW xmm3/m128, xmm2, xmm1 = VEX.NDS.128.66.0F38.WIG 05 /r */
+      /* VPHSUBD xmm3/m128, xmm2, xmm1 = VEX.NDS.128.66.0F38.WIG 06 /r */
+      /* VPHSUBSW xmm3/m128, xmm2, xmm1 = VEX.NDS.128.66.0F38.WIG 07 /r */
+      if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/) {
+         delta = dis_PHADD_128( vbi, pfx, delta, True/*isAvx*/, opc );
+         *uses_vvvv = True;
+         goto decode_success;
+      }
+      /* VPHSUBW ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F38.WIG 05 /r */
+      /* VPHSUBD ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F38.WIG 06 /r */
+      /* VPHSUBSW ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F38.WIG 07 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_PHADD_256( vbi, pfx, delta, opc );
+         *uses_vvvv = True;
+         goto decode_success;
+      }
+      break;
+
+   case 0x08:
+   case 0x09:
+   case 0x0A:
+      /* VPSIGNB xmm3/m128, xmm2, xmm1 = VEX.NDS.128.66.0F38.WIG 08 /r */
+      /* VPSIGNW xmm3/m128, xmm2, xmm1 = VEX.NDS.128.66.0F38.WIG 09 /r */
+      /* VPSIGND xmm3/m128, xmm2, xmm1 = VEX.NDS.128.66.0F38.WIG 0A /r */
+      if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/) {
+         IRTemp sV      = newTemp(Ity_V128);
+         IRTemp dV      = newTemp(Ity_V128);
+         IRTemp sHi, sLo, dHi, dLo;
          sHi = sLo = dHi = dLo = IRTemp_INVALID;
          UChar  ch      = '?';
          Int    laneszB = 0;
@@ -24615,6 +26798,63 @@
          *uses_vvvv = True;
          goto decode_success;
       }
+      /* VPSIGNB ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F38.WIG 08 /r */
+      /* VPSIGNW ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F38.WIG 09 /r */
+      /* VPSIGND ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F38.WIG 0A /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         IRTemp sV      = newTemp(Ity_V256);
+         IRTemp dV      = newTemp(Ity_V256);
+         IRTemp s3, s2, s1, s0, d3, d2, d1, d0;
+         s3 = s2 = s1 = s0 = IRTemp_INVALID;
+         d3 = d2 = d1 = d0 = IRTemp_INVALID;
+         UChar  ch      = '?';
+         Int    laneszB = 0;
+         UChar  modrm   = getUChar(delta);
+         UInt   rG      = gregOfRexRM(pfx,modrm);
+         UInt   rV      = getVexNvvvv(pfx);
+
+         switch (opc) {
+            case 0x08: laneszB = 1; ch = 'b'; break;
+            case 0x09: laneszB = 2; ch = 'w'; break;
+            case 0x0A: laneszB = 4; ch = 'd'; break;
+            default: vassert(0);
+         }
+
+         assign( dV, getYMMReg(rV) );
+
+         if (epartIsReg(modrm)) {
+            UInt rE = eregOfRexRM(pfx,modrm);
+            assign( sV, getYMMReg(rE) );
+            delta += 1;
+            DIP("vpsign%c %s,%s,%s\n", ch, nameYMMReg(rE),
+                nameYMMReg(rV), nameYMMReg(rG));
+         } else {
+            addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 0 );
+            assign( sV, loadLE(Ity_V256, mkexpr(addr)) );
+            delta += alen;
+            DIP("vpsign%c %s,%s,%s\n", ch, dis_buf,
+                nameYMMReg(rV), nameYMMReg(rG));
+         }
+
+         breakupV256to64s( dV, &d3, &d2, &d1, &d0 );
+         breakupV256to64s( sV, &s3, &s2, &s1, &s0 );
+
+         putYMMReg(
+            rG,
+            binop( Iop_V128HLtoV256,
+                   binop(Iop_64HLtoV128,
+                         dis_PSIGN_helper( mkexpr(s3), mkexpr(d3), laneszB ),
+                         dis_PSIGN_helper( mkexpr(s2), mkexpr(d2), laneszB )
+                   ),
+                   binop(Iop_64HLtoV128,
+                         dis_PSIGN_helper( mkexpr(s1), mkexpr(d1), laneszB ),
+                         dis_PSIGN_helper( mkexpr(s0), mkexpr(d0), laneszB )
+                   )
+            )
+         );
+         *uses_vvvv = True;
+         goto decode_success;
+      }
       break;
 
    case 0x0B:
@@ -24657,6 +26897,49 @@
          *uses_vvvv = True;
          goto decode_success;
       }
+      /* VPMULHRSW ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F38.WIG 0B /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         IRTemp sV      = newTemp(Ity_V256);
+         IRTemp dV      = newTemp(Ity_V256);
+         IRTemp s3, s2, s1, s0, d3, d2, d1, d0;
+         s3 = s2 = s1 = s0 = d3 = d2 = d1 = d0 = IRTemp_INVALID;
+         UChar  modrm   = getUChar(delta);
+         UInt   rG      = gregOfRexRM(pfx,modrm);
+         UInt   rV      = getVexNvvvv(pfx);
+
+         assign( dV, getYMMReg(rV) );
+
+         if (epartIsReg(modrm)) {
+            UInt rE = eregOfRexRM(pfx,modrm);
+            assign( sV, getYMMReg(rE) );
+            delta += 1;
+            DIP("vpmulhrsw %s,%s,%s\n", nameYMMReg(rE),
+                nameYMMReg(rV), nameYMMReg(rG));
+         } else {
+            addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 0 );
+            assign( sV, loadLE(Ity_V256, mkexpr(addr)) );
+            delta += alen;
+            DIP("vpmulhrsw %s,%s,%s\n", dis_buf,
+                nameYMMReg(rV), nameYMMReg(rG));
+         }
+
+         breakupV256to64s( dV, &d3, &d2, &d1, &d0 );
+         breakupV256to64s( sV, &s3, &s2, &s1, &s0 );
+
+         putYMMReg(
+            rG,
+            binop(Iop_V128HLtoV256,
+                  binop(Iop_64HLtoV128,
+                        dis_PMULHRSW_helper( mkexpr(s3), mkexpr(d3) ),
+                        dis_PMULHRSW_helper( mkexpr(s2), mkexpr(d2) ) ),
+                  binop(Iop_64HLtoV128,
+                        dis_PMULHRSW_helper( mkexpr(s1), mkexpr(d1) ),
+                        dis_PMULHRSW_helper( mkexpr(s0), mkexpr(d0) ) )
+            )
+         );
+         *uses_vvvv = True;
+         goto decode_success;
+      }
       break;
 
    case 0x0C:
@@ -24799,10 +27082,20 @@
       }
       break;
 
-   case 0x17:
-      /* VPTEST xmm2/m128, xmm1 = VEX.128.66.0F38.WIG 17 /r */
-      if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/) {
-         delta = dis_xTESTy_128( vbi, pfx, delta, True/*isAvx*/, 0 );
+   case 0x16:
+      /* VPERMPS ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F38.W0 16 /r */
+      if (have66noF2noF3(pfx)
+          && 1==getVexL(pfx)/*256*/ && 0==getRexW(pfx)/*W0*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_complex(
+                    uses_vvvv, vbi, pfx, delta, "vpermps", math_VPERMD );
+         goto decode_success;
+      }
+      break;
+
+   case 0x17:
+      /* VPTEST xmm2/m128, xmm1 = VEX.128.66.0F38.WIG 17 /r */
+      if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/) {
+         delta = dis_xTESTy_128( vbi, pfx, delta, True/*isAvx*/, 0 );
          goto decode_success;
       }
       /* VPTEST ymm2/m256, ymm1 = VEX.256.66.0F38.WIG 17 /r */
@@ -24848,6 +27141,41 @@
          putYMMReg(rG, res);
          goto decode_success;
       }
+      /* VBROADCASTSS xmm2, xmm1 = VEX.128.66.0F38.WIG 18 /r */
+      if (have66noF2noF3(pfx)
+          && 0==getVexL(pfx)/*128*/
+          && epartIsReg(getUChar(delta))) {
+         UChar modrm = getUChar(delta);
+         UInt  rG    = gregOfRexRM(pfx, modrm);
+         UInt  rE    = eregOfRexRM(pfx, modrm);
+         DIP("vbroadcastss %s,%s\n", nameXMMReg(rE), nameXMMReg(rG));
+         IRTemp t32 = newTemp(Ity_I32);
+         assign(t32, getXMMRegLane32(rE, 0));
+         IRTemp t64 = newTemp(Ity_I64);
+         assign(t64, binop(Iop_32HLto64, mkexpr(t32), mkexpr(t32)));
+         IRExpr* res = binop(Iop_64HLtoV128, mkexpr(t64), mkexpr(t64));
+         putYMMRegLoAndZU(rG, res);
+         delta++;
+         goto decode_success;
+      }
+      /* VBROADCASTSS xmm2, ymm1 = VEX.256.66.0F38.WIG 18 /r */
+      if (have66noF2noF3(pfx)
+          && 1==getVexL(pfx)/*256*/
+          && epartIsReg(getUChar(delta))) {
+         UChar modrm = getUChar(delta);
+         UInt  rG    = gregOfRexRM(pfx, modrm);
+         UInt  rE    = eregOfRexRM(pfx, modrm);
+         DIP("vbroadcastss %s,%s\n", nameXMMReg(rE), nameYMMReg(rG));
+         IRTemp t32 = newTemp(Ity_I32);
+         assign(t32, getXMMRegLane32(rE, 0));
+         IRTemp t64 = newTemp(Ity_I64);
+         assign(t64, binop(Iop_32HLto64, mkexpr(t32), mkexpr(t32)));
+         IRExpr* res = IRExpr_Qop(Iop_64x4toV256, mkexpr(t64), mkexpr(t64),
+                                                  mkexpr(t64), mkexpr(t64));
+         putYMMReg(rG, res);
+         delta++;
+         goto decode_success;
+      }
       break;
 
    case 0x19:
@@ -24867,6 +27195,22 @@
          putYMMReg(rG, res);
          goto decode_success;
       }
+      /* VBROADCASTSD xmm2, ymm1 = VEX.256.66.0F38.WIG 19 /r */
+      if (have66noF2noF3(pfx)
+          && 1==getVexL(pfx)/*256*/
+          && epartIsReg(getUChar(delta))) {
+         UChar modrm = getUChar(delta);
+         UInt  rG    = gregOfRexRM(pfx, modrm);
+         UInt  rE    = eregOfRexRM(pfx, modrm);
+         DIP("vbroadcastsd %s,%s\n", nameXMMReg(rE), nameYMMReg(rG));
+         IRTemp t64 = newTemp(Ity_I64);
+         assign(t64, getXMMRegLane64(rE, 0));
+         IRExpr* res = IRExpr_Qop(Iop_64x4toV256, mkexpr(t64), mkexpr(t64),
+                                                  mkexpr(t64), mkexpr(t64));
+         putYMMReg(rG, res);
+         delta++;
+         goto decode_success;
+      }
       break;
 
    case 0x1A:
@@ -24894,6 +27238,13 @@
                     "vpabsb", math_PABS_XMM_pap1 );
          goto decode_success;
       }
+      /* VPABSB ymm2/m256, ymm1 = VEX.256.66.0F38.WIG 1C /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_AVX256_E_to_G_unary(
+                    uses_vvvv, vbi, pfx, delta,
+                    "vpabsb", math_PABS_YMM_pap1 );
+         goto decode_success;
+      }
       break;
 
    case 0x1D:
@@ -24904,6 +27255,13 @@
                     "vpabsw", math_PABS_XMM_pap2 );
          goto decode_success;
       }
+      /* VPABSW ymm2/m256, ymm1 = VEX.256.66.0F38.WIG 1D /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_AVX256_E_to_G_unary(
+                    uses_vvvv, vbi, pfx, delta,
+                    "vpabsw", math_PABS_YMM_pap2 );
+         goto decode_success;
+      }
       break;
 
    case 0x1E:
@@ -24914,6 +27272,13 @@
                     "vpabsd", math_PABS_XMM_pap4 );
          goto decode_success;
       }
+      /* VPABSD ymm2/m256, ymm1 = VEX.256.66.0F38.WIG 1E /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_AVX256_E_to_G_unary(
+                    uses_vvvv, vbi, pfx, delta,
+                    "vpabsd", math_PABS_YMM_pap4 );
+         goto decode_success;
+      }
       break;
 
    case 0x20:
@@ -24924,6 +27289,12 @@
                                    True/*isAvx*/, False/*!xIsZ*/ );
          goto decode_success;
       }
+      /* VPMOVSXBW xmm2/m128, ymm1 */
+      /* VPMOVSXBW = VEX.256.66.0F38.WIG 20 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_PMOVxXBW_256( vbi, pfx, delta, False/*!xIsZ*/ );
+         goto decode_success;
+      }
       break;
 
    case 0x21:
@@ -24934,6 +27305,12 @@
                                    True/*isAvx*/, False/*!xIsZ*/ );
          goto decode_success;
       }
+      /* VPMOVSXBD xmm2/m64, ymm1 */
+      /* VPMOVSXBD = VEX.256.66.0F38.WIG 21 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_PMOVxXBD_256( vbi, pfx, delta, False/*!xIsZ*/ );
+         goto decode_success;
+      }
       break;
 
    case 0x22:
@@ -24943,6 +27320,12 @@
          delta = dis_PMOVSXBQ_128( vbi, pfx, delta, True/*isAvx*/ );
          goto decode_success;
       }
+      /* VPMOVSXBQ xmm2/m32, ymm1 */
+      /* VPMOVSXBQ = VEX.256.66.0F38.WIG 22 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_PMOVSXBQ_256( vbi, pfx, delta );
+         goto decode_success;
+      }
       break;
 
    case 0x23:
@@ -24952,6 +27335,11 @@
                                    True/*isAvx*/, False/*!xIsZ*/ );
          goto decode_success;
       }
+      /* VPMOVSXWD xmm2/m128, ymm1 = VEX.256.66.0F38.WIG 23 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_PMOVxXWD_256( vbi, pfx, delta, False/*!xIsZ*/ );
+         goto decode_success;
+      }
       break;
 
    case 0x24:
@@ -24960,6 +27348,11 @@
          delta = dis_PMOVSXWQ_128( vbi, pfx, delta, True/*isAvx*/ );
          goto decode_success;
       }
+      /* VPMOVSXWQ xmm2/m64, ymm1 = VEX.256.66.0F38.WIG 24 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_PMOVSXWQ_256( vbi, pfx, delta );
+         goto decode_success;
+      }
       break;
 
    case 0x25:
@@ -24969,6 +27362,11 @@
                                    True/*isAvx*/, False/*!xIsZ*/ );
          goto decode_success;
       }
+      /* VPMOVSXDQ xmm2/m128, ymm1 = VEX.256.66.0F38.WIG 25 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_PMOVxXDQ_256( vbi, pfx, delta, False/*!xIsZ*/ );
+         goto decode_success;
+      }
       break;
 
    case 0x28:
@@ -24979,6 +27377,13 @@
                     "vpmuldq", math_PMULDQ_128 );
          goto decode_success;
       }
+      /* VPMULDQ ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F38.WIG 28 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_complex(
+                    uses_vvvv, vbi, pfx, delta,
+                    "vpmuldq", math_PMULDQ_256 );
+         goto decode_success;
+      }
       break;
 
    case 0x29:
@@ -24989,6 +27394,13 @@
                     uses_vvvv, vbi, pfx, delta, "vpcmpeqq", Iop_CmpEQ64x2 );
          goto decode_success;
       }
+      /* VPCMPEQQ r/m, rV, r ::: r = rV `eq-by-64s` r/m */
+      /* VPCMPEQQ = VEX.NDS.256.66.0F38.WIG 29 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_simple(
+                    uses_vvvv, vbi, pfx, delta, "vpcmpeqq", Iop_CmpEQ64x4 );
+         goto decode_success;
+      }
       break;
 
    case 0x2A:
@@ -25006,6 +27418,20 @@
          putYMMRegLoAndZU(rD, mkexpr(tD));
          goto decode_success;
       }
+      /* VMOVNTDQA m256, ymm1 = VEX.256.66.0F38.WIG 2A /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/
+          && !epartIsReg(getUChar(delta))) {
+         UChar  modrm = getUChar(delta);
+         UInt   rD    = gregOfRexRM(pfx, modrm);
+         IRTemp tD    = newTemp(Ity_V256);
+         addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 0 );
+         delta += alen;
+         gen_SEGV_if_not_32_aligned(addr);
+         assign(tD, loadLE(Ity_V256, mkexpr(addr)));
+         DIP("vmovntdqa %s,%s\n", dis_buf, nameYMMReg(rD));
+         putYMMReg(rD, mkexpr(tD));
+         goto decode_success;
+      }
       break;
 
    case 0x2B:
@@ -25018,6 +27444,48 @@
                     False/*!invertLeftArg*/, True/*swapArgs*/ );
          goto decode_success;
       }
+      /* VPACKUSDW r/m, rV, r ::: r = QNarrowBin32Sto16Ux8(rV, r/m) */
+      /* VPACKUSDW = VEX.NDS.256.66.0F38.WIG 2B /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_complex(
+                    uses_vvvv, vbi, pfx, delta, "vpackusdw",
+                    math_VPACKUSDW_YMM );
+         goto decode_success;
+      }
+      break;
+
+   case 0x2C:
+      /* VMASKMOVPS m128, xmm2, xmm1 = VEX.NDS.128.66.0F38.WIG 2C /r */
+      if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/
+          && !epartIsReg(getUChar(delta))) {
+         delta = dis_VMASKMOV_load( uses_vvvv, vbi, pfx, delta, "vmaskmovps",
+                                    /*!isYMM*/False, Ity_I32 );
+         goto decode_success;
+      }
+      /* VMASKMOVPS m256, ymm2, ymm1 = VEX.NDS.256.66.0F38.WIG 2C /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/
+          && !epartIsReg(getUChar(delta))) {
+         delta = dis_VMASKMOV_load( uses_vvvv, vbi, pfx, delta, "vmaskmovps",
+                                    /*isYMM*/True, Ity_I32 );
+         goto decode_success;
+      }
+      break;
+
+   case 0x2D:
+      /* VMASKMOVPD m128, xmm2, xmm1 = VEX.NDS.128.66.0F38.WIG 2D /r */
+      if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/
+          && !epartIsReg(getUChar(delta))) {
+         delta = dis_VMASKMOV_load( uses_vvvv, vbi, pfx, delta, "vmaskmovpd",
+                                    /*!isYMM*/False, Ity_I64 );
+         goto decode_success;
+      }
+      /* VMASKMOVPD m256, ymm2, ymm1 = VEX.NDS.256.66.0F38.WIG 2D /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/
+          && !epartIsReg(getUChar(delta))) {
+         delta = dis_VMASKMOV_load( uses_vvvv, vbi, pfx, delta, "vmaskmovpd",
+                                    /*isYMM*/True, Ity_I64 );
+         goto decode_success;
+      }
       break;
 
    case 0x30:
@@ -25028,6 +27496,12 @@
                                    True/*isAvx*/, True/*xIsZ*/ );
          goto decode_success;
       }
+      /* VPMOVZXBW xmm2/m128, ymm1 */
+      /* VPMOVZXBW = VEX.256.66.0F38.WIG 30 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_PMOVxXBW_256( vbi, pfx, delta, True/*xIsZ*/ );
+         goto decode_success;
+      }
       break;
 
    case 0x31:
@@ -25038,6 +27512,12 @@
                                    True/*isAvx*/, True/*xIsZ*/ );
          goto decode_success;
       }
+      /* VPMOVZXBD xmm2/m64, ymm1 */
+      /* VPMOVZXBD = VEX.256.66.0F38.WIG 31 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_PMOVxXBD_256( vbi, pfx, delta, True/*xIsZ*/ );
+         goto decode_success;
+      }
       break;
 
    case 0x32:
@@ -25047,6 +27527,12 @@
          delta = dis_PMOVZXBQ_128( vbi, pfx, delta, True/*isAvx*/ );
          goto decode_success;
       }
+      /* VPMOVZXBQ xmm2/m32, ymm1 */
+      /* VPMOVZXBQ = VEX.256.66.0F38.WIG 32 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_PMOVZXBQ_256( vbi, pfx, delta );
+         goto decode_success;
+      }
       break;
 
    case 0x33:
@@ -25057,6 +27543,12 @@
                                    True/*isAvx*/, True/*xIsZ*/ );
          goto decode_success;
       }
+      /* VPMOVZXWD xmm2/m128, ymm1 */
+      /* VPMOVZXWD = VEX.256.66.0F38.WIG 33 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_PMOVxXWD_256( vbi, pfx, delta, True/*xIsZ*/ );
+         goto decode_success;
+      }
       break;
 
    case 0x34:
@@ -25065,6 +27557,11 @@
          delta = dis_PMOVZXWQ_128( vbi, pfx, delta, True/*isAvx*/ );
          goto decode_success;
       }
+      /* VPMOVZXWQ xmm2/m64, ymm1 = VEX.256.66.0F38.WIG 34 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_PMOVZXWQ_256( vbi, pfx, delta );
+         goto decode_success;
+      }
       break;
 
    case 0x35:
@@ -25074,6 +27571,21 @@
                                    True/*isAvx*/, True/*xIsZ*/ );
          goto decode_success;
       }
+      /* VPMOVZXDQ xmm2/m128, ymm1 = VEX.256.66.0F38.WIG 35 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_PMOVxXDQ_256( vbi, pfx, delta, True/*xIsZ*/ );
+         goto decode_success;
+      }
+      break;
+
+   case 0x36:
+      /* VPERMD ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F38.W0 36 /r */
+      if (have66noF2noF3(pfx)
+          && 1==getVexL(pfx)/*256*/ && 0==getRexW(pfx)/*W0*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_complex(
+                    uses_vvvv, vbi, pfx, delta, "vpermd", math_VPERMD );
+         goto decode_success;
+      }
       break;
 
    case 0x37:
@@ -25084,6 +27596,13 @@
                     uses_vvvv, vbi, pfx, delta, "vpcmpgtq", Iop_CmpGT64Sx2 );
          goto decode_success;
       }
+      /* VPCMPGTQ r/m, rV, r ::: r = rV `>s-by-64s` r/m */
+      /* VPCMPGTQ = VEX.NDS.256.66.0F38.WIG 37 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_simple(
+                    uses_vvvv, vbi, pfx, delta, "vpcmpgtq", Iop_CmpGT64Sx4 );
+         goto decode_success;
+      }
       break;
 
    case 0x38:
@@ -25094,6 +27613,13 @@
                     uses_vvvv, vbi, pfx, delta, "vpminsb", Iop_Min8Sx16 );
          goto decode_success;
       }
+      /* VPMINSB r/m, rV, r ::: r = min-signed-8s(rV, r/m) */
+      /* VPMINSB = VEX.NDS.256.66.0F38.WIG 38 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_simple(
+                    uses_vvvv, vbi, pfx, delta, "vpminsb", Iop_Min8Sx32 );
+         goto decode_success;
+      }
       break;
 
    case 0x39:
@@ -25104,6 +27630,13 @@
                     uses_vvvv, vbi, pfx, delta, "vpminsd", Iop_Min32Sx4 );
          goto decode_success;
       }
+      /* VPMINSD r/m, rV, r ::: r = min-signed-32s(rV, r/m) */
+      /* VPMINSD = VEX.NDS.256.66.0F38.WIG 39 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_simple(
+                    uses_vvvv, vbi, pfx, delta, "vpminsd", Iop_Min32Sx8 );
+         goto decode_success;
+      }
       break;
 
    case 0x3A:
@@ -25114,6 +27647,13 @@
                     uses_vvvv, vbi, pfx, delta, "vpminuw", Iop_Min16Ux8 );
          goto decode_success;
       }
+      /* VPMINUW r/m, rV, r ::: r = min-unsigned-16s(rV, r/m) */
+      /* VPMINUW = VEX.NDS.256.66.0F38.WIG 3A /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_simple(
+                    uses_vvvv, vbi, pfx, delta, "vpminuw", Iop_Min16Ux16 );
+         goto decode_success;
+      }
       break;
 
    case 0x3B:
@@ -25124,6 +27664,13 @@
                     uses_vvvv, vbi, pfx, delta, "vpminud", Iop_Min32Ux4 );
          goto decode_success;
       }
+      /* VPMINUD r/m, rV, r ::: r = min-unsigned-32s(rV, r/m) */
+      /* VPMINUD = VEX.NDS.256.66.0F38.WIG 3B /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_simple(
+                    uses_vvvv, vbi, pfx, delta, "vpminud", Iop_Min32Ux8 );
+         goto decode_success;
+      }
       break;
 
    case 0x3C:
@@ -25134,6 +27681,13 @@
                     uses_vvvv, vbi, pfx, delta, "vpmaxsb", Iop_Max8Sx16 );
          goto decode_success;
       }
+      /* VPMAXSB r/m, rV, r ::: r = max-signed-8s(rV, r/m) */
+      /* VPMAXSB = VEX.NDS.256.66.0F38.WIG 3C /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_simple(
+                    uses_vvvv, vbi, pfx, delta, "vpmaxsb", Iop_Max8Sx32 );
+         goto decode_success;
+      }
       break;
 
    case 0x3D:
@@ -25144,6 +27698,13 @@
                     uses_vvvv, vbi, pfx, delta, "vpmaxsd", Iop_Max32Sx4 );
          goto decode_success;
       }
+      /* VPMAXSD r/m, rV, r ::: r = max-signed-32s(rV, r/m) */
+      /* VPMAXSD = VEX.NDS.256.66.0F38.WIG 3D /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_simple(
+                    uses_vvvv, vbi, pfx, delta, "vpmaxsd", Iop_Max32Sx8 );
+         goto decode_success;
+      }
       break;
 
    case 0x3E:
@@ -25154,6 +27715,13 @@
                     uses_vvvv, vbi, pfx, delta, "vpmaxuw", Iop_Max16Ux8 );
          goto decode_success;
       }
+      /* VPMAXUW r/m, rV, r ::: r = max-unsigned-16s(rV, r/m) */
+      /* VPMAXUW = VEX.NDS.256.66.0F38.WIG 3E /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_simple(
+                    uses_vvvv, vbi, pfx, delta, "vpmaxuw", Iop_Max16Ux16 );
+         goto decode_success;
+      }
       break;
 
    case 0x3F:
@@ -25164,6 +27732,13 @@
                     uses_vvvv, vbi, pfx, delta, "vpmaxud", Iop_Max32Ux4 );
          goto decode_success;
       }
+      /* VPMAXUD r/m, rV, r ::: r = max-unsigned-32s(rV, r/m) */
+      /* VPMAXUD = VEX.NDS.256.66.0F38.WIG 3F /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_simple(
+                    uses_vvvv, vbi, pfx, delta, "vpmaxud", Iop_Max32Ux8 );
+         goto decode_success;
+      }
       break;
 
    case 0x40:
@@ -25174,6 +27749,13 @@
                     uses_vvvv, vbi, pfx, delta, "vpmulld", Iop_Mul32x4 );
          goto decode_success;
       }
+      /* VPMULLD r/m, rV, r ::: r = mul-32s(rV, r/m) */
+      /* VPMULLD = VEX.NDS.256.66.0F38.WIG 40 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VEX_NDS_256_AnySimdPfx_0F_WIG_simple(
+                    uses_vvvv, vbi, pfx, delta, "vpmulld", Iop_Mul32x8 );
+         goto decode_success;
+      }
       break;
 
    case 0x41:
@@ -25184,60 +27766,1038 @@
       } 
       break;
 
-   case 0xDB:
-   case 0xDC:
-   case 0xDD:
-   case 0xDE:
-   case 0xDF:
-      /* VAESIMC xmm2/m128, xmm1 = VEX.128.66.0F38.WIG DB /r */
-      /* VAESENC xmm3/m128, xmm2, xmm1 = VEX.128.66.0F38.WIG DC /r */
-      /* VAESENCLAST xmm3/m128, xmm2, xmm1 = VEX.128.66.0F38.WIG DD /r */
-      /* VAESDEC xmm3/m128, xmm2, xmm1 = VEX.128.66.0F38.WIG DE /r */
-      /* VAESDECLAST xmm3/m128, xmm2, xmm1 = VEX.128.66.0F38.WIG DF /r */
-      if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/) {
-         delta = dis_AESx( vbi, pfx, delta, True/*!isAvx*/, opc );
-         if (opc != 0xDB) *uses_vvvv = True;
+   case 0x45:
+      /* VPSRLVD xmm3/m128, xmm2, xmm1 = VEX.NDS.128.66.0F38.W0 45 /r */
+      /* VPSRLVD ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F38.W0 45 /r */
+      if (have66noF2noF3(pfx) && 0==getRexW(pfx)/*W0*/) {
+         delta = dis_AVX_var_shiftV_byE( vbi, pfx, delta, "vpsrlvd",
+                                         Iop_Shr32, 1==getVexL(pfx) );
+         *uses_vvvv = True;
+         goto decode_success;
+      }
+      /* VPSRLVQ xmm3/m128, xmm2, xmm1 = VEX.NDS.128.66.0F38.W1 45 /r */
+      /* VPSRLVQ ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F38.W1 45 /r */
+      if (have66noF2noF3(pfx) && 1==getRexW(pfx)/*W1*/) {
+         delta = dis_AVX_var_shiftV_byE( vbi, pfx, delta, "vpsrlvq",
+                                         Iop_Shr64, 1==getVexL(pfx) );
+         *uses_vvvv = True;
          goto decode_success;
       }
       break;
 
-   default:
+   case 0x46:
+      /* VPSRAVD xmm3/m128, xmm2, xmm1 = VEX.NDS.128.66.0F38.W0 46 /r */
+      /* VPSRAVD ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F38.W0 46 /r */
+      if (have66noF2noF3(pfx) && 0==getRexW(pfx)/*W0*/) {
+         delta = dis_AVX_var_shiftV_byE( vbi, pfx, delta, "vpsravd",
+                                         Iop_Sar32, 1==getVexL(pfx) );
+         *uses_vvvv = True;
+         goto decode_success;
+      }
       break;
 
-   }
-
-  //decode_failure:
-   return deltaIN;
-
-  decode_success:
-   return delta;
-}
-
-
-/*------------------------------------------------------------*/
-/*---                                                      ---*/
-/*--- Top-level post-escape decoders: dis_ESC_0F3A__VEX    ---*/
-/*---                                                      ---*/
-/*------------------------------------------------------------*/
-
-static IRTemp math_VPERMILPS_128 ( IRTemp sV, UInt imm8 )
-{
-   vassert(imm8 < 256);
-   IRTemp s3, s2, s1, s0;
-   s3 = s2 = s1 = s0 = IRTemp_INVALID;
-   breakupV128to32s( sV, &s3, &s2, &s1, &s0 );
-#  define SEL(_nn) (((_nn)==0) ? s0 : ((_nn)==1) ? s1 \
-                                    : ((_nn)==2) ? s2 : s3)
-   IRTemp res = newTemp(Ity_V128);
-   assign(res, mkV128from32s( SEL((imm8 >> 6) & 3),
-                              SEL((imm8 >> 4) & 3),
-                              SEL((imm8 >> 2) & 3),
-                              SEL((imm8 >> 0) & 3) ));
-#  undef SEL
-   return res;
-}
+   case 0x47:
+      /* VPSLLVD xmm3/m128, xmm2, xmm1 = VEX.NDS.128.66.0F38.W0 47 /r */
+      /* VPSLLVD ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F38.W0 47 /r */
+      if (have66noF2noF3(pfx) && 0==getRexW(pfx)/*W0*/) {
+         delta = dis_AVX_var_shiftV_byE( vbi, pfx, delta, "vpsllvd",
+                                         Iop_Shl32, 1==getVexL(pfx) );
+         *uses_vvvv = True;
+         goto decode_success;
+      }
+      /* VPSLLVQ xmm3/m128, xmm2, xmm1 = VEX.NDS.128.66.0F38.W1 47 /r */
+      /* VPSLLVQ ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F38.W1 47 /r */
+      if (have66noF2noF3(pfx) && 1==getRexW(pfx)/*W1*/) {
+         delta = dis_AVX_var_shiftV_byE( vbi, pfx, delta, "vpsllvq",
+                                         Iop_Shl64, 1==getVexL(pfx) );
+         *uses_vvvv = True;
+         goto decode_success;
+      }
+      break;
 
-__attribute__((noinline))
+   case 0x58:
+      /* VPBROADCASTD xmm2/m32, xmm1 = VEX.128.66.0F38.W0 58 /r */
+      if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/
+          && 0==getRexW(pfx)/*W0*/) {
+         UChar modrm = getUChar(delta);
+         UInt  rG    = gregOfRexRM(pfx, modrm);
+         IRTemp t32 = newTemp(Ity_I32);
+         if (epartIsReg(modrm)) {
+            UInt rE = eregOfRexRM(pfx, modrm);
+            delta++;
+            DIP("vpbroadcastd %s,%s\n", nameXMMReg(rE), nameXMMReg(rG));
+            assign(t32, getXMMRegLane32(rE, 0));
+         } else {
+            addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 0 );
+            delta += alen;
+            DIP("vpbroadcastd %s,%s\n", dis_buf, nameXMMReg(rG));
+            assign(t32, loadLE(Ity_I32, mkexpr(addr)));
+         }
+         IRTemp t64 = newTemp(Ity_I64);
+         assign(t64, binop(Iop_32HLto64, mkexpr(t32), mkexpr(t32)));
+         IRExpr* res = binop(Iop_64HLtoV128, mkexpr(t64), mkexpr(t64));
+         putYMMRegLoAndZU(rG, res);
+         goto decode_success;
+      }
+      /* VPBROADCASTD xmm2/m32, ymm1 = VEX.256.66.0F38.W0 58 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/
+          && 0==getRexW(pfx)/*W0*/) {
+         UChar modrm = getUChar(delta);
+         UInt  rG    = gregOfRexRM(pfx, modrm);
+         IRTemp t32 = newTemp(Ity_I32);
+         if (epartIsReg(modrm)) {
+            UInt rE = eregOfRexRM(pfx, modrm);
+            delta++;
+            DIP("vpbroadcastd %s,%s\n", nameXMMReg(rE), nameYMMReg(rG));
+            assign(t32, getXMMRegLane32(rE, 0));
+         } else {
+            addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 0 );
+            delta += alen;
+            DIP("vpbroadcastd %s,%s\n", dis_buf, nameYMMReg(rG));
+            assign(t32, loadLE(Ity_I32, mkexpr(addr)));
+         }
+         IRTemp t64 = newTemp(Ity_I64);
+         assign(t64, binop(Iop_32HLto64, mkexpr(t32), mkexpr(t32)));
+         IRExpr* res = IRExpr_Qop(Iop_64x4toV256, mkexpr(t64), mkexpr(t64),
+                                                  mkexpr(t64), mkexpr(t64));
+         putYMMReg(rG, res);
+         goto decode_success;
+      }
+      break;
+
+   case 0x59:
+      /* VPBROADCASTQ xmm2/m64, xmm1 = VEX.128.66.0F38.W0 59 /r */
+      if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/
+          && 0==getRexW(pfx)/*W0*/) {
+         UChar modrm = getUChar(delta);
+         UInt  rG    = gregOfRexRM(pfx, modrm);
+         IRTemp t64 = newTemp(Ity_I64);
+         if (epartIsReg(modrm)) {
+            UInt rE = eregOfRexRM(pfx, modrm);
+            delta++;
+            DIP("vpbroadcastq %s,%s\n", nameXMMReg(rE), nameXMMReg(rG));
+            assign(t64, getXMMRegLane64(rE, 0));
+         } else {
+            addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 0 );
+            delta += alen;
+            DIP("vpbroadcastq %s,%s\n", dis_buf, nameXMMReg(rG));
+            assign(t64, loadLE(Ity_I64, mkexpr(addr)));
+         }
+         IRExpr* res = binop(Iop_64HLtoV128, mkexpr(t64), mkexpr(t64));
+         putYMMRegLoAndZU(rG, res);
+         goto decode_success;
+      }
+      /* VPBROADCASTQ xmm2/m64, ymm1 = VEX.256.66.0F38.W0 59 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/
+          && 0==getRexW(pfx)/*W0*/) {
+         UChar modrm = getUChar(delta);
+         UInt  rG    = gregOfRexRM(pfx, modrm);
+         IRTemp t64 = newTemp(Ity_I64);
+         if (epartIsReg(modrm)) {
+            UInt rE = eregOfRexRM(pfx, modrm);
+            delta++;
+            DIP("vpbroadcastq %s,%s\n", nameXMMReg(rE), nameYMMReg(rG));
+            assign(t64, getXMMRegLane64(rE, 0));
+         } else {
+            addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 0 );
+            delta += alen;
+            DIP("vpbroadcastq %s,%s\n", dis_buf, nameYMMReg(rG));
+            assign(t64, loadLE(Ity_I64, mkexpr(addr)));
+         }
+         IRExpr* res = IRExpr_Qop(Iop_64x4toV256, mkexpr(t64), mkexpr(t64),
+                                                  mkexpr(t64), mkexpr(t64));
+         putYMMReg(rG, res);
+         goto decode_success;
+      }
+      break;
+
+   case 0x5A:
+      /* VBROADCASTI128 m128, ymm1 = VEX.256.66.0F38.WIG 5A /r */
+      if (have66noF2noF3(pfx)
+          && 1==getVexL(pfx)/*256*/
+          && !epartIsReg(getUChar(delta))) {
+         UChar modrm = getUChar(delta);
+         UInt  rG    = gregOfRexRM(pfx, modrm);
+         addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 0 );
+         delta += alen;
+         DIP("vbroadcasti128 %s,%s\n", dis_buf, nameYMMReg(rG));
+         IRTemp t128 = newTemp(Ity_V128);
+         assign(t128, loadLE(Ity_V128, mkexpr(addr)));
+         putYMMReg( rG, binop(Iop_V128HLtoV256, mkexpr(t128), mkexpr(t128)) );
+         goto decode_success;
+      }
+      break;
+
+   case 0x78:
+      /* VPBROADCASTB xmm2/m8, xmm1 = VEX.128.66.0F38.W0 78 /r */
+      if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/
+          && 0==getRexW(pfx)/*W0*/) {
+         UChar modrm = getUChar(delta);
+         UInt  rG    = gregOfRexRM(pfx, modrm);
+         IRTemp t8   = newTemp(Ity_I8);
+         if (epartIsReg(modrm)) {
+            UInt rE = eregOfRexRM(pfx, modrm);
+            DIP("vpbroadcastb %s,%s\n", nameXMMReg(rE), nameXMMReg(rG));
+            assign(t8, unop(Iop_32to8, getXMMRegLane32(rE, 0)));
+         } else {
+            addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 0 );
+            delta += alen;
+            DIP("vpbroadcastb %s,%s\n", dis_buf, nameXMMReg(rG));
+            assign(t8, loadLE(Ity_I8, mkexpr(addr)));
+         }
+         IRTemp t16 = newTemp(Ity_I16);
+         assign(t16, binop(Iop_8HLto16, mkexpr(t8), mkexpr(t8)));
+         IRTemp t32 = newTemp(Ity_I32);
+         assign(t32, binop(Iop_16HLto32, mkexpr(t16), mkexpr(t16)));
+         IRTemp t64 = newTemp(Ity_I64);
+         assign(t64, binop(Iop_32HLto64, mkexpr(t32), mkexpr(t32)));
+         IRExpr* res = binop(Iop_64HLtoV128, mkexpr(t64), mkexpr(t64));
+         putYMMRegLoAndZU(rG, res);
+         goto decode_success;
+      }
+      /* VPBROADCASTB xmm2/m8, ymm1 = VEX.256.66.0F38.W0 78 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/
+          && 0==getRexW(pfx)/*W0*/) {
+         UChar modrm = getUChar(delta);
+         UInt  rG    = gregOfRexRM(pfx, modrm);
+         IRTemp t8   = newTemp(Ity_I8);
+         if (epartIsReg(modrm)) {
+            UInt rE = eregOfRexRM(pfx, modrm);
+            DIP("vpbroadcastb %s,%s\n", nameXMMReg(rE), nameYMMReg(rG));
+            assign(t8, unop(Iop_32to8, getXMMRegLane32(rE, 0)));
+         } else {
+            addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 0 );
+            delta += alen;
+            DIP("vpbroadcastb %s,%s\n", dis_buf, nameYMMReg(rG));
+            assign(t8, loadLE(Ity_I8, mkexpr(addr)));
+         }
+         IRTemp t16 = newTemp(Ity_I16);
+         assign(t16, binop(Iop_8HLto16, mkexpr(t8), mkexpr(t8)));
+         IRTemp t32 = newTemp(Ity_I32);
+         assign(t32, binop(Iop_16HLto32, mkexpr(t16), mkexpr(t16)));
+         IRTemp t64 = newTemp(Ity_I64);
+         assign(t64, binop(Iop_32HLto64, mkexpr(t32), mkexpr(t32)));
+         IRExpr* res = IRExpr_Qop(Iop_64x4toV256, mkexpr(t64), mkexpr(t64),
+                                                  mkexpr(t64), mkexpr(t64));
+         putYMMReg(rG, res);
+         goto decode_success;
+      }
+      break;
+
+   case 0x79:
+      /* VPBROADCASTW xmm2/m16, xmm1 = VEX.128.66.0F38.W0 79 /r */
+      if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/
+          && 0==getRexW(pfx)/*W0*/) {
+         UChar modrm = getUChar(delta);
+         UInt  rG    = gregOfRexRM(pfx, modrm);
+         IRTemp t16  = newTemp(Ity_I16);
+         if (epartIsReg(modrm)) {
+            UInt rE = eregOfRexRM(pfx, modrm);
+            DIP("vpbroadcastw %s,%s\n", nameXMMReg(rE), nameXMMReg(rG));
+            assign(t16, unop(Iop_32to16, getXMMRegLane32(rE, 0)));
+         } else {
+            addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 0 );
+            delta += alen;
+            DIP("vpbroadcastw %s,%s\n", dis_buf, nameXMMReg(rG));
+            assign(t16, loadLE(Ity_I16, mkexpr(addr)));
+         }
+         IRTemp t32 = newTemp(Ity_I32);
+         assign(t32, binop(Iop_16HLto32, mkexpr(t16), mkexpr(t16)));
+         IRTemp t64 = newTemp(Ity_I64);
+         assign(t64, binop(Iop_32HLto64, mkexpr(t32), mkexpr(t32)));
+         IRExpr* res = binop(Iop_64HLtoV128, mkexpr(t64), mkexpr(t64));
+         putYMMRegLoAndZU(rG, res);
+         goto decode_success;
+      }
+      /* VPBROADCASTW xmm2/m16, ymm1 = VEX.256.66.0F38.W0 79 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/
+          && 0==getRexW(pfx)/*W0*/) {
+         UChar modrm = getUChar(delta);
+         UInt  rG    = gregOfRexRM(pfx, modrm);
+         IRTemp t16  = newTemp(Ity_I16);
+         if (epartIsReg(modrm)) {
+            UInt rE = eregOfRexRM(pfx, modrm);
+            DIP("vpbroadcastw %s,%s\n", nameXMMReg(rE), nameYMMReg(rG));
+            assign(t16, unop(Iop_32to16, getXMMRegLane32(rE, 0)));
+         } else {
+            addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 0 );
+            delta += alen;
+            DIP("vpbroadcastw %s,%s\n", dis_buf, nameYMMReg(rG));
+            assign(t16, loadLE(Ity_I16, mkexpr(addr)));
+         }
+         IRTemp t32 = newTemp(Ity_I32);
+         assign(t32, binop(Iop_16HLto32, mkexpr(t16), mkexpr(t16)));
+         IRTemp t64 = newTemp(Ity_I64);
+         assign(t64, binop(Iop_32HLto64, mkexpr(t32), mkexpr(t32)));
+         IRExpr* res = IRExpr_Qop(Iop_64x4toV256, mkexpr(t64), mkexpr(t64),
+                                                  mkexpr(t64), mkexpr(t64));
+         putYMMReg(rG, res);
+         goto decode_success;
+      }
+      break;
+
+   case 0x8C:
+      /* VPMASKMOVD m128, xmm2, xmm1 = VEX.NDS.128.66.0F38.W0 8C /r */
+      if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/
+          && 0==getRexW(pfx)/*W0*/ && !epartIsReg(getUChar(delta))) {
+         delta = dis_VMASKMOV_load( uses_vvvv, vbi, pfx, delta, "vpmaskmovd",
+                                    /*!isYMM*/False, Ity_I32 );
+         goto decode_success;
+      }
+      /* VPMASKMOVD m256, ymm2, ymm1 = VEX.NDS.256.66.0F38.W0 8C /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/
+          && 0==getRexW(pfx)/*W0*/ && !epartIsReg(getUChar(delta))) {
+         delta = dis_VMASKMOV_load( uses_vvvv, vbi, pfx, delta, "vpmaskmovd",
+                                    /*isYMM*/True, Ity_I32 );
+         goto decode_success;
+      }
+      /* VPMASKMOVQ m128, xmm2, xmm1 = VEX.NDS.128.66.0F38.W1 8C /r */
+      if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/
+          && 1==getRexW(pfx)/*W1*/ && !epartIsReg(getUChar(delta))) {
+         delta = dis_VMASKMOV_load( uses_vvvv, vbi, pfx, delta, "vpmaskmovq",
+                                    /*!isYMM*/False, Ity_I64 );
+         goto decode_success;
+      }
+      /* VPMASKMOVQ m256, ymm2, ymm1 = VEX.NDS.256.66.0F38.W1 8C /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/
+          && 1==getRexW(pfx)/*W1*/ && !epartIsReg(getUChar(delta))) {
+         delta = dis_VMASKMOV_load( uses_vvvv, vbi, pfx, delta, "vpmaskmovq",
+                                    /*isYMM*/True, Ity_I64 );
+         goto decode_success;
+      }
+      break;
+
+   case 0x90:
+      /* VPGATHERDD xmm2, vm32x, xmm1 = VEX.DDS.128.66.0F38.W0 90 /r */
+      if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/
+          && 0 == getRexW(pfx)/*W0*/ && !epartIsReg(getUChar(delta))) {
+         Long delta0 = delta;
+         delta = dis_VGATHER( uses_vvvv, vbi, pfx, delta, "vpgatherdd",
+                              /*!isYMM*/False, /*!isVM64x*/False, Ity_I32 );
+         if (delta != delta0)
+            goto decode_success;
+      }
+      /* VPGATHERDD ymm2, vm32y, ymm1 = VEX.DDS.256.66.0F38.W0 90 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/
+          && 0 == getRexW(pfx)/*W0*/ && !epartIsReg(getUChar(delta))) {
+         Long delta0 = delta;
+         delta = dis_VGATHER( uses_vvvv, vbi, pfx, delta, "vpgatherdd",
+                              /*isYMM*/True, /*!isVM64x*/False, Ity_I32 );
+         if (delta != delta0)
+            goto decode_success;
+      }
+      /* VPGATHERDQ xmm2, vm32x, xmm1 = VEX.DDS.128.66.0F38.W1 90 /r */
+      if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/
+          && 1 == getRexW(pfx)/*W1*/ && !epartIsReg(getUChar(delta))) {
+         Long delta0 = delta;
+         delta = dis_VGATHER( uses_vvvv, vbi, pfx, delta, "vpgatherdq",
+                              /*!isYMM*/False, /*!isVM64x*/False, Ity_I64 );
+         if (delta != delta0)
+            goto decode_success;
+      }
+      /* VPGATHERDQ ymm2, vm32x, ymm1 = VEX.DDS.256.66.0F38.W1 90 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/
+          && 1 == getRexW(pfx)/*W1*/ && !epartIsReg(getUChar(delta))) {
+         Long delta0 = delta;
+         delta = dis_VGATHER( uses_vvvv, vbi, pfx, delta, "vpgatherdq",
+                              /*isYMM*/True, /*!isVM64x*/False, Ity_I64 );
+         if (delta != delta0)
+            goto decode_success;
+      }
+      break;
+
+   case 0x91:
+      /* VPGATHERQD xmm2, vm64x, xmm1 = VEX.DDS.128.66.0F38.W0 91 /r */
+      if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/
+          && 0 == getRexW(pfx)/*W0*/ && !epartIsReg(getUChar(delta))) {
+         Long delta0 = delta;
+         delta = dis_VGATHER( uses_vvvv, vbi, pfx, delta, "vpgatherqd",
+                              /*!isYMM*/False, /*isVM64x*/True, Ity_I32 );
+         if (delta != delta0)
+            goto decode_success;
+      }
+      /* VPGATHERQD xmm2, vm64y, xmm1 = VEX.DDS.256.66.0F38.W0 91 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/
+          && 0 == getRexW(pfx)/*W0*/ && !epartIsReg(getUChar(delta))) {
+         Long delta0 = delta;
+         delta = dis_VGATHER( uses_vvvv, vbi, pfx, delta, "vpgatherqd",
+                              /*isYMM*/True, /*isVM64x*/True, Ity_I32 );
+         if (delta != delta0)
+            goto decode_success;
+      }
+      /* VPGATHERQQ xmm2, vm64x, xmm1 = VEX.DDS.128.66.0F38.W1 91 /r */
+      if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/
+          && 1 == getRexW(pfx)/*W1*/ && !epartIsReg(getUChar(delta))) {
+         Long delta0 = delta;
+         delta = dis_VGATHER( uses_vvvv, vbi, pfx, delta, "vpgatherqq",
+                              /*!isYMM*/False, /*isVM64x*/True, Ity_I64 );
+         if (delta != delta0)
+            goto decode_success;
+      }
+      /* VPGATHERQQ ymm2, vm64y, ymm1 = VEX.DDS.256.66.0F38.W1 91 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/
+          && 1 == getRexW(pfx)/*W1*/ && !epartIsReg(getUChar(delta))) {
+         Long delta0 = delta;
+         delta = dis_VGATHER( uses_vvvv, vbi, pfx, delta, "vpgatherqq",
+                              /*isYMM*/True, /*isVM64x*/True, Ity_I64 );
+         if (delta != delta0)
+            goto decode_success;
+      }
+      break;
+
+   case 0x92:
+      /* VGATHERDPS xmm2, vm32x, xmm1 = VEX.DDS.128.66.0F38.W0 92 /r */
+      if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/
+          && 0 == getRexW(pfx)/*W0*/ && !epartIsReg(getUChar(delta))) {
+         Long delta0 = delta;
+         delta = dis_VGATHER( uses_vvvv, vbi, pfx, delta, "vgatherdps",
+                              /*!isYMM*/False, /*!isVM64x*/False, Ity_I32 );
+         if (delta != delta0)
+            goto decode_success;
+      }
+      /* VGATHERDPS ymm2, vm32y, ymm1 = VEX.DDS.256.66.0F38.W0 92 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/
+          && 0 == getRexW(pfx)/*W0*/ && !epartIsReg(getUChar(delta))) {
+         Long delta0 = delta;
+         delta = dis_VGATHER( uses_vvvv, vbi, pfx, delta, "vgatherdps",
+                              /*isYMM*/True, /*!isVM64x*/False, Ity_I32 );
+         if (delta != delta0)
+            goto decode_success;
+      }
+      /* VGATHERDPD xmm2, vm32x, xmm1 = VEX.DDS.128.66.0F38.W1 92 /r */
+      if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/
+          && 1 == getRexW(pfx)/*W1*/ && !epartIsReg(getUChar(delta))) {
+         Long delta0 = delta;
+         delta = dis_VGATHER( uses_vvvv, vbi, pfx, delta, "vgatherdpd",
+                              /*!isYMM*/False, /*!isVM64x*/False, Ity_I64 );
+         if (delta != delta0)
+            goto decode_success;
+      }
+      /* VGATHERDPD ymm2, vm32x, ymm1 = VEX.DDS.256.66.0F38.W1 92 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/
+          && 1 == getRexW(pfx)/*W1*/ && !epartIsReg(getUChar(delta))) {
+         Long delta0 = delta;
+         delta = dis_VGATHER( uses_vvvv, vbi, pfx, delta, "vgatherdpd",
+                              /*isYMM*/True, /*!isVM64x*/False, Ity_I64 );
+         if (delta != delta0)
+            goto decode_success;
+      }
+      break;
+
+   case 0x93:
+      /* VGATHERQPS xmm2, vm64x, xmm1 = VEX.DDS.128.66.0F38.W0 93 /r */
+      if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/
+          && 0 == getRexW(pfx)/*W0*/ && !epartIsReg(getUChar(delta))) {
+         Long delta0 = delta;
+         delta = dis_VGATHER( uses_vvvv, vbi, pfx, delta, "vgatherqps",
+                              /*!isYMM*/False, /*isVM64x*/True, Ity_I32 );
+         if (delta != delta0)
+            goto decode_success;
+      }
+      /* VGATHERQPS xmm2, vm64y, xmm1 = VEX.DDS.256.66.0F38.W0 93 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/
+          && 0 == getRexW(pfx)/*W0*/ && !epartIsReg(getUChar(delta))) {
+         Long delta0 = delta;
+         delta = dis_VGATHER( uses_vvvv, vbi, pfx, delta, "vgatherqps",
+                              /*isYMM*/True, /*isVM64x*/True, Ity_I32 );
+         if (delta != delta0)
+            goto decode_success;
+      }
+      /* VGATHERQPD xmm2, vm64x, xmm1 = VEX.DDS.128.66.0F38.W1 93 /r */
+      if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/
+          && 1 == getRexW(pfx)/*W1*/ && !epartIsReg(getUChar(delta))) {
+         Long delta0 = delta;
+         delta = dis_VGATHER( uses_vvvv, vbi, pfx, delta, "vgatherqpd",
+                              /*!isYMM*/False, /*isVM64x*/True, Ity_I64 );
+         if (delta != delta0)
+            goto decode_success;
+      }
+      /* VGATHERQPD ymm2, vm64y, ymm1 = VEX.DDS.256.66.0F38.W1 93 /r */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/
+          && 1 == getRexW(pfx)/*W1*/ && !epartIsReg(getUChar(delta))) {
+         Long delta0 = delta;
+         delta = dis_VGATHER( uses_vvvv, vbi, pfx, delta, "vgatherqpd",
+                              /*isYMM*/True, /*isVM64x*/True, Ity_I64 );
+         if (delta != delta0)
+            goto decode_success;
+      }
+      break;
+
+   case 0x96 ... 0x9F:
+   case 0xA6 ... 0xAF:
+   case 0xB6 ... 0xBF:
+      /* VFMADDSUB132PS xmm3/m128, xmm2, xmm1 = VEX.DDS.128.66.0F38.W0 96 /r */
+      /* VFMADDSUB132PS ymm3/m256, ymm2, ymm1 = VEX.DDS.256.66.0F38.W0 96 /r */
+      /* VFMADDSUB132PD xmm3/m128, xmm2, xmm1 = VEX.DDS.128.66.0F38.W1 96 /r */
+      /* VFMADDSUB132PD ymm3/m256, ymm2, ymm1 = VEX.DDS.256.66.0F38.W1 96 /r */
+      /* VFMSUBADD132PS xmm3/m128, xmm2, xmm1 = VEX.DDS.128.66.0F38.W0 97 /r */
+      /* VFMSUBADD132PS ymm3/m256, ymm2, ymm1 = VEX.DDS.256.66.0F38.W0 97 /r */
+      /* VFMSUBADD132PD xmm3/m128, xmm2, xmm1 = VEX.DDS.128.66.0F38.W1 97 /r */
+      /* VFMSUBADD132PD ymm3/m256, ymm2, ymm1 = VEX.DDS.256.66.0F38.W1 97 /r */
+      /* VFMADD132PS xmm3/m128, xmm2, xmm1 = VEX.DDS.128.66.0F38.W0 98 /r */
+      /* VFMADD132PS ymm3/m256, ymm2, ymm1 = VEX.DDS.256.66.0F38.W0 98 /r */
+      /* VFMADD132PD xmm3/m128, xmm2, xmm1 = VEX.DDS.128.66.0F38.W1 98 /r */
+      /* VFMADD132PD ymm3/m256, ymm2, ymm1 = VEX.DDS.256.66.0F38.W1 98 /r */
+      /* VFMADD132SS xmm3/m32, xmm2, xmm1 = VEX.DDS.LIG.66.0F38.W0 99 /r */
+      /* VFMADD132SD xmm3/m64, xmm2, xmm1 = VEX.DDS.LIG.66.0F38.W1 99 /r */
+      /* VFMSUB132PS xmm3/m128, xmm2, xmm1 = VEX.DDS.128.66.0F38.W0 9A /r */
+      /* VFMSUB132PS ymm3/m256, ymm2, ymm1 = VEX.DDS.256.66.0F38.W0 9A /r */
+      /* VFMSUB132PD xmm3/m128, xmm2, xmm1 = VEX.DDS.128.66.0F38.W1 9A /r */
+      /* VFMSUB132PD ymm3/m256, ymm2, ymm1 = VEX.DDS.256.66.0F38.W1 9A /r */
+      /* VFMSUB132SS xmm3/m32, xmm2, xmm1 = VEX.DDS.LIG.66.0F38.W0 9B /r */
+      /* VFMSUB132SD xmm3/m64, xmm2, xmm1 = VEX.DDS.LIG.66.0F38.W1 9B /r */
+      /* VFNMADD132PS xmm3/m128, xmm2, xmm1 = VEX.DDS.128.66.0F38.W0 9C /r */
+      /* VFNMADD132PS ymm3/m256, ymm2, ymm1 = VEX.DDS.256.66.0F38.W0 9C /r */
+      /* VFNMADD132PD xmm3/m128, xmm2, xmm1 = VEX.DDS.128.66.0F38.W1 9C /r */
+      /* VFNMADD132PD ymm3/m256, ymm2, ymm1 = VEX.DDS.256.66.0F38.W1 9C /r */
+      /* VFNMADD132SS xmm3/m32, xmm2, xmm1 = VEX.DDS.LIG.66.0F38.W0 9D /r */
+      /* VFNMADD132SD xmm3/m64, xmm2, xmm1 = VEX.DDS.LIG.66.0F38.W1 9D /r */
+      /* VFNMSUB132PS xmm3/m128, xmm2, xmm1 = VEX.DDS.128.66.0F38.W0 9E /r */
+      /* VFNMSUB132PS ymm3/m256, ymm2, ymm1 = VEX.DDS.256.66.0F38.W0 9E /r */
+      /* VFNMSUB132PD xmm3/m128, xmm2, xmm1 = VEX.DDS.128.66.0F38.W1 9E /r */
+      /* VFNMSUB132PD ymm3/m256, ymm2, ymm1 = VEX.DDS.256.66.0F38.W1 9E /r */
+      /* VFNMSUB132SS xmm3/m32, xmm2, xmm1 = VEX.DDS.LIG.66.0F38.W0 9F /r */
+      /* VFNMSUB132SD xmm3/m64, xmm2, xmm1 = VEX.DDS.LIG.66.0F38.W1 9F /r */
+      /* VFMADDSUB213PS xmm3/m128, xmm2, xmm1 = VEX.DDS.128.66.0F38.W0 A6 /r */
+      /* VFMADDSUB213PS ymm3/m256, ymm2, ymm1 = VEX.DDS.256.66.0F38.W0 A6 /r */
+      /* VFMADDSUB213PD xmm3/m128, xmm2, xmm1 = VEX.DDS.128.66.0F38.W1 A6 /r */
+      /* VFMADDSUB213PD ymm3/m256, ymm2, ymm1 = VEX.DDS.256.66.0F38.W1 A6 /r */
+      /* VFMSUBADD213PS xmm3/m128, xmm2, xmm1 = VEX.DDS.128.66.0F38.W0 A7 /r */
+      /* VFMSUBADD213PS ymm3/m256, ymm2, ymm1 = VEX.DDS.256.66.0F38.W0 A7 /r */
+      /* VFMSUBADD213PD xmm3/m128, xmm2, xmm1 = VEX.DDS.128.66.0F38.W1 A7 /r */
+      /* VFMSUBADD213PD ymm3/m256, ymm2, ymm1 = VEX.DDS.256.66.0F38.W1 A7 /r */
+      /* VFMADD213PS xmm3/m128, xmm2, xmm1 = VEX.DDS.128.66.0F38.W0 A8 /r */
+      /* VFMADD213PS ymm3/m256, ymm2, ymm1 = VEX.DDS.256.66.0F38.W0 A8 /r */
+      /* VFMADD213PD xmm3/m128, xmm2, xmm1 = VEX.DDS.128.66.0F38.W1 A8 /r */
+      /* VFMADD213PD ymm3/m256, ymm2, ymm1 = VEX.DDS.256.66.0F38.W1 A8 /r */
+      /* VFMADD213SS xmm3/m32, xmm2, xmm1 = VEX.DDS.LIG.66.0F38.W0 A9 /r */
+      /* VFMADD213SD xmm3/m64, xmm2, xmm1 = VEX.DDS.LIG.66.0F38.W1 A9 /r */
+      /* VFMSUB213PS xmm3/m128, xmm2, xmm1 = VEX.DDS.128.66.0F38.W0 AA /r */
+      /* VFMSUB213PS ymm3/m256, ymm2, ymm1 = VEX.DDS.256.66.0F38.W0 AA /r */
+      /* VFMSUB213PD xmm3/m128, xmm2, xmm1 = VEX.DDS.128.66.0F38.W1 AA /r */
+      /* VFMSUB213PD ymm3/m256, ymm2, ymm1 = VEX.DDS.256.66.0F38.W1 AA /r */
+      /* VFMSUB213SS xmm3/m32, xmm2, xmm1 = VEX.DDS.LIG.66.0F38.W0 AB /r */
+      /* VFMSUB213SD xmm3/m64, xmm2, xmm1 = VEX.DDS.LIG.66.0F38.W1 AB /r */
+      /* VFNMADD213PS xmm3/m128, xmm2, xmm1 = VEX.DDS.128.66.0F38.W0 AC /r */
+      /* VFNMADD213PS ymm3/m256, ymm2, ymm1 = VEX.DDS.256.66.0F38.W0 AC /r */
+      /* VFNMADD213PD xmm3/m128, xmm2, xmm1 = VEX.DDS.128.66.0F38.W1 AC /r */
+      /* VFNMADD213PD ymm3/m256, ymm2, ymm1 = VEX.DDS.256.66.0F38.W1 AC /r */
+      /* VFNMADD213SS xmm3/m32, xmm2, xmm1 = VEX.DDS.LIG.66.0F38.W0 AD /r */
+      /* VFNMADD213SD xmm3/m64, xmm2, xmm1 = VEX.DDS.LIG.66.0F38.W1 AD /r */
+      /* VFNMSUB213PS xmm3/m128, xmm2, xmm1 = VEX.DDS.128.66.0F38.W0 AE /r */
+      /* VFNMSUB213PS ymm3/m256, ymm2, ymm1 = VEX.DDS.256.66.0F38.W0 AE /r */
+      /* VFNMSUB213PD xmm3/m128, xmm2, xmm1 = VEX.DDS.128.66.0F38.W1 AE /r */
+      /* VFNMSUB213PD ymm3/m256, ymm2, ymm1 = VEX.DDS.256.66.0F38.W1 AE /r */
+      /* VFNMSUB213SS xmm3/m32, xmm2, xmm1 = VEX.DDS.LIG.66.0F38.W0 AF /r */
+      /* VFNMSUB213SD xmm3/m64, xmm2, xmm1 = VEX.DDS.LIG.66.0F38.W1 AF /r */
+      /* VFMADDSUB231PS xmm3/m128, xmm2, xmm1 = VEX.DDS.128.66.0F38.W0 B6 /r */
+      /* VFMADDSUB231PS ymm3/m256, ymm2, ymm1 = VEX.DDS.256.66.0F38.W0 B6 /r */
+      /* VFMADDSUB231PD xmm3/m128, xmm2, xmm1 = VEX.DDS.128.66.0F38.W1 B6 /r */
+      /* VFMADDSUB231PD ymm3/m256, ymm2, ymm1 = VEX.DDS.256.66.0F38.W1 B6 /r */
+      /* VFMSUBADD231PS xmm3/m128, xmm2, xmm1 = VEX.DDS.128.66.0F38.W0 B7 /r */
+      /* VFMSUBADD231PS ymm3/m256, ymm2, ymm1 = VEX.DDS.256.66.0F38.W0 B7 /r */
+      /* VFMSUBADD231PD xmm3/m128, xmm2, xmm1 = VEX.DDS.128.66.0F38.W1 B7 /r */
+      /* VFMSUBADD231PD ymm3/m256, ymm2, ymm1 = VEX.DDS.256.66.0F38.W1 B7 /r */
+      /* VFMADD231PS xmm3/m128, xmm2, xmm1 = VEX.DDS.128.66.0F38.W0 B8 /r */
+      /* VFMADD231PS ymm3/m256, ymm2, ymm1 = VEX.DDS.256.66.0F38.W0 B8 /r */
+      /* VFMADD231PD xmm3/m128, xmm2, xmm1 = VEX.DDS.128.66.0F38.W1 B8 /r */
+      /* VFMADD231PD ymm3/m256, ymm2, ymm1 = VEX.DDS.256.66.0F38.W1 B8 /r */
+      /* VFMADD231SS xmm3/m32, xmm2, xmm1 = VEX.DDS.LIG.66.0F38.W0 B9 /r */
+      /* VFMADD231SD xmm3/m64, xmm2, xmm1 = VEX.DDS.LIG.66.0F38.W1 B9 /r */
+      /* VFMSUB231PS xmm3/m128, xmm2, xmm1 = VEX.DDS.128.66.0F38.W0 BA /r */
+      /* VFMSUB231PS ymm3/m256, ymm2, ymm1 = VEX.DDS.256.66.0F38.W0 BA /r */
+      /* VFMSUB231PD xmm3/m128, xmm2, xmm1 = VEX.DDS.128.66.0F38.W1 BA /r */
+      /* VFMSUB231PD ymm3/m256, ymm2, ymm1 = VEX.DDS.256.66.0F38.W1 BA /r */
+      /* VFMSUB231SS xmm3/m32, xmm2, xmm1 = VEX.DDS.LIG.66.0F38.W0 BB /r */
+      /* VFMSUB231SD xmm3/m64, xmm2, xmm1 = VEX.DDS.LIG.66.0F38.W1 BB /r */
+      /* VFNMADD231PS xmm3/m128, xmm2, xmm1 = VEX.DDS.128.66.0F38.W0 BC /r */
+      /* VFNMADD231PS ymm3/m256, ymm2, ymm1 = VEX.DDS.256.66.0F38.W0 BC /r */
+      /* VFNMADD231PD xmm3/m128, xmm2, xmm1 = VEX.DDS.128.66.0F38.W1 BC /r */
+      /* VFNMADD231PD ymm3/m256, ymm2, ymm1 = VEX.DDS.256.66.0F38.W1 BC /r */
+      /* VFNMADD231SS xmm3/m32, xmm2, xmm1 = VEX.DDS.LIG.66.0F38.W0 BD /r */
+      /* VFNMADD231SD xmm3/m64, xmm2, xmm1 = VEX.DDS.LIG.66.0F38.W1 BD /r */
+      /* VFNMSUB231PS xmm3/m128, xmm2, xmm1 = VEX.DDS.128.66.0F38.W0 BE /r */
+      /* VFNMSUB231PS ymm3/m256, ymm2, ymm1 = VEX.DDS.256.66.0F38.W0 BE /r */
+      /* VFNMSUB231PD xmm3/m128, xmm2, xmm1 = VEX.DDS.128.66.0F38.W1 BE /r */
+      /* VFNMSUB231PD ymm3/m256, ymm2, ymm1 = VEX.DDS.256.66.0F38.W1 BE /r */
+      /* VFNMSUB231SS xmm3/m32, xmm2, xmm1 = VEX.DDS.LIG.66.0F38.W0 BF /r */
+      /* VFNMSUB231SD xmm3/m64, xmm2, xmm1 = VEX.DDS.LIG.66.0F38.W1 BF /r */
+      if (have66noF2noF3(pfx)) {
+         delta = dis_FMA( vbi, pfx, delta, opc );
+         *uses_vvvv = True;
+         goto decode_success;
+      }
+      break;
+
+   case 0xDB:
+   case 0xDC:
+   case 0xDD:
+   case 0xDE:
+   case 0xDF:
+      /* VAESIMC xmm2/m128, xmm1 = VEX.128.66.0F38.WIG DB /r */
+      /* VAESENC xmm3/m128, xmm2, xmm1 = VEX.128.66.0F38.WIG DC /r */
+      /* VAESENCLAST xmm3/m128, xmm2, xmm1 = VEX.128.66.0F38.WIG DD /r */
+      /* VAESDEC xmm3/m128, xmm2, xmm1 = VEX.128.66.0F38.WIG DE /r */
+      /* VAESDECLAST xmm3/m128, xmm2, xmm1 = VEX.128.66.0F38.WIG DF /r */
+      if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/) {
+         delta = dis_AESx( vbi, pfx, delta, True/*!isAvx*/, opc );
+         if (opc != 0xDB) *uses_vvvv = True;
+         goto decode_success;
+      }
+      break;
+
+   case 0xF2:
+      /* ANDN r/m32, r32b, r32a = VEX.NDS.LZ.0F38.W0 F2 /r */
+      /* ANDN r/m64, r64b, r64a = VEX.NDS.LZ.0F38.W1 F2 /r */
+      if (haveNo66noF2noF3(pfx) && 0==getVexL(pfx)/*LZ*/ && !haveREX(pfx)) {
+         Int     size = getRexW(pfx) ? 8 : 4;
+         IRType  ty   = szToITy(size);
+         IRTemp  dst  = newTemp(ty);
+         IRTemp  src1 = newTemp(ty);
+         IRTemp  src2 = newTemp(ty);
+         UChar   rm   = getUChar(delta);
+
+         assign( src1, getIRegV(size,pfx) );
+         if (epartIsReg(rm)) {
+            assign( src2, getIRegE(size,pfx,rm) );
+            DIP("andn %s,%s,%s\n", nameIRegE(size,pfx,rm),
+                nameIRegV(size,pfx), nameIRegG(size,pfx,rm));
+            delta++;
+         } else {
+            addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 0 );
+            assign( src2, loadLE(ty, mkexpr(addr)) );
+            DIP("andn %s,%s,%s\n", dis_buf, nameIRegV(size,pfx),
+                nameIRegG(size,pfx,rm));
+            delta += alen;
+         }
+
+         assign( dst, binop( mkSizedOp(ty,Iop_And8),
+                             unop( mkSizedOp(ty,Iop_Not8), mkexpr(src1) ),
+                             mkexpr(src2) ) );
+         putIRegG( size, pfx, rm, mkexpr(dst) );
+         stmt( IRStmt_Put( OFFB_CC_OP,   mkU64(size == 8
+                                               ? AMD64G_CC_OP_ANDN64
+                                               : AMD64G_CC_OP_ANDN32)) );
+         stmt( IRStmt_Put( OFFB_CC_DEP1, widenUto64(mkexpr(dst))) );
+         stmt( IRStmt_Put( OFFB_CC_DEP2, mkU64(0)) );
+         *uses_vvvv = True;
+         goto decode_success;
+      }
+      break;
+
+   case 0xF3:
+      /* BLSI r/m32, r32 = VEX.NDD.LZ.0F38.W0 F3 /3 */
+      /* BLSI r/m64, r64 = VEX.NDD.LZ.0F38.W1 F3 /3 */
+      if (haveNo66noF2noF3(pfx) && 0==getVexL(pfx)/*LZ*/
+          && !haveREX(pfx) && gregLO3ofRM(getUChar(delta)) == 3) {
+         Int     size = getRexW(pfx) ? 8 : 4;
+         IRType  ty   = szToITy(size);
+         IRTemp  src  = newTemp(ty);
+         IRTemp  dst  = newTemp(ty);
+         UChar   rm   = getUChar(delta);
+
+         if (epartIsReg(rm)) {
+            assign( src, getIRegE(size,pfx,rm) );
+            DIP("blsi %s,%s\n", nameIRegE(size,pfx,rm),
+                nameIRegV(size,pfx));
+            delta++;
+         } else {
+            addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 0 );
+            assign( src, loadLE(ty, mkexpr(addr)) );
+            DIP("blsi %s,%s\n", dis_buf, nameIRegV(size,pfx));
+            delta += alen;
+         }
+
+         assign( dst, binop(mkSizedOp(ty,Iop_And8),
+                            binop(mkSizedOp(ty,Iop_Sub8), mkU(ty, 0),
+                                  mkexpr(src)), mkexpr(src)) );
+         putIRegV( size, pfx, mkexpr(dst) );
+         stmt( IRStmt_Put( OFFB_CC_OP,   mkU64(size == 8
+                                               ? AMD64G_CC_OP_BLSI64
+                                               : AMD64G_CC_OP_BLSI32)) );
+         stmt( IRStmt_Put( OFFB_CC_DEP1, widenUto64(mkexpr(dst))) );
+         stmt( IRStmt_Put( OFFB_CC_DEP2, widenUto64(mkexpr(src))) );
+         *uses_vvvv = True;
+         goto decode_success;
+      }
+      /* BLSMSK r/m32, r32 = VEX.NDD.LZ.0F38.W0 F3 /2 */
+      /* BLSMSK r/m64, r64 = VEX.NDD.LZ.0F38.W1 F3 /2 */
+      if (haveNo66noF2noF3(pfx) && 0==getVexL(pfx)/*LZ*/
+          && !haveREX(pfx) && gregLO3ofRM(getUChar(delta)) == 2) {
+         Int     size = getRexW(pfx) ? 8 : 4;
+         IRType  ty   = szToITy(size);
+         IRTemp  src  = newTemp(ty);
+         IRTemp  dst  = newTemp(ty);
+         UChar   rm   = getUChar(delta);
+
+         if (epartIsReg(rm)) {
+            assign( src, getIRegE(size,pfx,rm) );
+            DIP("blsmsk %s,%s\n", nameIRegE(size,pfx,rm),
+                nameIRegV(size,pfx));
+            delta++;
+         } else {
+            addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 0 );
+            assign( src, loadLE(ty, mkexpr(addr)) );
+            DIP("blsmsk %s,%s\n", dis_buf, nameIRegV(size,pfx));
+            delta += alen;
+         }
+
+         assign( dst, binop(mkSizedOp(ty,Iop_Xor8),
+                            binop(mkSizedOp(ty,Iop_Sub8), mkexpr(src),
+                                  mkU(ty, 1)), mkexpr(src)) );
+         putIRegV( size, pfx, mkexpr(dst) );
+         stmt( IRStmt_Put( OFFB_CC_OP,   mkU64(size == 8
+                                               ? AMD64G_CC_OP_BLSMSK64
+                                               : AMD64G_CC_OP_BLSMSK32)) );
+         stmt( IRStmt_Put( OFFB_CC_DEP1, widenUto64(mkexpr(dst))) );
+         stmt( IRStmt_Put( OFFB_CC_DEP2, widenUto64(mkexpr(src))) );
+         *uses_vvvv = True;
+         goto decode_success;
+      }
+      /* BLSR r/m32, r32 = VEX.NDD.LZ.0F38.W0 F3 /1 */
+      /* BLSR r/m64, r64 = VEX.NDD.LZ.0F38.W1 F3 /1 */
+      if (haveNo66noF2noF3(pfx) && 0==getVexL(pfx)/*LZ*/
+          && !haveREX(pfx) && gregLO3ofRM(getUChar(delta)) == 1) {
+         Int     size = getRexW(pfx) ? 8 : 4;
+         IRType  ty   = szToITy(size);
+         IRTemp  src  = newTemp(ty);
+         IRTemp  dst  = newTemp(ty);
+         UChar   rm   = getUChar(delta);
+
+         if (epartIsReg(rm)) {
+            assign( src, getIRegE(size,pfx,rm) );
+            DIP("blsr %s,%s\n", nameIRegE(size,pfx,rm),
+                nameIRegV(size,pfx));
+            delta++;
+         } else {
+            addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 0 );
+            assign( src, loadLE(ty, mkexpr(addr)) );
+            DIP("blsr %s,%s\n", dis_buf, nameIRegV(size,pfx));
+            delta += alen;
+         }
+
+         assign( dst, binop(mkSizedOp(ty,Iop_And8),
+                            binop(mkSizedOp(ty,Iop_Sub8), mkexpr(src),
+                                  mkU(ty, 1)), mkexpr(src)) );
+         putIRegV( size, pfx, mkexpr(dst) );
+         stmt( IRStmt_Put( OFFB_CC_OP,   mkU64(size == 8
+                                               ? AMD64G_CC_OP_BLSR64
+                                               : AMD64G_CC_OP_BLSR32)) );
+         stmt( IRStmt_Put( OFFB_CC_DEP1, widenUto64(mkexpr(dst))) );
+         stmt( IRStmt_Put( OFFB_CC_DEP2, widenUto64(mkexpr(src))) );
+         *uses_vvvv = True;
+         goto decode_success;
+      }
+      break;
+
+   case 0xF5:
+      /* BZHI r32b, r/m32, r32a = VEX.NDS.LZ.0F38.W0 F5 /r */
+      /* BZHI r64b, r/m64, r64a = VEX.NDS.LZ.0F38.W1 F5 /r */
+      if (haveNo66noF2noF3(pfx) && 0==getVexL(pfx)/*LZ*/ && !haveREX(pfx)) {
+         Int     size  = getRexW(pfx) ? 8 : 4;
+         IRType  ty    = szToITy(size);
+         IRTemp  dst   = newTemp(ty);
+         IRTemp  src1  = newTemp(ty);
+         IRTemp  src2  = newTemp(ty);
+         IRTemp  start = newTemp(Ity_I8);
+         IRTemp  cond  = newTemp(Ity_I8);
+         UChar   rm    = getUChar(delta);
+
+         assign( src2, getIRegV(size,pfx) );
+         if (epartIsReg(rm)) {
+            assign( src1, getIRegE(size,pfx,rm) );
+            DIP("bzhi %s,%s,%s\n", nameIRegV(size,pfx),
+                nameIRegE(size,pfx,rm), nameIRegG(size,pfx,rm));
+            delta++;
+         } else {
+            addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 0 );
+            assign( src1, loadLE(ty, mkexpr(addr)) );
+            DIP("bzhi %s,%s,%s\n", nameIRegV(size,pfx), dis_buf,
+                nameIRegG(size,pfx,rm));
+            delta += alen;
+         }
+
+         assign( start, narrowTo( Ity_I8, mkexpr(src2) ) );
+         assign( cond, unop(Iop_1Uto8,
+                            binop(Iop_CmpLT32U,
+                                  unop(Iop_8Uto32, mkexpr(start)),
+                                  mkU32(8*size))) );
+         /* if (start < opsize) {
+               if (start == 0)
+                  dst = 0;
+               else
+                  dst = (src1 << (opsize-start)) u>> (opsize-start);
+            } else {
+               dst = src1;
+            } */
+         assign( dst,
+                 IRExpr_Mux0X(mkexpr(cond),
+		    mkexpr(src1),
+		    IRExpr_Mux0X(
+		       unop(Iop_1Uto8,
+		            binop(Iop_CmpEQ8, mkexpr(start), mkU8(0))),
+                       binop(mkSizedOp(ty,Iop_Shr8),
+                             binop(mkSizedOp(ty,Iop_Shl8), mkexpr(src1),
+                                   binop(Iop_Sub8, mkU8(8*size),
+                                         mkexpr(start))),
+                             binop(Iop_Sub8, mkU8(8*size),
+                                   mkexpr(start))),
+                             mkU(ty, 0))) );
+         putIRegG( size, pfx, rm, mkexpr(dst) );
+         stmt( IRStmt_Put( OFFB_CC_OP,   mkU64(size == 8
+                                               ? AMD64G_CC_OP_BLSR64
+                                               : AMD64G_CC_OP_BLSR32)) );
+         stmt( IRStmt_Put( OFFB_CC_DEP1, widenUto64(mkexpr(dst))) );
+         stmt( IRStmt_Put( OFFB_CC_DEP2, widenUto64(mkexpr(cond))) );
+         *uses_vvvv = True;
+         goto decode_success;
+      }
+      /* PDEP r/m32, r32b, r32a = VEX.NDS.LZ.F2.0F38.W0 F5 /r */
+      /* PDEP r/m64, r64b, r64a = VEX.NDS.LZ.F2.0F38.W1 F5 /r */
+      if (haveF2no66noF3(pfx) && 0==getVexL(pfx)/*LZ*/ && !haveREX(pfx)) {
+         Int     size = getRexW(pfx) ? 8 : 4;
+         IRType  ty   = szToITy(size);
+         IRTemp  src  = newTemp(ty);
+         IRTemp  mask = newTemp(ty);
+         UChar   rm   = getUChar(delta);
+
+         assign( src, getIRegV(size,pfx) );
+         if (epartIsReg(rm)) {
+            assign( mask, getIRegE(size,pfx,rm) );
+            DIP("pdep %s,%s,%s\n", nameIRegE(size,pfx,rm),
+                nameIRegV(size,pfx), nameIRegG(size,pfx,rm));
+            delta++;
+         } else {
+            addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 0 );
+            assign( mask, loadLE(ty, mkexpr(addr)) );
+            DIP("pdep %s,%s,%s\n", dis_buf, nameIRegV(size,pfx),
+                nameIRegG(size,pfx,rm));
+            delta += alen;
+         }
+
+         IRExpr** args = mkIRExprVec_2( widenUto64(mkexpr(src)),
+                                        widenUto64(mkexpr(mask)) );
+         putIRegG( size, pfx, rm,
+                   narrowTo(ty, mkIRExprCCall(Ity_I64, 0/*regparms*/,
+                                              "amd64g_calculate_pdep",
+                                              &amd64g_calculate_pdep, args)) );
+         *uses_vvvv = True;
+         /* Flags aren't modified.  */
+         goto decode_success;
+      }
+      /* PEXT r/m32, r32b, r32a = VEX.NDS.LZ.F3.0F38.W0 F5 /r */
+      /* PEXT r/m64, r64b, r64a = VEX.NDS.LZ.F3.0F38.W1 F5 /r */
+      if (haveF3no66noF2(pfx) && 0==getVexL(pfx)/*LZ*/ && !haveREX(pfx)) {
+         Int     size = getRexW(pfx) ? 8 : 4;
+         IRType  ty   = szToITy(size);
+         IRTemp  src  = newTemp(ty);
+         IRTemp  mask = newTemp(ty);
+         UChar   rm   = getUChar(delta);
+
+         assign( src, getIRegV(size,pfx) );
+         if (epartIsReg(rm)) {
+            assign( mask, getIRegE(size,pfx,rm) );
+            DIP("pext %s,%s,%s\n", nameIRegE(size,pfx,rm),
+                nameIRegV(size,pfx), nameIRegG(size,pfx,rm));
+            delta++;
+         } else {
+            addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 0 );
+            assign( mask, loadLE(ty, mkexpr(addr)) );
+            DIP("pext %s,%s,%s\n", dis_buf, nameIRegV(size,pfx),
+                nameIRegG(size,pfx,rm));
+            delta += alen;
+         }
+
+         /* First mask off bits not set in mask, they are ignored
+            and it should be fine if they contain undefined values.  */
+         IRExpr* masked = binop(mkSizedOp(ty,Iop_And8),
+                                mkexpr(src), mkexpr(mask));
+         IRExpr** args = mkIRExprVec_2( widenUto64(masked),
+                                        widenUto64(mkexpr(mask)) );
+         putIRegG( size, pfx, rm,
+                   narrowTo(ty, mkIRExprCCall(Ity_I64, 0/*regparms*/,
+                                              "amd64g_calculate_pext",
+                                              &amd64g_calculate_pext, args)) );
+         *uses_vvvv = True;
+         /* Flags aren't modified.  */
+         goto decode_success;
+      }
+      break;
+
+   case 0xF6:
+      /* MULX r/m32, r32b, r32a = VEX.NDD.LZ.F2.0F38.W0 F6 /r */
+      /* MULX r/m64, r64b, r64a = VEX.NDD.LZ.F2.0F38.W1 F6 /r */
+      if (haveF2no66noF3(pfx) && 0==getVexL(pfx)/*LZ*/ && !haveREX(pfx)) {
+         Int     size = getRexW(pfx) ? 8 : 4;
+         IRType  ty   = szToITy(size);
+         IRTemp  src1 = newTemp(ty);
+         IRTemp  src2 = newTemp(ty);
+         IRTemp  res  = newTemp(size == 8 ? Ity_I128 : Ity_I64);
+         UChar   rm   = getUChar(delta);
+
+         assign( src1, getIRegRDX(size) );
+         if (epartIsReg(rm)) {
+            assign( src2, getIRegE(size,pfx,rm) );
+            DIP("mulx %s,%s,%s\n", nameIRegE(size,pfx,rm),
+                nameIRegV(size,pfx), nameIRegG(size,pfx,rm));
+            delta++;
+         } else {
+            addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 0 );
+            assign( src2, loadLE(ty, mkexpr(addr)) );
+            DIP("mulx %s,%s,%s\n", dis_buf, nameIRegV(size,pfx),
+                nameIRegG(size,pfx,rm));
+            delta += alen;
+         }
+
+         assign( res, binop(size == 8 ? Iop_MullU64 : Iop_MullU32,
+                            mkexpr(src1), mkexpr(src2)) );
+         putIRegV( size, pfx,
+                   unop(size == 8 ? Iop_128to64 : Iop_64to32, mkexpr(res)) );
+         putIRegG( size, pfx, rm,
+                   unop(size == 8 ? Iop_128HIto64 : Iop_64HIto32,
+                        mkexpr(res)) );
+         *uses_vvvv = True;
+         /* Flags aren't modified.  */
+         goto decode_success;
+      }
+      break;
+
+   case 0xF7:
+      /* SARX r32b, r/m32, r32a = VEX.NDS.LZ.F3.0F38.W0 F7 /r */
+      /* SARX r64b, r/m64, r64a = VEX.NDS.LZ.F3.0F38.W1 F7 /r */
+      if (haveF3no66noF2(pfx) && 0==getVexL(pfx)/*LZ*/ && !haveREX(pfx)) {
+         delta = dis_SHIFTX( uses_vvvv, vbi, pfx, delta, "sarx", Iop_Sar8 );
+         goto decode_success;
+      }
+      /* SHLX r32b, r/m32, r32a = VEX.NDS.LZ.66.0F38.W0 F7 /r */
+      /* SHLX r64b, r/m64, r64a = VEX.NDS.LZ.66.0F38.W1 F7 /r */
+      if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*LZ*/ && !haveREX(pfx)) {
+         delta = dis_SHIFTX( uses_vvvv, vbi, pfx, delta, "shlx", Iop_Shl8 );
+         goto decode_success;
+      }
+      /* SHRX r32b, r/m32, r32a = VEX.NDS.LZ.F2.0F38.W0 F7 /r */
+      /* SHRX r64b, r/m64, r64a = VEX.NDS.LZ.F2.0F38.W1 F7 /r */
+      if (haveF2no66noF3(pfx) && 0==getVexL(pfx)/*LZ*/ && !haveREX(pfx)) {
+         delta = dis_SHIFTX( uses_vvvv, vbi, pfx, delta, "shrx", Iop_Shr8 );
+         goto decode_success;
+      }
+      /* BEXTR r32b, r/m32, r32a = VEX.NDS.LZ.0F38.W0 F7 /r */
+      /* BEXTR r64b, r/m64, r64a = VEX.NDS.LZ.0F38.W1 F7 /r */
+      if (haveNo66noF2noF3(pfx) && 0==getVexL(pfx)/*LZ*/ && !haveREX(pfx)) {
+         Int     size  = getRexW(pfx) ? 8 : 4;
+         IRType  ty    = szToITy(size);
+         IRTemp  dst   = newTemp(ty);
+         IRTemp  src1  = newTemp(ty);
+         IRTemp  src2  = newTemp(ty);
+         IRTemp  stle  = newTemp(Ity_I16);
+         IRTemp  start = newTemp(Ity_I8);
+         IRTemp  len   = newTemp(Ity_I8);
+         UChar   rm    = getUChar(delta);
+
+         assign( src2, getIRegV(size,pfx) );
+         if (epartIsReg(rm)) {
+            assign( src1, getIRegE(size,pfx,rm) );
+            DIP("bextr %s,%s,%s\n", nameIRegV(size,pfx),
+                nameIRegE(size,pfx,rm), nameIRegG(size,pfx,rm));
+            delta++;
+         } else {
+            addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 0 );
+            assign( src1, loadLE(ty, mkexpr(addr)) );
+            DIP("bextr %s,%s,%s\n", nameIRegV(size,pfx), dis_buf,
+                nameIRegG(size,pfx,rm));
+            delta += alen;
+         }
+
+         assign( stle, narrowTo( Ity_I16, mkexpr(src2) ) );
+         assign( start, unop( Iop_16to8, mkexpr(stle) ) );
+         assign( len, unop( Iop_16HIto8, mkexpr(stle) ) );
+         /* if (start+len < opsize) {
+               if (len != 0)
+                  dst = (src1 << (opsize-start-len)) u>> (opsize-len);
+               else
+                  dst = 0;
+            } else {
+               if (start < opsize)
+                  dst = src1 u>> start;
+               else
+                  dst = 0;
+            } */
+         assign( dst,
+                 IRExpr_Mux0X(
+                    unop(Iop_1Uto8,
+                         binop(Iop_CmpLT32U,
+                               binop(Iop_Add32,
+                                     unop(Iop_8Uto32, mkexpr(start)),
+                                     unop(Iop_8Uto32, mkexpr(len))),
+                               mkU32(8*size))),
+                    IRExpr_Mux0X(
+                       unop(Iop_1Uto8,
+                            binop(Iop_CmpLT32U,
+                                  unop(Iop_8Uto32, mkexpr(start)),
+                                  mkU32(8*size))),
+                       mkU(ty, 0),
+                       binop(mkSizedOp(ty,Iop_Shr8), mkexpr(src1),
+                             mkexpr(start))),
+                    IRExpr_Mux0X(
+                       unop(Iop_1Uto8,
+                            binop(Iop_CmpEQ8, mkexpr(len), mkU8(0))),
+                       binop(mkSizedOp(ty,Iop_Shr8),
+                             binop(mkSizedOp(ty,Iop_Shl8), mkexpr(src1),
+                                   binop(Iop_Sub8,
+                                         binop(Iop_Sub8, mkU8(8*size),
+                                               mkexpr(start)),
+                                         mkexpr(len))),
+                             binop(Iop_Sub8, mkU8(8*size),
+                                   mkexpr(len))),
+                       mkU(ty, 0))) );
+         putIRegG( size, pfx, rm, mkexpr(dst) );
+         stmt( IRStmt_Put( OFFB_CC_OP,   mkU64(size == 8
+                                               ? AMD64G_CC_OP_ANDN64
+                                               : AMD64G_CC_OP_ANDN32)) );
+         stmt( IRStmt_Put( OFFB_CC_DEP1, widenUto64(mkexpr(dst))) );
+         stmt( IRStmt_Put( OFFB_CC_DEP2, mkU64(0)) );
+         *uses_vvvv = True;
+         goto decode_success;
+      }
+      break;
+
+   default:
+      break;
+
+   }
+
+  //decode_failure:
+   return deltaIN;
+
+  decode_success:
+   return delta;
+}
+
+
+/*------------------------------------------------------------*/
+/*---                                                      ---*/
+/*--- Top-level post-escape decoders: dis_ESC_0F3A__VEX    ---*/
+/*---                                                      ---*/
+/*------------------------------------------------------------*/
+
+static IRTemp math_VPERMILPS_128 ( IRTemp sV, UInt imm8 )
+{
+   vassert(imm8 < 256);
+   IRTemp s3, s2, s1, s0;
+   s3 = s2 = s1 = s0 = IRTemp_INVALID;
+   breakupV128to32s( sV, &s3, &s2, &s1, &s0 );
+#  define SEL(_nn) (((_nn)==0) ? s0 : ((_nn)==1) ? s1 \
+                                    : ((_nn)==2) ? s2 : s3)
+   IRTemp res = newTemp(Ity_V128);
+   assign(res, mkV128from32s( SEL((imm8 >> 6) & 3),
+                              SEL((imm8 >> 4) & 3),
+                              SEL((imm8 >> 2) & 3),
+                              SEL((imm8 >> 0) & 3) ));
+#  undef SEL
+   return res;
+}
+
+__attribute__((noinline))
 static
 Long dis_ESC_0F3A__VEX (
         /*MB_OUT*/DisResult* dres,
@@ -25258,7 +28818,132 @@
    delta++;
    *uses_vvvv = False;
 
-   switch (opc) {
+   switch (opc) {
+
+   case 0x00:
+   case 0x01:
+      /* VPERMQ imm8, ymm2/m256, ymm1 = VEX.256.66.0F3A.W1 00 /r ib */
+      /* VPERMPD imm8, ymm2/m256, ymm1 = VEX.256.66.0F3A.W1 01 /r ib */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/
+          && 1==getRexW(pfx)/*W1*/) {
+         UChar  modrm = getUChar(delta);
+         UInt   imm8  = 0;
+         UInt   rG    = gregOfRexRM(pfx, modrm);
+         IRTemp sV    = newTemp(Ity_V256);
+         UChar *name  = opc == 0 ? "vpermq" : "vpermpd";
+         if (epartIsReg(modrm)) {
+            UInt rE = eregOfRexRM(pfx, modrm);
+            delta += 1;
+            imm8 = getUChar(delta);
+            DIP("%s $%u,%s,%s\n",
+                name, imm8, nameYMMReg(rE), nameYMMReg(rG));
+            assign(sV, getYMMReg(rE));
+         } else {
+            addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 1 );
+            delta += alen;
+            imm8 = getUChar(delta);
+            DIP("%s $%u,%s,%s\n",
+                name, imm8, dis_buf, nameYMMReg(rG));
+            assign(sV, loadLE(Ity_V256, mkexpr(addr)));
+         }
+         delta++;
+         IRTemp s[4];
+         s[3] = s[2] = s[1] = s[0] = IRTemp_INVALID;
+         breakupV256to64s(sV, &s[3], &s[2], &s[1], &s[0]);
+         IRTemp dV = newTemp(Ity_V256);
+         assign(dV, IRExpr_Qop(Iop_64x4toV256,
+                               mkexpr(s[(imm8 >> 6) & 3]),
+                               mkexpr(s[(imm8 >> 4) & 3]),
+                               mkexpr(s[(imm8 >> 2) & 3]),
+                               mkexpr(s[(imm8 >> 0) & 3])));
+         putYMMReg(rG, mkexpr(dV));
+         goto decode_success;
+      }
+      break;
+
+   case 0x02:
+      /* VPBLENDD imm8, xmm3/m128, xmm2, xmm1 = VEX.NDS.128.66.0F3A.W0 02 /r ib */
+      if (have66noF2noF3(pfx)
+          && 0==getVexL(pfx)/*128*/ && 0==getRexW(pfx)/*W0*/) {
+         UChar  modrm = getUChar(delta);
+         UInt   imm8  = 0;
+         UInt   rG    = gregOfRexRM(pfx, modrm);
+         UInt   rV    = getVexNvvvv(pfx);
+         IRTemp sV    = newTemp(Ity_V128);
+         IRTemp dV    = newTemp(Ity_V128);
+         UInt   i;
+         IRTemp s[4], d[4];
+         assign(sV, getXMMReg(rV));
+         if (epartIsReg(modrm)) {
+            UInt rE = eregOfRexRM(pfx, modrm);
+            delta += 1;
+            imm8 = getUChar(delta);
+            DIP("vpblendd $%u,%s,%s,%s\n",
+                imm8, nameXMMReg(rE), nameXMMReg(rV), nameXMMReg(rG));
+            assign(dV, getXMMReg(rE));
+         } else {
+            addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 1 );
+            delta += alen;
+            imm8 = getUChar(delta);
+            DIP("vpblendd $%u,%s,%s,%s\n",
+                imm8, dis_buf, nameXMMReg(rV), nameXMMReg(rG));
+            assign(dV, loadLE(Ity_V128, mkexpr(addr)));
+         }
+         delta++;
+         for (i = 0; i < 4; i++) {
+            s[i] = IRTemp_INVALID;
+            d[i] = IRTemp_INVALID;
+         }
+         breakupV128to32s( sV, &s[3], &s[2], &s[1], &s[0] );
+         breakupV128to32s( dV, &d[3], &d[2], &d[1], &d[0] );
+         for (i = 0; i < 4; i++)
+            putYMMRegLane32(rG, i, mkexpr((imm8 & (1<<i)) ? d[i] : s[i]));
+         putYMMRegLane128(rG, 1, mkV128(0));
+         *uses_vvvv = True;
+         goto decode_success;
+      }
+      /* VPBLENDD imm8, ymm3/m256, ymm2, ymm1 = VEX.NDS.256.66.0F3A.W0 02 /r ib */
+      if (have66noF2noF3(pfx)
+          && 1==getVexL(pfx)/*256*/ && 0==getRexW(pfx)/*W0*/) {
+         UChar  modrm = getUChar(delta);
+         UInt   imm8  = 0;
+         UInt   rG    = gregOfRexRM(pfx, modrm);
+         UInt   rV    = getVexNvvvv(pfx);
+         IRTemp sV    = newTemp(Ity_V256);
+         IRTemp dV    = newTemp(Ity_V256);
+         UInt   i;
+         IRTemp s[8], d[8];
+         assign(sV, getYMMReg(rV));
+         if (epartIsReg(modrm)) {
+            UInt rE = eregOfRexRM(pfx, modrm);
+            delta += 1;
+            imm8 = getUChar(delta);
+            DIP("vpblendd $%u,%s,%s,%s\n",
+                imm8, nameYMMReg(rE), nameYMMReg(rV), nameYMMReg(rG));
+            assign(dV, getYMMReg(rE));
+         } else {
+            addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 1 );
+            delta += alen;
+            imm8 = getUChar(delta);
+            DIP("vpblendd $%u,%s,%s,%s\n",
+                imm8, dis_buf, nameYMMReg(rV), nameYMMReg(rG));
+            assign(dV, loadLE(Ity_V256, mkexpr(addr)));
+         }
+         delta++;
+         for (i = 0; i < 8; i++) {
+            s[i] = IRTemp_INVALID;
+            d[i] = IRTemp_INVALID;
+         }
+         breakupV256to32s( sV, &s[7], &s[6], &s[5], &s[4],
+                               &s[3], &s[2], &s[1], &s[0] );
+         breakupV256to32s( dV, &d[7], &d[6], &d[5], &d[4],
+                               &d[3], &d[2], &d[1], &d[0] );
+         for (i = 0; i < 8; i++)
+            putYMMRegLane32(rG, i, mkexpr((imm8 & (1<<i)) ? d[i] : s[i]));
+         *uses_vvvv = True;
+         goto decode_success;
+      }
+      break;
 
    case 0x04:
       /* VPERMILPS imm8, ymm2/m256, ymm1 = VEX.256.66.0F3A.WIG 04 /r ib */
@@ -25843,7 +29528,7 @@
             delta += alen;
             imm8 = getUChar(delta);
             DIP("vpblendw $%u,%s,%s,%s\n",
-                imm8, dis_buf, nameYMMReg(rV), nameYMMReg(rG));
+                imm8, dis_buf, nameXMMReg(rV), nameXMMReg(rG));
             assign(sE, loadLE(Ity_V128, mkexpr(addr)));
          }
          delta++;
@@ -25852,6 +29537,42 @@
          *uses_vvvv = True;
          goto decode_success;
       }
+      /* VPBLENDW imm8, ymm3/m256, ymm2, ymm1 */
+      /* VPBLENDW = VEX.NDS.256.66.0F3A.WIG 0E /r ib */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         UChar  modrm = getUChar(delta);
+         UInt   imm8;
+         UInt   rG    = gregOfRexRM(pfx, modrm);
+         UInt   rV    = getVexNvvvv(pfx);
+         IRTemp sV    = newTemp(Ity_V256);
+         IRTemp sE    = newTemp(Ity_V256);
+         IRTemp sVhi, sVlo, sEhi, sElo;
+         sVhi = sVlo = sEhi = sElo = IRTemp_INVALID;
+         assign ( sV, getYMMReg(rV) );
+         if (epartIsReg(modrm)) {
+            UInt rE = eregOfRexRM(pfx, modrm);
+            delta += 1;
+            imm8 = getUChar(delta);
+            DIP("vpblendw $%u,%s,%s,%s\n",
+                imm8, nameYMMReg(rE), nameYMMReg(rV), nameYMMReg(rG));
+            assign(sE, getYMMReg(rE));
+         } else {
+            addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 1 );
+            delta += alen;
+            imm8 = getUChar(delta);
+            DIP("vpblendw $%u,%s,%s,%s\n",
+                imm8, dis_buf, nameYMMReg(rV), nameYMMReg(rG));
+            assign(sE, loadLE(Ity_V256, mkexpr(addr)));
+         }
+         delta++;
+         breakupV256toV128s( sV, &sVhi, &sVlo );
+         breakupV256toV128s( sE, &sEhi, &sElo );
+         putYMMReg( rG, binop( Iop_V128HLtoV256,
+                               mkexpr( math_PBLENDW_128( sEhi, sVhi, imm8) ),
+                               mkexpr( math_PBLENDW_128( sElo, sVlo, imm8) ) ) );
+         *uses_vvvv = True;
+         goto decode_success;
+      }
       break;
 
    case 0x0F:
@@ -25888,6 +29609,45 @@
          *uses_vvvv = True;
          goto decode_success;
       }
+      /* VPALIGNR imm8, ymm3/m256, ymm2, ymm1 */
+      /* VPALIGNR = VEX.NDS.256.66.0F3A.WIG 0F /r ib */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         UChar  modrm = getUChar(delta);
+         UInt   rG    = gregOfRexRM(pfx, modrm);
+         UInt   rV    = getVexNvvvv(pfx);
+         IRTemp sV    = newTemp(Ity_V256);
+         IRTemp dV    = newTemp(Ity_V256);
+         IRTemp sHi, sLo, dHi, dLo;
+         sHi = sLo = dHi = dLo = IRTemp_INVALID;
+         UInt   imm8;
+
+         assign( dV, getYMMReg(rV) );
+
+         if ( epartIsReg( modrm ) ) {
+            UInt   rE = eregOfRexRM(pfx, modrm);
+            assign( sV, getYMMReg(rE) );
+            imm8 = getUChar(delta+1);
+            delta += 1+1;
+            DIP("vpalignr $%d,%s,%s,%s\n", imm8, nameYMMReg(rE),
+                                           nameYMMReg(rV), nameYMMReg(rG));
+         } else {
+            addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 1 );
+            assign( sV, loadLE(Ity_V256, mkexpr(addr)) );
+            imm8 = getUChar(delta+alen);
+            delta += alen+1;
+            DIP("vpalignr $%d,%s,%s,%s\n", imm8, dis_buf,
+                                           nameYMMReg(rV), nameYMMReg(rG));
+         }
+
+         breakupV256toV128s( dV, &dHi, &dLo );
+         breakupV256toV128s( sV, &sHi, &sLo );
+         putYMMReg( rG, binop( Iop_V128HLtoV256,
+                               mkexpr( math_PALIGNR_XMM( sHi, dHi, imm8 ) ),
+                               mkexpr( math_PALIGNR_XMM( sLo, dLo, imm8 ) ) )
+                    );
+         *uses_vvvv = True;
+         goto decode_success;
+      }
       break;
 
    case 0x14:
@@ -26143,6 +29903,74 @@
       }
       break;
 
+   case 0x38:
+      /* VINSERTI128 r/m, rV, rD
+         ::: rD = insertinto(a lane in rV, 128 bits from r/m) */
+      /* VINSERTI128 = VEX.NDS.256.66.0F3A.W0 38 /r ib */
+      if (have66noF2noF3(pfx)
+          && 1==getVexL(pfx)/*256*/ && 0==getRexW(pfx)/*W0*/) {
+         UChar  modrm = getUChar(delta);
+         UInt   ib    = 0;
+         UInt   rG    = gregOfRexRM(pfx, modrm);
+         UInt   rV    = getVexNvvvv(pfx);
+         IRTemp t128  = newTemp(Ity_V128);
+         if (epartIsReg(modrm)) {
+            UInt rE = eregOfRexRM(pfx, modrm);
+            delta += 1;
+            assign(t128, getXMMReg(rE));
+            ib = getUChar(delta);
+            DIP("vinserti128 $%u,%s,%s,%s\n",
+                ib, nameXMMReg(rE), nameYMMReg(rV), nameYMMReg(rG));
+         } else {
+            addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 1 );
+            assign(t128, loadLE(Ity_V128, mkexpr(addr)));
+            delta += alen;
+            ib = getUChar(delta);
+            DIP("vinserti128 $%u,%s,%s,%s\n",
+                ib, dis_buf, nameYMMReg(rV), nameYMMReg(rG));
+         }
+         delta++;
+         putYMMRegLane128(rG, 0,   getYMMRegLane128(rV, 0));
+         putYMMRegLane128(rG, 1,   getYMMRegLane128(rV, 1));
+         putYMMRegLane128(rG, ib & 1, mkexpr(t128));
+         *uses_vvvv = True;
+         goto decode_success;
+      }
+      break;
+
+   case 0x39:
+      /* VEXTRACTI128 $lane_no, rS, r/m
+         ::: r/m:V128 = a lane of rS:V256 (RM format) */
+      /* VEXTRACTI128 = VEX.256.66.0F3A.W0 39 /r ib */
+      if (have66noF2noF3(pfx)
+          && 1==getVexL(pfx)/*256*/ && 0==getRexW(pfx)/*W0*/) {
+         UChar  modrm = getUChar(delta);
+         UInt   ib    = 0;
+         UInt   rS    = gregOfRexRM(pfx, modrm);
+         IRTemp t128  = newTemp(Ity_V128);
+         if (epartIsReg(modrm)) {
+            UInt rD = eregOfRexRM(pfx, modrm);
+            delta += 1;
+            ib = getUChar(delta);
+            assign(t128, getYMMRegLane128(rS, ib & 1));
+            putYMMRegLoAndZU(rD, mkexpr(t128));
+            DIP("vextracti128 $%u,%s,%s\n",
+                ib, nameXMMReg(rS), nameYMMReg(rD));
+         } else {
+            addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 1 );
+            delta += alen;
+            ib = getUChar(delta);
+            assign(t128, getYMMRegLane128(rS, ib & 1));
+            storeLE(mkexpr(addr), mkexpr(t128));
+            DIP("vextracti128 $%u,%s,%s\n",
+                ib, nameYMMReg(rS), dis_buf);
+         }
+         delta++;
+         /* doesn't use vvvv */
+         goto decode_success;
+      }
+      break;
+
    case 0x40:
       /* VDPPS imm8, xmm3/m128,xmm2,xmm1 = VEX.NDS.128.66.0F3A.WIG 40 /r ib */
       if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/) {
@@ -26280,6 +30108,46 @@
          *uses_vvvv = True;
          goto decode_success;
       }
+      /* VMPSADBW imm8, ymm3/m256,ymm2,ymm1 */
+      /* VMPSADBW = VEX.NDS.256.66.0F3A.WIG 42 /r ib */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         UChar  modrm   = getUChar(delta);
+         Int    imm8;
+         IRTemp src_vec = newTemp(Ity_V256);
+         IRTemp dst_vec = newTemp(Ity_V256);
+         UInt   rG      = gregOfRexRM(pfx, modrm);
+         UInt   rV      = getVexNvvvv(pfx);
+         IRTemp sHi, sLo, dHi, dLo;
+         sHi = sLo = dHi = dLo = IRTemp_INVALID;
+
+         assign( dst_vec, getYMMReg(rV) );
+
+         if ( epartIsReg( modrm ) ) {
+            UInt rE = eregOfRexRM(pfx, modrm);
+
+            imm8 = (Int)getUChar(delta+1);
+            assign( src_vec, getYMMReg(rE) );
+            delta += 1+1;
+            DIP( "vmpsadbw $%d, %s,%s,%s\n", imm8,
+                 nameYMMReg(rE), nameYMMReg(rV), nameYMMReg(rG) );
+         } else {
+            addr = disAMode( &alen, vbi, pfx, delta, dis_buf,
+                             1/* imm8 is 1 byte after the amode */ );
+            assign( src_vec, loadLE( Ity_V256, mkexpr(addr) ) );
+            imm8 = (Int)getUChar(delta+alen);
+            delta += alen+1;
+            DIP( "vmpsadbw $%d, %s,%s,%s\n", imm8,
+                 dis_buf, nameYMMReg(rV), nameYMMReg(rG) );
+         }
+
+         breakupV256toV128s( dst_vec, &dHi, &dLo );
+         breakupV256toV128s( src_vec, &sHi, &sLo );
+         putYMMReg( rG, binop( Iop_V128HLtoV256,
+                               mkexpr( math_MPSADBW_128(dHi, sHi, imm8 >> 3) ),
+                               mkexpr( math_MPSADBW_128(dLo, sLo, imm8) ) ) );
+         *uses_vvvv = True;
+         goto decode_success;
+      }
       break;
 
    case 0x44:
@@ -26322,6 +30190,52 @@
       }
       break;
 
+   case 0x46:
+      /* VPERM2I128 imm8, ymm3/m256, ymm2, ymm1 = VEX.NDS.66.0F3A.W0 46 /r ib */
+      if (have66noF2noF3(pfx)
+          && 1==getVexL(pfx)/*256*/ && 0==getRexW(pfx)/*W0*/) {
+         UChar  modrm = getUChar(delta);
+         UInt   imm8  = 0;
+         UInt   rG    = gregOfRexRM(pfx, modrm);
+         UInt   rV    = getVexNvvvv(pfx);
+         IRTemp s00   = newTemp(Ity_V128);
+         IRTemp s01   = newTemp(Ity_V128);
+         IRTemp s10   = newTemp(Ity_V128);
+         IRTemp s11   = newTemp(Ity_V128);
+         assign(s00, getYMMRegLane128(rV, 0));
+         assign(s01, getYMMRegLane128(rV, 1));
+         if (epartIsReg(modrm)) {
+            UInt rE = eregOfRexRM(pfx, modrm);
+            delta += 1;
+            imm8 = getUChar(delta);
+            DIP("vperm2i128 $%u,%s,%s,%s\n",
+                imm8, nameYMMReg(rE), nameYMMReg(rV), nameYMMReg(rG));
+            assign(s10, getYMMRegLane128(rE, 0));
+            assign(s11, getYMMRegLane128(rE, 1));
+         } else {
+            addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 1 );
+            delta += alen;
+            imm8 = getUChar(delta);
+            DIP("vperm2i128 $%u,%s,%s,%s\n",
+                imm8, dis_buf, nameYMMReg(rV), nameYMMReg(rG));
+            assign(s10, loadLE(Ity_V128, binop(Iop_Add64,
+                                               mkexpr(addr), mkU64(0))));
+            assign(s11, loadLE(Ity_V128, binop(Iop_Add64,
+                                               mkexpr(addr), mkU64(16))));
+         }
+         delta++;
+#        define SEL(_nn) (((_nn)==0) ? s00 : ((_nn)==1) ? s01 \
+                                           : ((_nn)==2) ? s10 : s11)
+         putYMMRegLane128(rG, 0, mkexpr(SEL((imm8 >> 0) & 3)));
+         putYMMRegLane128(rG, 1, mkexpr(SEL((imm8 >> 4) & 3)));
+#        undef SEL
+         if (imm8 & (1<<3)) putYMMRegLane128(rG, 0, mkV128(0));
+         if (imm8 & (1<<7)) putYMMRegLane128(rG, 1, mkV128(0));
+         *uses_vvvv = True;
+         goto decode_success;
+      }
+      break;
+
    case 0x4A:
       /* VBLENDVPS xmmG, xmmE/memE, xmmV, xmmIS4
          ::: xmmG:V128 = PBLEND(xmmE, xmmV, xmmIS4) (RMVR) */
@@ -26374,6 +30288,15 @@
          *uses_vvvv = True;
          goto decode_success;
       }
+      /* VPBLENDVB ymmG, ymmE/memE, ymmV, ymmIS4
+         ::: ymmG:V256 = PBLEND(ymmE, ymmV, ymmIS4) (RMVR) */
+      /* VPBLENDVB = VEX.NDS.256.66.0F3A.WIG 4C /r /is4 */
+      if (have66noF2noF3(pfx) && 1==getVexL(pfx)/*256*/) {
+         delta = dis_VBLENDV_256 ( vbi, pfx, delta,
+                                   "vpblendvb", 1, Iop_SarN8x16 );
+         *uses_vvvv = True;
+         goto decode_success;
+      }
       break;
 
    case 0x60:
@@ -26402,6 +30325,44 @@
          goto decode_success;
       }
       break;
+
+   case 0xF0:
+      /* RORX imm8, r/m32, r32a = VEX.LZ.F2.0F3A.W0 F0 /r /i */
+      /* RORX imm8, r/m64, r64a = VEX.LZ.F2.0F3A.W1 F0 /r /i */
+      if (haveF2no66noF3(pfx) && 0==getVexL(pfx)/*LZ*/ && !haveREX(pfx)) {
+         Int     size = getRexW(pfx) ? 8 : 4;
+         IRType  ty   = szToITy(size);
+         IRTemp  src  = newTemp(ty);
+         UChar   rm   = getUChar(delta);
+         UChar   imm8;
+
+         if (epartIsReg(rm)) {
+            imm8 = getUChar(delta+1);
+            assign( src, getIRegE(size,pfx,rm) );
+            DIP("rorx %d,%s,%s\n", imm8, nameIRegE(size,pfx,rm),
+                                   nameIRegG(size,pfx,rm));
+            delta += 2;
+         } else {
+            addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 0 );
+            imm8 = getUChar(delta+alen);
+            assign( src, loadLE(ty, mkexpr(addr)) );
+            DIP("rorx %d,%s,%s\n", imm8, dis_buf, nameIRegG(size,pfx,rm));
+            delta += alen + 1;
+         }
+         imm8 &= 8*size-1;
+
+         /* dst = (src >>u imm8) | (src << (size-imm8)) */
+         putIRegG( size, pfx, rm,
+                   imm8 == 0 ? mkexpr(src)
+                   : binop( mkSizedOp(ty,Iop_Or8),
+                            binop( mkSizedOp(ty,Iop_Shr8), mkexpr(src),
+                                   mkU8(imm8) ),
+                            binop( mkSizedOp(ty,Iop_Shl8), mkexpr(src),
+                                   mkU8(8*size-imm8) ) ) );
+         /* Flags aren't modified.  */
+         goto decode_success;
+      }
+      break;
 
    default:
       break;
diff -ruN '--exclude=*.orig' '--exclude=autom4te.cache' valgrind-3.8.0.orig/VEX/priv/host_amd64_isel.c valgrind-3.8.0.new/VEX/priv/host_amd64_isel.c
--- valgrind-3.8.0.orig/VEX/priv/host_amd64_isel.c	2012-09-12 17:37:34.513929872 +0200
+++ valgrind-3.8.0.new/VEX/priv/host_amd64_isel.c	2012-09-12 19:55:08.897532132 +0200
@@ -43,6 +43,8 @@
 #include "host_generic_regs.h"
 #include "host_generic_simd64.h"
 #include "host_generic_simd128.h"
+#include "host_generic_simd256.h"
+#include "host_generic_maddf.h"
 #include "host_amd64_defs.h"
 
 
@@ -2457,6 +2459,73 @@
       return dst;
    }
 
+   if (e->tag == Iex_Unop && e->Iex.Unop.op == Iop_NegF32) {
+      /* Sigh ... very rough code.  Could do much better. */
+      /* Get the 128-bit literal 00---0 10---0 into a register
+         and xor it with the value to be negated. */
+      HReg r1  = newVRegI(env);
+      HReg dst = newVRegV(env);
+      HReg tmp = newVRegV(env);
+      HReg src = iselFltExpr(env, e->Iex.Unop.arg);
+      AMD64AMode* rsp0 = AMD64AMode_IR(0, hregAMD64_RSP());
+      addInstr(env, mk_vMOVsd_RR(src,tmp));
+      addInstr(env, AMD64Instr_Push(AMD64RMI_Imm(0)));
+      addInstr(env, AMD64Instr_Imm64( 1ULL<<31, r1 ));
+      addInstr(env, AMD64Instr_Push(AMD64RMI_Reg(r1)));
+      addInstr(env, AMD64Instr_SseLdSt(True, 16, dst, rsp0));
+      addInstr(env, AMD64Instr_SseReRg(Asse_XOR, tmp, dst));
+      add_to_rsp(env, 16);
+      return dst;
+   }
+
+   if (e->tag == Iex_Qop && e->Iex.Qop.details->op == Iop_MAddF32) {
+      IRQop *qop = e->Iex.Qop.details;
+      HReg dst  = newVRegV(env);
+      HReg argX = iselFltExpr(env, qop->arg2);
+      HReg argY = iselFltExpr(env, qop->arg3);
+      HReg argZ = iselFltExpr(env, qop->arg4);
+      /* XXXROUNDINGFIXME */
+      /* set roundingmode here */
+      /* subq $16, %rsp         -- make a space*/
+      sub_from_rsp(env, 16);
+      /* Prepare 4 arg regs:
+         leaq 0(%rsp), %rdi
+         leaq 4(%rsp), %rsi
+         leaq 8(%rsp), %rdx
+         leaq 12(%rsp), %rcx
+      */
+      addInstr(env, AMD64Instr_Lea64(AMD64AMode_IR(0, hregAMD64_RSP()),
+                                     hregAMD64_RDI()));
+      addInstr(env, AMD64Instr_Lea64(AMD64AMode_IR(4, hregAMD64_RSP()),
+                                     hregAMD64_RSI()));
+      addInstr(env, AMD64Instr_Lea64(AMD64AMode_IR(8, hregAMD64_RSP()),
+                                     hregAMD64_RDX()));
+      addInstr(env, AMD64Instr_Lea64(AMD64AMode_IR(12, hregAMD64_RSP()),
+                                     hregAMD64_RCX()));
+      /* Store the three args, at (%rsi), (%rdx) and (%rcx):
+         movss  %argX, 0(%rsi)
+         movss  %argY, 0(%rdx)
+         movss  %argZ, 0(%rcx)
+         */
+      addInstr(env, AMD64Instr_SseLdSt(False/*!isLoad*/, 4, argX,
+                                       AMD64AMode_IR(0, hregAMD64_RSI())));
+      addInstr(env, AMD64Instr_SseLdSt(False/*!isLoad*/, 4, argY,
+                                       AMD64AMode_IR(0, hregAMD64_RDX())));
+      addInstr(env, AMD64Instr_SseLdSt(False/*!isLoad*/, 4, argZ,
+                                       AMD64AMode_IR(0, hregAMD64_RCX())));
+      /* call the helper */
+      addInstr(env, AMD64Instr_Call( Acc_ALWAYS,
+                                     (ULong)(HWord)h_generic_calc_MAddF32,
+                                     4 ));
+      /* fetch the result from memory, using %r_argp, which the
+         register allocator will keep alive across the call. */
+      addInstr(env, AMD64Instr_SseLdSt(True/*isLoad*/, 4, dst,
+                                       AMD64AMode_IR(0, hregAMD64_RSP())));
+      /* and finally, clear the space */
+      add_to_rsp(env, 16);
+      return dst;
+   }
+
    ppIRExpr(e);
    vpanic("iselFltExpr_wrk");
 }
@@ -2588,6 +2657,54 @@
       }
    }
 
+   if (e->tag == Iex_Qop && e->Iex.Qop.details->op == Iop_MAddF64) {
+      IRQop *qop = e->Iex.Qop.details;
+      HReg dst  = newVRegV(env);
+      HReg argX = iselDblExpr(env, qop->arg2);
+      HReg argY = iselDblExpr(env, qop->arg3);
+      HReg argZ = iselDblExpr(env, qop->arg4);
+      /* XXXROUNDINGFIXME */
+      /* set roundingmode here */
+      /* subq $32, %rsp         -- make a space*/
+      sub_from_rsp(env, 32);
+      /* Prepare 4 arg regs:
+         leaq 0(%rsp), %rdi
+         leaq 8(%rsp), %rsi
+         leaq 16(%rsp), %rdx
+         leaq 24(%rsp), %rcx
+      */
+      addInstr(env, AMD64Instr_Lea64(AMD64AMode_IR(0, hregAMD64_RSP()),
+                                     hregAMD64_RDI()));
+      addInstr(env, AMD64Instr_Lea64(AMD64AMode_IR(8, hregAMD64_RSP()),
+                                     hregAMD64_RSI()));
+      addInstr(env, AMD64Instr_Lea64(AMD64AMode_IR(16, hregAMD64_RSP()),
+                                     hregAMD64_RDX()));
+      addInstr(env, AMD64Instr_Lea64(AMD64AMode_IR(24, hregAMD64_RSP()),
+                                     hregAMD64_RCX()));
+      /* Store the three args, at (%rsi), (%rdx) and (%rcx):
+         movsd  %argX, 0(%rsi)
+         movsd  %argY, 0(%rdx)
+         movsd  %argZ, 0(%rcx)
+         */
+      addInstr(env, AMD64Instr_SseLdSt(False/*!isLoad*/, 8, argX,
+                                       AMD64AMode_IR(0, hregAMD64_RSI())));
+      addInstr(env, AMD64Instr_SseLdSt(False/*!isLoad*/, 8, argY,
+                                       AMD64AMode_IR(0, hregAMD64_RDX())));
+      addInstr(env, AMD64Instr_SseLdSt(False/*!isLoad*/, 8, argZ,
+                                       AMD64AMode_IR(0, hregAMD64_RCX())));
+      /* call the helper */
+      addInstr(env, AMD64Instr_Call( Acc_ALWAYS,
+                                     (ULong)(HWord)h_generic_calc_MAddF64,
+                                     4 ));
+      /* fetch the result from memory, using %r_argp, which the
+         register allocator will keep alive across the call. */
+      addInstr(env, AMD64Instr_SseLdSt(True/*isLoad*/, 8, dst,
+                                       AMD64AMode_IR(0, hregAMD64_RSP())));
+      /* and finally, clear the space */
+      add_to_rsp(env, 32);
+      return dst;
+   }
+
    if (e->tag == Iex_Binop && e->Iex.Binop.op == Iop_RoundF64toInt) {
       AMD64AMode* m8_rsp = AMD64AMode_IR(-8, hregAMD64_RSP());
       HReg        arg    = iselDblExpr(env, e->Iex.Binop.arg2);
@@ -3404,6 +3521,7 @@
 static void iselDVecExpr_wrk ( /*OUT*/HReg* rHi, /*OUT*/HReg* rLo, 
                                ISelEnv* env, IRExpr* e )
 {
+   HWord fn = 0; /* address of helper fn, if required */
    vassert(e);
    IRType ty = typeOfIRExpr(env->type_env,e);
    vassert(ty == Ity_V256);
@@ -3525,6 +3643,8 @@
       }
 
       case Iop_CmpNEZ32x8: op = Asse_CMPEQ32; goto do_CmpNEZ_vector;
+      case Iop_CmpNEZ16x16: op = Asse_CMPEQ16; goto do_CmpNEZ_vector;
+      case Iop_CmpNEZ8x32: op = Asse_CMPEQ8;  goto do_CmpNEZ_vector;
       do_CmpNEZ_vector:
       {
          HReg argHi, argLo;
@@ -3599,6 +3719,37 @@
       case Iop_AndV256:    op = Asse_AND;      goto do_SseReRg;
       case Iop_OrV256:     op = Asse_OR;       goto do_SseReRg;
       case Iop_XorV256:    op = Asse_XOR;      goto do_SseReRg;
+      case Iop_Add8x32:    op = Asse_ADD8;     goto do_SseReRg;
+      case Iop_Add16x16:   op = Asse_ADD16;    goto do_SseReRg;
+      case Iop_Add32x8:    op = Asse_ADD32;    goto do_SseReRg;
+      case Iop_Add64x4:    op = Asse_ADD64;    goto do_SseReRg;
+      case Iop_QAdd8Sx32:  op = Asse_QADD8S;   goto do_SseReRg;
+      case Iop_QAdd16Sx16: op = Asse_QADD16S;  goto do_SseReRg;
+      case Iop_QAdd8Ux32:  op = Asse_QADD8U;   goto do_SseReRg;
+      case Iop_QAdd16Ux16: op = Asse_QADD16U;  goto do_SseReRg;
+      case Iop_Avg8Ux32:   op = Asse_AVG8U;    goto do_SseReRg;
+      case Iop_Avg16Ux16:  op = Asse_AVG16U;   goto do_SseReRg;
+      case Iop_CmpEQ8x32:  op = Asse_CMPEQ8;   goto do_SseReRg;
+      case Iop_CmpEQ16x16: op = Asse_CMPEQ16;  goto do_SseReRg;
+      case Iop_CmpEQ32x8:  op = Asse_CMPEQ32;  goto do_SseReRg;
+      case Iop_CmpGT8Sx32: op = Asse_CMPGT8S;  goto do_SseReRg;
+      case Iop_CmpGT16Sx16: op = Asse_CMPGT16S; goto do_SseReRg;
+      case Iop_CmpGT32Sx8: op = Asse_CMPGT32S; goto do_SseReRg;
+      case Iop_Max16Sx16:  op = Asse_MAX16S;   goto do_SseReRg;
+      case Iop_Max8Ux32:   op = Asse_MAX8U;    goto do_SseReRg;
+      case Iop_Min16Sx16:  op = Asse_MIN16S;   goto do_SseReRg;
+      case Iop_Min8Ux32:   op = Asse_MIN8U;    goto do_SseReRg;
+      case Iop_MulHi16Ux16: op = Asse_MULHI16U; goto do_SseReRg;
+      case Iop_MulHi16Sx16: op = Asse_MULHI16S; goto do_SseReRg;
+      case Iop_Mul16x16:   op = Asse_MUL16;    goto do_SseReRg;
+      case Iop_Sub8x32:    op = Asse_SUB8;     goto do_SseReRg;
+      case Iop_Sub16x16:   op = Asse_SUB16;    goto do_SseReRg;
+      case Iop_Sub32x8:    op = Asse_SUB32;    goto do_SseReRg;
+      case Iop_Sub64x4:    op = Asse_SUB64;    goto do_SseReRg;
+      case Iop_QSub8Sx32:  op = Asse_QSUB8S;   goto do_SseReRg;
+      case Iop_QSub16Sx16: op = Asse_QSUB16S;  goto do_SseReRg;
+      case Iop_QSub8Ux32:  op = Asse_QSUB8U;   goto do_SseReRg;
+      case Iop_QSub16Ux16: op = Asse_QSUB16U;  goto do_SseReRg;
       do_SseReRg:
       {
          HReg argLhi, argLlo, argRhi, argRlo;
@@ -3615,12 +3766,198 @@
          return;
       }
 
+      case Iop_ShlN16x16: op = Asse_SHL16; goto do_SseShift;
+      case Iop_ShlN32x8:  op = Asse_SHL32; goto do_SseShift;
+      case Iop_ShlN64x4:  op = Asse_SHL64; goto do_SseShift;
+      case Iop_SarN16x16: op = Asse_SAR16; goto do_SseShift;
+      case Iop_SarN32x8:  op = Asse_SAR32; goto do_SseShift;
+      case Iop_ShrN16x16: op = Asse_SHR16; goto do_SseShift;
+      case Iop_ShrN32x8:  op = Asse_SHR32; goto do_SseShift;
+      case Iop_ShrN64x4:  op = Asse_SHR64; goto do_SseShift;
+      do_SseShift: {
+         HReg gregHi, gregLo;
+         iselDVecExpr(&gregHi, &gregLo, env, e->Iex.Binop.arg1);
+         AMD64RMI*   rmi   = iselIntExpr_RMI(env, e->Iex.Binop.arg2);
+         AMD64AMode* rsp0  = AMD64AMode_IR(0, hregAMD64_RSP());
+         HReg        ereg  = newVRegV(env);
+         HReg        dstHi = newVRegV(env);
+         HReg        dstLo = newVRegV(env);
+         addInstr(env, AMD64Instr_Push(AMD64RMI_Imm(0)));
+         addInstr(env, AMD64Instr_Push(rmi));
+         addInstr(env, AMD64Instr_SseLdSt(True/*load*/, 16, ereg, rsp0));
+         addInstr(env, mk_vMOVsd_RR(gregHi, dstHi));
+         addInstr(env, AMD64Instr_SseReRg(op, ereg, dstHi));
+         addInstr(env, mk_vMOVsd_RR(gregLo, dstLo));
+         addInstr(env, AMD64Instr_SseReRg(op, ereg, dstLo));
+         add_to_rsp(env, 16);
+         *rHi = dstHi;
+         *rLo = dstLo;
+         return;
+      }
+
       case Iop_V128HLtoV256: {
          *rHi = iselVecExpr(env, e->Iex.Binop.arg1);
          *rLo = iselVecExpr(env, e->Iex.Binop.arg2);
          return;
       }
 
+      case Iop_Mul32x8:    fn = (HWord)h_generic_calc_Mul32x4;
+                           goto do_SseAssistedBinary;
+      case Iop_Max32Sx8:   fn = (HWord)h_generic_calc_Max32Sx4;
+                           goto do_SseAssistedBinary;
+      case Iop_Min32Sx8:   fn = (HWord)h_generic_calc_Min32Sx4;
+                           goto do_SseAssistedBinary;
+      case Iop_Max32Ux8:   fn = (HWord)h_generic_calc_Max32Ux4;
+                           goto do_SseAssistedBinary;
+      case Iop_Min32Ux8:   fn = (HWord)h_generic_calc_Min32Ux4;
+                           goto do_SseAssistedBinary;
+      case Iop_Max16Ux16:  fn = (HWord)h_generic_calc_Max16Ux8;
+                           goto do_SseAssistedBinary;
+      case Iop_Min16Ux16:  fn = (HWord)h_generic_calc_Min16Ux8;
+                           goto do_SseAssistedBinary;
+      case Iop_Max8Sx32:   fn = (HWord)h_generic_calc_Max8Sx16;
+                           goto do_SseAssistedBinary;
+      case Iop_Min8Sx32:   fn = (HWord)h_generic_calc_Min8Sx16;
+                           goto do_SseAssistedBinary;
+      case Iop_CmpEQ64x4:  fn = (HWord)h_generic_calc_CmpEQ64x2;
+                           goto do_SseAssistedBinary;
+      case Iop_CmpGT64Sx4: fn = (HWord)h_generic_calc_CmpGT64Sx2;
+                           goto do_SseAssistedBinary;
+      do_SseAssistedBinary: {
+         /* RRRufff!  RRRufff code is what we're generating here.  Oh
+            well. */
+         vassert(fn != 0);
+         HReg dstHi = newVRegV(env);
+         HReg dstLo = newVRegV(env);
+         HReg argLhi, argLlo, argRhi, argRlo;
+         iselDVecExpr(&argLhi, &argLlo, env, e->Iex.Binop.arg1);
+         iselDVecExpr(&argRhi, &argRlo, env, e->Iex.Binop.arg2);
+         HReg argp = newVRegI(env);
+         /* subq $160, %rsp         -- make a space*/
+         sub_from_rsp(env, 160);
+         /* leaq 48(%rsp), %r_argp  -- point into it */
+         addInstr(env, AMD64Instr_Lea64(AMD64AMode_IR(48, hregAMD64_RSP()),
+                                        argp));
+         /* andq $-16, %r_argp      -- 16-align the pointer */
+         addInstr(env, AMD64Instr_Alu64R(Aalu_AND,
+                                         AMD64RMI_Imm( ~(UInt)15 ),
+                                         argp));
+         /* Prepare 3 arg regs:
+            leaq 0(%r_argp), %rdi
+            leaq 16(%r_argp), %rsi
+            leaq 32(%r_argp), %rdx
+         */
+         addInstr(env, AMD64Instr_Lea64(AMD64AMode_IR(0, argp),
+                                        hregAMD64_RDI()));
+         addInstr(env, AMD64Instr_Lea64(AMD64AMode_IR(16, argp),
+                                        hregAMD64_RSI()));
+         addInstr(env, AMD64Instr_Lea64(AMD64AMode_IR(32, argp),
+                                        hregAMD64_RDX()));
+         /* Store the two high args, at (%rsi) and (%rdx):
+            movupd  %argLhi, 0(%rsi)
+            movupd  %argRhi, 0(%rdx)
+         */
+         addInstr(env, AMD64Instr_SseLdSt(False/*!isLoad*/, 16, argLhi,
+                                          AMD64AMode_IR(0, hregAMD64_RSI())));
+         addInstr(env, AMD64Instr_SseLdSt(False/*!isLoad*/, 16, argRhi,
+                                          AMD64AMode_IR(0, hregAMD64_RDX())));
+         /* Store the two low args, at 48(%rsi) and 48(%rdx):
+            movupd  %argLlo, 48(%rsi)
+            movupd  %argRlo, 48(%rdx)
+         */
+         addInstr(env, AMD64Instr_SseLdSt(False/*!isLoad*/, 16, argLlo,
+                                          AMD64AMode_IR(48, hregAMD64_RSI())));
+         addInstr(env, AMD64Instr_SseLdSt(False/*!isLoad*/, 16, argRlo,
+                                          AMD64AMode_IR(48, hregAMD64_RDX())));
+         /* call the helper */
+         addInstr(env, AMD64Instr_Call( Acc_ALWAYS, (ULong)fn, 3 ));
+         /* Prepare 3 arg regs:
+            leaq 48(%r_argp), %rdi
+            leaq 64(%r_argp), %rsi
+            leaq 80(%r_argp), %rdx
+         */
+         addInstr(env, AMD64Instr_Lea64(AMD64AMode_IR(48, argp),
+                                        hregAMD64_RDI()));
+         addInstr(env, AMD64Instr_Lea64(AMD64AMode_IR(64, argp),
+                                        hregAMD64_RSI()));
+         addInstr(env, AMD64Instr_Lea64(AMD64AMode_IR(80, argp),
+                                        hregAMD64_RDX()));
+         /* call the helper */
+         addInstr(env, AMD64Instr_Call( Acc_ALWAYS, (ULong)fn, 3 ));
+         /* fetch the result from memory, using %r_argp, which the
+            register allocator will keep alive across the call. */
+         addInstr(env, AMD64Instr_SseLdSt(True/*isLoad*/, 16, dstHi,
+                                          AMD64AMode_IR(0, argp)));
+         addInstr(env, AMD64Instr_SseLdSt(True/*isLoad*/, 16, dstLo,
+                                          AMD64AMode_IR(48, argp)));
+         /* and finally, clear the space */
+         add_to_rsp(env, 160);
+         *rHi = dstHi;
+         *rLo = dstLo;
+         return;
+      }
+
+      case Iop_Perm32x8:   fn = (HWord)h_generic_calc_Perm32x8;
+                           goto do_SseAssistedBinary256;
+      do_SseAssistedBinary256: {
+         /* RRRufff!  RRRufff code is what we're generating here.  Oh
+            well. */
+         vassert(fn != 0);
+         HReg dstHi = newVRegV(env);
+         HReg dstLo = newVRegV(env);
+         HReg argLhi, argLlo, argRhi, argRlo;
+         iselDVecExpr(&argLhi, &argLlo, env, e->Iex.Binop.arg1);
+         iselDVecExpr(&argRhi, &argRlo, env, e->Iex.Binop.arg2);
+         HReg argp = newVRegI(env);
+         /* subq $160, %rsp         -- make a space*/
+         sub_from_rsp(env, 160);
+         /* leaq 48(%rsp), %r_argp  -- point into it */
+         addInstr(env, AMD64Instr_Lea64(AMD64AMode_IR(48, hregAMD64_RSP()),
+                                        argp));
+         /* andq $-16, %r_argp      -- 16-align the pointer */
+         addInstr(env, AMD64Instr_Alu64R(Aalu_AND,
+                                         AMD64RMI_Imm( ~(UInt)15 ),
+                                         argp));
+         /* Prepare 3 arg regs:
+            leaq 0(%r_argp), %rdi
+            leaq 32(%r_argp), %rsi
+            leaq 64(%r_argp), %rdx
+         */
+         addInstr(env, AMD64Instr_Lea64(AMD64AMode_IR(0, argp),
+                                        hregAMD64_RDI()));
+         addInstr(env, AMD64Instr_Lea64(AMD64AMode_IR(32, argp),
+                                        hregAMD64_RSI()));
+         addInstr(env, AMD64Instr_Lea64(AMD64AMode_IR(64, argp),
+                                        hregAMD64_RDX()));
+         /* Store the two args, at (%rsi) and (%rdx):
+            movupd  %argLlo, 0(%rsi)
+            movupd  %argLhi, 16(%rsi)
+            movupd  %argRlo, 0(%rdx)
+            movupd  %argRhi, 16(%rdx)
+         */
+         addInstr(env, AMD64Instr_SseLdSt(False/*!isLoad*/, 16, argLlo,
+                                          AMD64AMode_IR(0, hregAMD64_RSI())));
+         addInstr(env, AMD64Instr_SseLdSt(False/*!isLoad*/, 16, argLhi,
+                                          AMD64AMode_IR(16, hregAMD64_RSI())));
+         addInstr(env, AMD64Instr_SseLdSt(False/*!isLoad*/, 16, argRlo,
+                                          AMD64AMode_IR(0, hregAMD64_RDX())));
+         addInstr(env, AMD64Instr_SseLdSt(False/*!isLoad*/, 16, argRhi,
+                                          AMD64AMode_IR(16, hregAMD64_RDX())));
+         /* call the helper */
+         addInstr(env, AMD64Instr_Call( Acc_ALWAYS, (ULong)fn, 3 ));
+         /* fetch the result from memory, using %r_argp, which the
+            register allocator will keep alive across the call. */
+         addInstr(env, AMD64Instr_SseLdSt(True/*isLoad*/, 16, dstLo,
+                                          AMD64AMode_IR(0, argp)));
+         addInstr(env, AMD64Instr_SseLdSt(True/*isLoad*/, 16, dstHi,
+                                          AMD64AMode_IR(16, argp)));
+         /* and finally, clear the space */
+         add_to_rsp(env, 160);
+         *rHi = dstHi;
+         *rLo = dstLo;
+         return;
+      }
+
       default:
          break;
    } /* switch (e->Iex.Binop.op) */
@@ -3651,6 +3988,23 @@
       return;
    }
 
+   if (e->tag == Iex_Mux0X) {
+      HReg r8  = iselIntExpr_R(env, e->Iex.Mux0X.cond);
+      HReg rXhi, rXlo, r0hi, r0lo;
+      iselDVecExpr(&rXhi, &rXlo, env, e->Iex.Mux0X.exprX);
+      iselDVecExpr(&r0hi, &r0lo, env, e->Iex.Mux0X.expr0);
+      HReg dstHi = newVRegV(env);
+      HReg dstLo = newVRegV(env);
+      addInstr(env, mk_vMOVsd_RR(rXhi,dstHi));
+      addInstr(env, AMD64Instr_Test64(0xFF, r8));
+      addInstr(env, AMD64Instr_SseCMov(Acc_Z,r0hi,dstHi));
+      addInstr(env, mk_vMOVsd_RR(rXlo,dstLo));
+      addInstr(env, AMD64Instr_SseCMov(Acc_Z,r0lo,dstLo));
+      *rHi = dstHi;
+      *rLo = dstLo;
+      return;
+   }
+
    //avx_fail:
    vex_printf("iselDVecExpr (amd64, subarch = %s): can't reduce\n",
               LibVEX_ppVexHwCaps(VexArchAMD64, env->hwcaps));
@@ -4207,7 +4561,9 @@
                  & ~(VEX_HWCAPS_AMD64_SSE3
                      | VEX_HWCAPS_AMD64_CX16
                      | VEX_HWCAPS_AMD64_LZCNT
-                     | VEX_HWCAPS_AMD64_AVX)));
+                     | VEX_HWCAPS_AMD64_AVX
+                     | VEX_HWCAPS_AMD64_BMI
+                     | VEX_HWCAPS_AMD64_AVX2)));
 
    /* Make up an initial environment to use. */
    env = LibVEX_Alloc(sizeof(ISelEnv));
diff -ruN '--exclude=*.orig' '--exclude=autom4te.cache' valgrind-3.8.0.orig/VEX/priv/host_generic_maddf.c valgrind-3.8.0.new/VEX/priv/host_generic_maddf.c
--- valgrind-3.8.0.orig/VEX/priv/host_generic_maddf.c	1970-01-01 01:00:00.000000000 +0100
+++ valgrind-3.8.0.new/VEX/priv/host_generic_maddf.c	2012-09-12 19:54:55.746334068 +0200
@@ -0,0 +1,324 @@
+
+/*---------------------------------------------------------------*/
+/*--- begin                              host_generic_maddf.c ---*/
+/*---------------------------------------------------------------*/
+
+/*
+   This file is part of Valgrind, a dynamic binary instrumentation
+   framework.
+
+   Copyright (C) 2012 OpenWorks GbR
+      info@open-works.net
+
+   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.
+
+   The GNU General Public License is contained in the file COPYING.
+*/
+
+/* Generic helper functions for doing FMA, i.e. compute x * y + z
+   as ternary operation.
+   These are purely back-end entities and cannot be seen/referenced
+   from IR. */
+
+#include "libvex_basictypes.h"
+#include "host_generic_maddf.h"
+#include "main_util.h"
+
+/* This implementation relies on Double being more than twice as
+   precise as Float and uses rounding to odd in order to avoid problems
+   with double rounding.
+   See a paper by Boldo and Melquiond:
+   http://www.lri.fr/~melquion/doc/08-tc.pdf  */
+
+#define FORCE_EVAL(X) __asm __volatile__ ("" : : "m" (X))
+
+#if defined(__x86_64__) && defined(__SSE2_MATH__)
+# define ENV_TYPE unsigned int
+/* Save current rounding mode into ENV, hold exceptions, set rounding
+   mode to rounding toward zero.  */
+# define ROUNDTOZERO(env) \
+   do {							\
+      unsigned int mxcsr;				\
+      __asm __volatile__ ("stmxcsr %0" : "=m" (mxcsr));	\
+      (env) = mxcsr;					\
+      mxcsr = (mxcsr | 0x7f80) & ~0x3f;			\
+      __asm __volatile__ ("ldmxcsr %0" : : "m" (mxcsr));\
+   } while (0)
+/* Restore exceptions from ENV, return if inexact exception has been raised
+   since ROUNDTOZERO.  */
+# define RESET_TESTINEXACT(env) \
+   ({							\
+      unsigned int mxcsr, ret;				\
+      __asm __volatile__ ("stmxcsr %0" : "=m" (mxcsr));	\
+      ret = (mxcsr >> 5) & 1;				\
+      mxcsr = (mxcsr & 0x3d) | (env);			\
+      __asm __volatile__ ("ldmxcsr %0" : : "m" (mxcsr));\
+      ret;						\
+   })
+/* Return if inexact exception has been raised since ROUNDTOZERO.  */
+# define TESTINEXACT() \
+   ({							\
+      unsigned int mxcsr;				\
+      __asm __volatile__ ("stmxcsr %0" : "=m" (mxcsr));	\
+      (mxcsr >> 5) & 1;					\
+   })
+#endif
+
+#define DBL_MANT_DIG 53
+#define IEEE754_DOUBLE_BIAS 0x3ff
+
+union vg_ieee754_double {
+   Double d;
+
+   /* This is the IEEE 754 double-precision format.  */
+   struct {
+#ifdef VKI_BIG_ENDIAN
+      unsigned int negative:1;
+      unsigned int exponent:11;
+      unsigned int mantissa0:20;
+      unsigned int mantissa1:32;
+#else
+      unsigned int mantissa1:32;
+      unsigned int mantissa0:20;
+      unsigned int exponent:11;
+      unsigned int negative:1;
+#
+#endif
+   } ieee;
+};
+
+void VEX_REGPARM(3)
+     h_generic_calc_MAddF32 ( /*OUT*/Float* res,
+                               Float* argX, Float* argY, Float* argZ )
+{
+#ifndef ENV_TYPE
+   /* Lame fallback implementation.  */
+   *res = *argX * *argY + *argZ;
+#else
+   ENV_TYPE env;
+   /* Multiplication is always exact.  */
+   Double temp = (Double) *argX * (Double) *argY;
+   union vg_ieee754_double u;
+
+   ROUNDTOZERO (env);
+
+   /* Perform addition with round to odd.  */
+   u.d = temp + (Double) *argZ;
+   /* Ensure the addition is not scheduled after fetestexcept call.  */
+   FORCE_EVAL (u.d);
+
+   /* Reset rounding mode and test for inexact simultaneously.  */
+   int j = RESET_TESTINEXACT (env);
+
+   if ((u.ieee.mantissa1 & 1) == 0 && u.ieee.exponent != 0x7ff)
+      u.ieee.mantissa1 |= j;
+
+   /* And finally truncation with round to nearest.  */
+   *res = (Float) u.d;
+#endif
+}
+
+
+void VEX_REGPARM(3)
+     h_generic_calc_MAddF64 ( /*OUT*/Double* res,
+                               Double* argX, Double* argY, Double* argZ )
+{
+#ifndef ENV_TYPE
+   /* Lame fallback implementation.  */
+   *res = *argX * *argY + *argZ;
+#else
+   Double x = *argX, y = *argY, z = *argZ;
+   union vg_ieee754_double u, v, w;
+   int adjust = 0;
+   u.d = x;
+   v.d = y;
+   w.d = z;
+   if (UNLIKELY (u.ieee.exponent + v.ieee.exponent
+                 >= 0x7ff + IEEE754_DOUBLE_BIAS - DBL_MANT_DIG)
+       || UNLIKELY (u.ieee.exponent >= 0x7ff - DBL_MANT_DIG)
+       || UNLIKELY (v.ieee.exponent >= 0x7ff - DBL_MANT_DIG)
+       || UNLIKELY (w.ieee.exponent >= 0x7ff - DBL_MANT_DIG)
+       || UNLIKELY (u.ieee.exponent + v.ieee.exponent
+                    <= IEEE754_DOUBLE_BIAS + DBL_MANT_DIG)) {
+      /* If z is Inf, but x and y are finite, the result should be
+         z rather than NaN.  */
+      if (w.ieee.exponent == 0x7ff
+          && u.ieee.exponent != 0x7ff
+          && v.ieee.exponent != 0x7ff) {
+         *res = (z + x) + y;
+         return;
+      }
+      /* If x or y or z is Inf/NaN, or if fma will certainly overflow,
+         or if x * y is less than half of DBL_DENORM_MIN,
+         compute as x * y + z.  */
+      if (u.ieee.exponent == 0x7ff
+          || v.ieee.exponent == 0x7ff
+          || w.ieee.exponent == 0x7ff
+          || u.ieee.exponent + v.ieee.exponent > 0x7ff + IEEE754_DOUBLE_BIAS
+          || u.ieee.exponent + v.ieee.exponent
+             < IEEE754_DOUBLE_BIAS - DBL_MANT_DIG - 2) {
+         *res = x * y + z;
+         return;
+      }
+      if (u.ieee.exponent + v.ieee.exponent
+          >= 0x7ff + IEEE754_DOUBLE_BIAS - DBL_MANT_DIG) {
+         /* Compute 1p-53 times smaller result and multiply
+            at the end.  */
+         if (u.ieee.exponent > v.ieee.exponent)
+            u.ieee.exponent -= DBL_MANT_DIG;
+         else
+            v.ieee.exponent -= DBL_MANT_DIG;
+         /* If x + y exponent is very large and z exponent is very small,
+            it doesn't matter if we don't adjust it.  */
+         if (w.ieee.exponent > DBL_MANT_DIG)
+            w.ieee.exponent -= DBL_MANT_DIG;
+         adjust = 1;
+      } else if (w.ieee.exponent >= 0x7ff - DBL_MANT_DIG) {
+         /* Similarly.
+            If z exponent is very large and x and y exponents are
+            very small, it doesn't matter if we don't adjust it.  */
+         if (u.ieee.exponent > v.ieee.exponent) {
+            if (u.ieee.exponent > DBL_MANT_DIG)
+               u.ieee.exponent -= DBL_MANT_DIG;
+         } else if (v.ieee.exponent > DBL_MANT_DIG)
+            v.ieee.exponent -= DBL_MANT_DIG;
+         w.ieee.exponent -= DBL_MANT_DIG;
+         adjust = 1;
+      } else if (u.ieee.exponent >= 0x7ff - DBL_MANT_DIG) {
+         u.ieee.exponent -= DBL_MANT_DIG;
+         if (v.ieee.exponent)
+            v.ieee.exponent += DBL_MANT_DIG;
+         else
+            v.d *= 0x1p53;
+      } else if (v.ieee.exponent >= 0x7ff - DBL_MANT_DIG) {
+         v.ieee.exponent -= DBL_MANT_DIG;
+         if (u.ieee.exponent)
+            u.ieee.exponent += DBL_MANT_DIG;
+         else
+            u.d *= 0x1p53;
+      } else /* if (u.ieee.exponent + v.ieee.exponent
+                    <= IEEE754_DOUBLE_BIAS + DBL_MANT_DIG) */ {
+         if (u.ieee.exponent > v.ieee.exponent)
+            u.ieee.exponent += 2 * DBL_MANT_DIG;
+         else
+            v.ieee.exponent += 2 * DBL_MANT_DIG;
+         if (w.ieee.exponent <= 4 * DBL_MANT_DIG + 4) {
+            if (w.ieee.exponent)
+               w.ieee.exponent += 2 * DBL_MANT_DIG;
+            else
+               w.d *= 0x1p106;
+            adjust = -1;
+         }
+         /* Otherwise x * y should just affect inexact
+            and nothing else.  */
+      }
+      x = u.d;
+      y = v.d;
+      z = w.d;
+   }
+   /* Multiplication m1 + m2 = x * y using Dekker's algorithm.  */
+#define C ((1 << (DBL_MANT_DIG + 1) / 2) + 1)
+   Double x1 = x * C;
+   Double y1 = y * C;
+   Double m1 = x * y;
+   x1 = (x - x1) + x1;
+   y1 = (y - y1) + y1;
+   Double x2 = x - x1;
+   Double y2 = y - y1;
+   Double m2 = (((x1 * y1 - m1) + x1 * y2) + x2 * y1) + x2 * y2;
+
+   /* Addition a1 + a2 = z + m1 using Knuth's algorithm.  */
+   Double a1 = z + m1;
+   Double t1 = a1 - z;
+   Double t2 = a1 - t1;
+   t1 = m1 - t1;
+   t2 = z - t2;
+   Double a2 = t1 + t2;
+
+   ENV_TYPE env;
+   ROUNDTOZERO (env);
+
+   /* Perform m2 + a2 addition with round to odd.  */
+   u.d = a2 + m2;
+
+   if (UNLIKELY (adjust < 0)) {
+      if ((u.ieee.mantissa1 & 1) == 0)
+         u.ieee.mantissa1 |= TESTINEXACT ();
+      v.d = a1 + u.d;
+      /* Ensure the addition is not scheduled after fetestexcept call.  */
+      FORCE_EVAL (v.d);
+   }
+
+   /* Reset rounding mode and test for inexact simultaneously.  */
+   int j = RESET_TESTINEXACT (env) != 0;
+
+   if (LIKELY (adjust == 0)) {
+      if ((u.ieee.mantissa1 & 1) == 0 && u.ieee.exponent != 0x7ff)
+         u.ieee.mantissa1 |= j;
+      /* Result is a1 + u.d.  */
+      *res = a1 + u.d;
+   } else if (LIKELY (adjust > 0)) {
+      if ((u.ieee.mantissa1 & 1) == 0 && u.ieee.exponent != 0x7ff)
+         u.ieee.mantissa1 |= j;
+      /* Result is a1 + u.d, scaled up.  */
+      *res = (a1 + u.d) * 0x1p53;
+   } else {
+      /* If a1 + u.d is exact, the only rounding happens during
+         scaling down.  */
+      if (j == 0) {
+         *res = v.d * 0x1p-106;
+         return;
+      }
+      /* If result rounded to zero is not subnormal, no double
+         rounding will occur.  */
+      if (v.ieee.exponent > 106) {
+         *res = (a1 + u.d) * 0x1p-106;
+         return;
+      }
+      /* If v.d * 0x1p-106 with round to zero is a subnormal above
+         or equal to DBL_MIN / 2, then v.d * 0x1p-106 shifts mantissa
+         down just by 1 bit, which means v.ieee.mantissa1 |= j would
+         change the round bit, not sticky or guard bit.
+         v.d * 0x1p-106 never normalizes by shifting up,
+         so round bit plus sticky bit should be already enough
+         for proper rounding.  */
+      if (v.ieee.exponent == 106) {
+         /* v.ieee.mantissa1 & 2 is LSB bit of the result before rounding,
+            v.ieee.mantissa1 & 1 is the round bit and j is our sticky
+            bit.  In round-to-nearest 001 rounds down like 00,
+            011 rounds up, even though 01 rounds down (thus we need
+            to adjust), 101 rounds down like 10 and 111 rounds up
+            like 11.  */
+         if ((v.ieee.mantissa1 & 3) == 1) {
+            v.d *= 0x1p-106;
+            if (v.ieee.negative)
+               *res = v.d - 0x1p-1074;
+            else
+               *res = v.d + 0x1p-1074;
+         } else
+            *res = v.d * 0x1p-106;
+         return;
+      }
+      v.ieee.mantissa1 |= j;
+      *res = v.d * 0x1p-106;
+      return;
+    }
+#endif
+}
+
+/*---------------------------------------------------------------*/
+/*--- end                                 host_generic_maddf.c --*/
+/*---------------------------------------------------------------*/
diff -ruN '--exclude=*.orig' '--exclude=autom4te.cache' valgrind-3.8.0.orig/VEX/priv/host_generic_maddf.h valgrind-3.8.0.new/VEX/priv/host_generic_maddf.h
--- valgrind-3.8.0.orig/VEX/priv/host_generic_maddf.h	1970-01-01 01:00:00.000000000 +0100
+++ valgrind-3.8.0.new/VEX/priv/host_generic_maddf.h	2012-09-12 19:54:55.685333150 +0200
@@ -0,0 +1,52 @@
+
+/*---------------------------------------------------------------*/
+/*--- begin                              host_generic_maddf.h ---*/
+/*---------------------------------------------------------------*/
+
+/*
+   This file is part of Valgrind, a dynamic binary instrumentation
+   framework.
+
+   Copyright (C) 2012 OpenWorks GbR
+      info@open-works.net
+
+   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.
+
+   The GNU General Public License is contained in the file COPYING.
+*/
+
+/* Generic helper functions for doing FMA, i.e. compute x * y + z
+   as ternary operation.
+   These are purely back-end entities and cannot be seen/referenced
+   from IR. */
+
+#ifndef __VEX_HOST_GENERIC_MADDF_H
+#define __VEX_HOST_GENERIC_MADDF_H
+
+#include "libvex_basictypes.h"
+
+extern VEX_REGPARM(3)
+       void h_generic_calc_MAddF32 ( /*OUT*/Float*, Float*, Float*, Float* );
+
+extern VEX_REGPARM(3)
+       void h_generic_calc_MAddF64 ( /*OUT*/Double*, Double*, Double*,
+                                     Double* );
+
+#endif /* ndef __VEX_HOST_GENERIC_MADDF_H */
+
+/*---------------------------------------------------------------*/
+/*--- end                                 host_generic_maddf.h --*/
+/*---------------------------------------------------------------*/
diff -ruN '--exclude=*.orig' '--exclude=autom4te.cache' valgrind-3.8.0.orig/VEX/priv/host_generic_simd256.c valgrind-3.8.0.new/VEX/priv/host_generic_simd256.c
--- valgrind-3.8.0.orig/VEX/priv/host_generic_simd256.c	1970-01-01 01:00:00.000000000 +0100
+++ valgrind-3.8.0.new/VEX/priv/host_generic_simd256.c	2012-09-12 19:53:20.976906747 +0200
@@ -0,0 +1,57 @@
+
+/*---------------------------------------------------------------*/
+/*--- begin                            host_generic_simd256.c ---*/
+/*---------------------------------------------------------------*/
+
+/*
+   This file is part of Valgrind, a dynamic binary instrumentation
+   framework.
+
+   Copyright (C) 2012 OpenWorks GbR
+      info@open-works.net
+
+   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.
+
+   The GNU General Public License is contained in the file COPYING.
+*/
+
+/* Generic helper functions for doing 256-bit SIMD arithmetic in cases
+   where the instruction selectors cannot generate code in-line.
+   These are purely back-end entities and cannot be seen/referenced
+   from IR. */
+
+#include "libvex_basictypes.h"
+#include "host_generic_simd256.h"
+
+
+void VEX_REGPARM(3)
+     h_generic_calc_Perm32x8 ( /*OUT*/V256* res,
+                               V256* argL, V256* argR )
+{
+   res->w32[0] = argL->w32[ argR->w32[0] & 7 ];
+   res->w32[1] = argL->w32[ argR->w32[1] & 7 ];
+   res->w32[2] = argL->w32[ argR->w32[2] & 7 ];
+   res->w32[3] = argL->w32[ argR->w32[3] & 7 ];
+   res->w32[4] = argL->w32[ argR->w32[4] & 7 ];
+   res->w32[5] = argL->w32[ argR->w32[5] & 7 ];
+   res->w32[6] = argL->w32[ argR->w32[6] & 7 ];
+   res->w32[7] = argL->w32[ argR->w32[7] & 7 ];
+}
+
+
+/*---------------------------------------------------------------*/
+/*--- end                              host_generic_simd256.c ---*/
+/*---------------------------------------------------------------*/
diff -ruN '--exclude=*.orig' '--exclude=autom4te.cache' valgrind-3.8.0.orig/VEX/priv/host_generic_simd256.h valgrind-3.8.0.new/VEX/priv/host_generic_simd256.h
--- valgrind-3.8.0.orig/VEX/priv/host_generic_simd256.h	1970-01-01 01:00:00.000000000 +0100
+++ valgrind-3.8.0.new/VEX/priv/host_generic_simd256.h	2012-09-12 19:53:20.956906446 +0200
@@ -0,0 +1,55 @@
+
+/*---------------------------------------------------------------*/
+/*--- begin                             host_generic_simd256.h ---*/
+/*---------------------------------------------------------------*/
+
+/*
+   This file is part of Valgrind, a dynamic binary instrumentation
+   framework.
+
+   Copyright (C) 2012 OpenWorks GbR
+      info@open-works.net
+
+   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.
+
+   The GNU General Public License is contained in the file COPYING.
+*/
+
+/* Generic helper functions for doing 256-bit SIMD arithmetic in cases
+   where the instruction selectors cannot generate code in-line.
+   These are purely back-end entities and cannot be seen/referenced
+   as clean helper functions from IR.
+
+   These will get called from generated code and therefore should be
+   well behaved -- no floating point or mmx insns, just straight
+   integer code.
+
+   Each function implements the correspondingly-named IR primop.
+*/
+
+#ifndef __VEX_HOST_GENERIC_SIMD256_H
+#define __VEX_HOST_GENERIC_SIMD256_H
+
+#include "libvex_basictypes.h"
+
+extern VEX_REGPARM(3)
+       void h_generic_calc_Perm32x8   ( /*OUT*/V256*, V256*, V256* );
+
+#endif /* ndef __VEX_HOST_GENERIC_SIMD256_H */
+
+/*---------------------------------------------------------------*/
+/*--- end                              host_generic_simd256.h ---*/
+/*---------------------------------------------------------------*/
diff -ruN '--exclude=*.orig' '--exclude=autom4te.cache' valgrind-3.8.0.orig/VEX/priv/ir_defs.c valgrind-3.8.0.new/VEX/priv/ir_defs.c
--- valgrind-3.8.0.orig/VEX/priv/ir_defs.c	2012-09-12 17:37:34.511929841 +0200
+++ valgrind-3.8.0.new/VEX/priv/ir_defs.c	2012-09-12 19:55:08.894532087 +0200
@@ -1013,6 +1013,68 @@
       case Iop_NotV256: vex_printf("NotV256"); return;
       case Iop_CmpNEZ64x4: vex_printf("CmpNEZ64x4"); return;
       case Iop_CmpNEZ32x8: vex_printf("CmpNEZ32x8"); return;
+      case Iop_CmpNEZ16x16: vex_printf("CmpNEZ16x16"); return;
+      case Iop_CmpNEZ8x32: vex_printf("CmpNEZ8x32"); return;
+
+      case Iop_Add8x32:   vex_printf("Add8x32"); return;
+      case Iop_Add16x16:  vex_printf("Add16x16"); return;
+      case Iop_Add32x8:   vex_printf("Add32x8"); return;
+      case Iop_Add64x4:   vex_printf("Add64x4"); return;
+      case Iop_Sub8x32:   vex_printf("Sub8x32"); return;
+      case Iop_Sub16x16:  vex_printf("Sub16x16"); return;
+      case Iop_Sub32x8:   vex_printf("Sub32x8"); return;
+      case Iop_Sub64x4:   vex_printf("Sub64x4"); return;
+      case Iop_QAdd8Ux32: vex_printf("QAdd8Ux32"); return;
+      case Iop_QAdd16Ux16: vex_printf("QAdd16Ux16"); return;
+      case Iop_QAdd8Sx32: vex_printf("QAdd8Sx32"); return;
+      case Iop_QAdd16Sx16: vex_printf("QAdd16Sx16"); return;
+      case Iop_QSub8Ux32: vex_printf("QSub8Ux32"); return;
+      case Iop_QSub16Ux16: vex_printf("QSub16Ux16"); return;
+      case Iop_QSub8Sx32: vex_printf("QSub8Sx32"); return;
+      case Iop_QSub16Sx16: vex_printf("QSub16Sx16"); return;
+
+      case Iop_Mul16x16:    vex_printf("Mul16x16"); return;
+      case Iop_Mul32x8:     vex_printf("Mul32x8"); return;
+      case Iop_MulHi16Ux16: vex_printf("MulHi16Ux16"); return;
+      case Iop_MulHi16Sx16: vex_printf("MulHi16Sx16"); return;
+
+      case Iop_Avg8Ux32:  vex_printf("Avg8Ux32"); return;
+      case Iop_Avg16Ux16: vex_printf("Avg16Ux16"); return;
+
+      case Iop_Max8Sx32:  vex_printf("Max8Sx32"); return;
+      case Iop_Max16Sx16: vex_printf("Max16Sx16"); return;
+      case Iop_Max32Sx8:  vex_printf("Max32Sx8"); return;
+      case Iop_Max8Ux32:  vex_printf("Max8Ux32"); return;
+      case Iop_Max16Ux16: vex_printf("Max16Ux16"); return;
+      case Iop_Max32Ux8:  vex_printf("Max32Ux8"); return;
+
+      case Iop_Min8Sx32:  vex_printf("Min8Sx32"); return;
+      case Iop_Min16Sx16: vex_printf("Min16Sx16"); return;
+      case Iop_Min32Sx8:  vex_printf("Min32Sx8"); return;
+      case Iop_Min8Ux32:  vex_printf("Min8Ux32"); return;
+      case Iop_Min16Ux16: vex_printf("Min16Ux16"); return;
+      case Iop_Min32Ux8:  vex_printf("Min32Ux8"); return;
+
+      case Iop_CmpEQ8x32:   vex_printf("CmpEQ8x32"); return;
+      case Iop_CmpEQ16x16:  vex_printf("CmpEQ16x16"); return;
+      case Iop_CmpEQ32x8:   vex_printf("CmpEQ32x8"); return;
+      case Iop_CmpEQ64x4:   vex_printf("CmpEQ64x4"); return;
+      case Iop_CmpGT8Sx32:  vex_printf("CmpGT8Sx32"); return;
+      case Iop_CmpGT16Sx16: vex_printf("CmpGT16Sx16"); return;
+      case Iop_CmpGT32Sx8:  vex_printf("CmpGT32Sx8"); return;
+      case Iop_CmpGT64Sx4:  vex_printf("CmpGT64Sx4"); return;
+
+      case Iop_ShlN16x16:  vex_printf("ShlN16x16"); return;
+      case Iop_ShlN32x8:   vex_printf("ShlN32x8"); return;
+      case Iop_ShlN64x4:   vex_printf("ShlN64x4"); return;
+      case Iop_ShrN16x16:  vex_printf("ShrN16x16"); return;
+      case Iop_ShrN32x8:   vex_printf("ShrN32x8"); return;
+      case Iop_ShrN64x4:   vex_printf("ShrN64x4"); return;
+      case Iop_SarN16x16:  vex_printf("SarN16x16"); return;
+      case Iop_SarN32x8:   vex_printf("SarN32x8"); return;
+
+      case Iop_Perm32x8:   vex_printf("Perm32x8"); return;
+
       default: vpanic("ppIROp(1)");
    }
 
@@ -2828,6 +2890,26 @@
       case Iop_XorV256:
       case Iop_Max32Fx8: case Iop_Min32Fx8:
       case Iop_Max64Fx4: case Iop_Min64Fx4:
+      case Iop_Add8x32:  case Iop_Add16x16:
+      case Iop_Add32x8:  case Iop_Add64x4:
+      case Iop_Sub8x32:  case Iop_Sub16x16:
+      case Iop_Sub32x8:  case Iop_Sub64x4:
+      case Iop_Mul16x16: case Iop_Mul32x8:
+      case Iop_MulHi16Ux16: case Iop_MulHi16Sx16:
+      case Iop_Avg8Ux32: case Iop_Avg16Ux16:
+      case Iop_Max8Sx32: case Iop_Max16Sx16: case Iop_Max32Sx8:
+      case Iop_Max8Ux32: case Iop_Max16Ux16: case Iop_Max32Ux8:
+      case Iop_Min8Sx32: case Iop_Min16Sx16: case Iop_Min32Sx8:
+      case Iop_Min8Ux32: case Iop_Min16Ux16: case Iop_Min32Ux8:
+      case Iop_CmpEQ8x32:  case Iop_CmpEQ16x16:
+      case Iop_CmpEQ32x8:  case Iop_CmpEQ64x4:
+      case Iop_CmpGT8Sx32: case Iop_CmpGT16Sx16:
+      case Iop_CmpGT32Sx8: case Iop_CmpGT64Sx4:
+      case Iop_QAdd8Ux32: case Iop_QAdd16Ux16:
+      case Iop_QAdd8Sx32: case Iop_QAdd16Sx16:
+      case Iop_QSub8Ux32: case Iop_QSub16Ux16:
+      case Iop_QSub8Sx32: case Iop_QSub16Sx16:
+      case Iop_Perm32x8:
          BINARY(Ity_V256,Ity_V256, Ity_V256);
 
       case Iop_V256toV128_1: case Iop_V256toV128_0:
@@ -2841,9 +2923,17 @@
       case Iop_Sqrt32Fx8:
       case Iop_Sqrt64Fx4:
       case Iop_Recip32Fx8:
+      case Iop_CmpNEZ8x32: case Iop_CmpNEZ16x16:
       case Iop_CmpNEZ64x4: case Iop_CmpNEZ32x8:
          UNARY(Ity_V256, Ity_V256);
 
+      case Iop_ShlN16x16: case Iop_ShlN32x8:
+      case Iop_ShlN64x4:
+      case Iop_ShrN16x16: case Iop_ShrN32x8:
+      case Iop_ShrN64x4:
+      case Iop_SarN16x16: case Iop_SarN32x8:
+         BINARY(Ity_V256,Ity_I8, Ity_V256);
+
       default:
          ppIROp(op);
          vpanic("typeOfPrimop");
diff -ruN '--exclude=*.orig' '--exclude=autom4te.cache' valgrind-3.8.0.orig/VEX/priv/main_main.c valgrind-3.8.0.new/VEX/priv/main_main.c
--- valgrind-3.8.0.orig/VEX/priv/main_main.c	2012-09-12 17:37:34.509929813 +0200
+++ valgrind-3.8.0.new/VEX/priv/main_main.c	2012-09-12 19:54:35.356026975 +0200
@@ -1140,6 +1140,14 @@
       case VEX_HWCAPS_AMD64_SSE3 | VEX_HWCAPS_AMD64_CX16
            | VEX_HWCAPS_AMD64_LZCNT | VEX_HWCAPS_AMD64_AVX:
          return "amd64-sse3-cx16-lzcnt-avx";
+      case VEX_HWCAPS_AMD64_SSE3 | VEX_HWCAPS_AMD64_CX16
+           | VEX_HWCAPS_AMD64_LZCNT | VEX_HWCAPS_AMD64_AVX
+           | VEX_HWCAPS_AMD64_BMI:
+         return "amd64-sse3-cx16-lzcnt-avx-bmi";
+      case VEX_HWCAPS_AMD64_SSE3 | VEX_HWCAPS_AMD64_CX16
+           | VEX_HWCAPS_AMD64_LZCNT | VEX_HWCAPS_AMD64_AVX
+           | VEX_HWCAPS_AMD64_BMI | VEX_HWCAPS_AMD64_AVX2:
+         return "amd64-sse3-cx16-lzcnt-avx2-bmi";
       default:
          return NULL;
    }
diff -ruN '--exclude=*.orig' '--exclude=autom4te.cache' valgrind-3.8.0.orig/VEX/pub/libvex_basictypes.h valgrind-3.8.0.new/VEX/pub/libvex_basictypes.h
--- valgrind-3.8.0.orig/VEX/pub/libvex_basictypes.h	2012-09-12 17:37:34.507929780 +0200
+++ valgrind-3.8.0.new/VEX/pub/libvex_basictypes.h	2012-09-12 19:53:20.865905075 +0200
@@ -75,6 +75,16 @@
    }
    V128;
 
+/* A union for doing 256-bit vector primitives conveniently. */
+typedef
+   union {
+      UChar  w8[32];
+      UShort w16[16];
+      UInt   w32[8];
+      ULong  w64[4];
+   }
+   V256;
+
 /* Floating point. */
 typedef  float   Float;    /* IEEE754 single-precision (32-bit) value */
 typedef  double  Double;   /* IEEE754 double-precision (64-bit) value */
diff -ruN '--exclude=*.orig' '--exclude=autom4te.cache' valgrind-3.8.0.orig/VEX/pub/libvex.h valgrind-3.8.0.new/VEX/pub/libvex.h
--- valgrind-3.8.0.orig/VEX/pub/libvex.h	2012-09-12 17:37:34.507929781 +0200
+++ valgrind-3.8.0.new/VEX/pub/libvex.h	2012-09-12 19:54:35.345026811 +0200
@@ -82,6 +82,8 @@
 #define VEX_HWCAPS_AMD64_CX16  (1<<6)  /* cmpxchg16b support */
 #define VEX_HWCAPS_AMD64_LZCNT (1<<7)  /* SSE4a LZCNT insn */
 #define VEX_HWCAPS_AMD64_AVX   (1<<8)  /* AVX instructions */
+#define VEX_HWCAPS_AMD64_BMI   (1<<9)  /* BMI1 instructions */
+#define VEX_HWCAPS_AMD64_AVX2  (1<<10) /* AVX2 instructions */
 
 /* ppc32: baseline capability is integer only */
 #define VEX_HWCAPS_PPC32_F     (1<<8)  /* basic (non-optional) FP */
diff -ruN '--exclude=*.orig' '--exclude=autom4te.cache' valgrind-3.8.0.orig/VEX/pub/libvex_ir.h valgrind-3.8.0.new/VEX/pub/libvex_ir.h
--- valgrind-3.8.0.orig/VEX/pub/libvex_ir.h	2012-09-12 17:37:34.507929781 +0200
+++ valgrind-3.8.0.new/VEX/pub/libvex_ir.h	2012-09-12 19:55:08.861531590 +0200
@@ -1450,7 +1450,34 @@
       Iop_NotV256,
 
       /* MISC (vector integer cmp != 0) */
-      Iop_CmpNEZ32x8, Iop_CmpNEZ64x4,
+      Iop_CmpNEZ8x32, Iop_CmpNEZ16x16, Iop_CmpNEZ32x8, Iop_CmpNEZ64x4,
+
+      Iop_Add8x32,    Iop_Add16x16,    Iop_Add32x8,    Iop_Add64x4,
+      Iop_Sub8x32,    Iop_Sub16x16,    Iop_Sub32x8,    Iop_Sub64x4,
+
+      Iop_CmpEQ8x32,  Iop_CmpEQ16x16,  Iop_CmpEQ32x8,  Iop_CmpEQ64x4,
+      Iop_CmpGT8Sx32, Iop_CmpGT16Sx16, Iop_CmpGT32Sx8, Iop_CmpGT64Sx4,
+
+      Iop_ShlN16x16, Iop_ShlN32x8, Iop_ShlN64x4,
+      Iop_ShrN16x16, Iop_ShrN32x8, Iop_ShrN64x4,
+      Iop_SarN16x16, Iop_SarN32x8,
+
+      Iop_Max8Sx32, Iop_Max16Sx16, Iop_Max32Sx8,
+      Iop_Max8Ux32, Iop_Max16Ux16, Iop_Max32Ux8,
+      Iop_Min8Sx32, Iop_Min16Sx16, Iop_Min32Sx8,
+      Iop_Min8Ux32, Iop_Min16Ux16, Iop_Min32Ux8,
+
+      Iop_Mul16x16, Iop_Mul32x8,
+      Iop_MulHi16Ux16, Iop_MulHi16Sx16,
+
+      Iop_QAdd8Ux32, Iop_QAdd16Ux16,
+      Iop_QAdd8Sx32, Iop_QAdd16Sx16,
+      Iop_QSub8Ux32, Iop_QSub16Ux16,
+      Iop_QSub8Sx32, Iop_QSub16Sx16,
+
+      Iop_Avg8Ux32, Iop_Avg16Ux16,
+
+      Iop_Perm32x8,
 
       /* ------------------ 256-bit SIMD FP. ------------------ */
       Iop_Add64Fx4,