diff --git a/.gitignore b/.gitignore
index 4fed9b2..22fcc46 100644
--- a/.gitignore
+++ b/.gitignore
@@ -23,3 +23,4 @@
 /valgrind-3.10.1-svn20150825r15589.tar.bz2
 /valgrind-3.11.0.TEST1.tar.bz2
 /valgrind-3.11.0.tar.bz2
+/valgrind-3.12.0.BETA1.tar.bz2
diff --git a/sources b/sources
index 11aa90d..039b7be 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-4ea62074da73ae82e0162d6550d3f129  valgrind-3.11.0.tar.bz2
+cb91572285f0072861a23ed8531b1829  valgrind-3.12.0.BETA1.tar.bz2
diff --git a/valgrind-3.11.0-amd64-fcom.patch b/valgrind-3.11.0-amd64-fcom.patch
deleted file mode 100644
index 0458258..0000000
--- a/valgrind-3.11.0-amd64-fcom.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-commit 6f472ff11be7fa4a1114b2e3d321609717325311
-Author: tom <tom@8f6e269a-dfd6-0310-a8e1-e2731360e62c>
-Date:   Wed Feb 3 10:14:18 2016 +0000
-
-    Handle missing FCOM case on amd64.
-    
-    Patch from Mark Harris on BZ#212352.
-    
-    
-    git-svn-id: svn://svn.valgrind.org/vex/trunk@3207 8f6e269a-dfd6-0310-a8e1-e2731360e62c
-
-diff --git a/VEX/priv/guest_amd64_toIR.c b/VEX/priv/guest_amd64_toIR.c
-index af4817f..936d16f 100644
---- a/VEX/priv/guest_amd64_toIR.c
-+++ b/VEX/priv/guest_amd64_toIR.c
-@@ -6401,19 +6401,20 @@ ULong dis_FPU ( /*OUT*/Bool* decode_ok,
-                fp_do_op_mem_ST_0 ( addr, "mul", dis_buf, Iop_MulF64, True );
-                break;
- 
--//..             case 2: /* FCOM double-real */
--//..                DIP("fcoml %s\n", dis_buf);
--//..                /* This forces C1 to zero, which isn't right. */
--//..                put_C3210( 
--//..                    binop( Iop_And32,
--//..                           binop(Iop_Shl32, 
--//..                                 binop(Iop_CmpF64, 
--//..                                       get_ST(0),
--//..                                       loadLE(Ity_F64,mkexpr(addr))),
--//..                                 mkU8(8)),
--//..                           mkU32(0x4500)
--//..                    ));
--//..                break;  
-+            case 2: /* FCOM double-real */
-+               DIP("fcoml %s\n", dis_buf);
-+               /* This forces C1 to zero, which isn't right. */
-+               put_C3210(
-+                   unop(Iop_32Uto64,
-+                   binop( Iop_And32,
-+                          binop(Iop_Shl32,
-+                                binop(Iop_CmpF64,
-+                                      get_ST(0),
-+                                      loadLE(Ity_F64,mkexpr(addr))),
-+                                mkU8(8)),
-+                          mkU32(0x4500)
-+                   )));
-+               break;
- 
-             case 3: /* FCOMP double-real */
-                DIP("fcompl %s\n", dis_buf);
diff --git a/valgrind-3.11.0-amd64-ld-index.patch b/valgrind-3.11.0-amd64-ld-index.patch
deleted file mode 100644
index 7d6e336..0000000
--- a/valgrind-3.11.0-amd64-ld-index.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-commit b39a5966a9e64d343b65d7678e4759aed6860bec
-Author: mjw <mjw@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Wed Feb 24 11:12:01 2016 +0000
-
-    Bug 359733 amd64 implement ld.so strchr/index override like x86
-    
-    The suppression and redirection for ld.so strchr/index isn't needed for
-    x86. When testing a newer glibc or calling the ld.so through an alternative
-    path neither the suppression (doesn't match path/name) nor the redirection
-    (triggers too late) works. Since there is already an hardwire override for
-    strlen in amd64 ld.so anyway it makes sense to also hardware index (it is
-    always called when ld.so loads the preload images).
-    
-    This was also explained in the easy hacks Fosdem session.
-    See https://bugs.kde.org/show_bug.cgi?id=359733 for a pointer.
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15812 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/coregrind/m_redir.c b/coregrind/m_redir.c
-index dcf1fb4..dae47f1 100644
---- a/coregrind/m_redir.c
-+++ b/coregrind/m_redir.c
-@@ -1353,6 +1353,9 @@ void VG_(redir_initialise) ( void )
-    if (0==VG_(strcmp)("Memcheck", VG_(details).name)) {
- 
-       add_hardwired_spec(
-+         "ld-linux-x86-64.so.2", "index",
-+         (Addr)&VG_(amd64_linux_REDIR_FOR_index), NULL);
-+      add_hardwired_spec(
-          "ld-linux-x86-64.so.2", "strlen",
-          (Addr)&VG_(amd64_linux_REDIR_FOR_strlen),
- #        ifndef GLIBC_MANDATORY_STRLEN_REDIRECT
-diff --git a/coregrind/m_trampoline.S b/coregrind/m_trampoline.S
-index cac2288..176ea66 100644
---- a/coregrind/m_trampoline.S
-+++ b/coregrind/m_trampoline.S
-@@ -220,6 +220,30 @@ VG_(amd64_linux_REDIR_FOR_strlen):
- .LfnE5:
- .size VG_(amd64_linux_REDIR_FOR_strlen), .-VG_(amd64_linux_REDIR_FOR_strlen)
- 
-+.global VG_(amd64_linux_REDIR_FOR_index)
-+.type   VG_(amd64_linux_REDIR_FOR_index), @function
-+VG_(amd64_linux_REDIR_FOR_index):
-+        movzbl  (%rdi), %eax
-+        movl    %esi, %edx
-+        cmpb    %sil, %al
-+        jne     .L4
-+        jmp     .L5
-+.L10:
-+        addq    $1, %rdi
-+        movzbl  (%rdi), %eax
-+        cmpb    %dl, %al
-+        je      .L5
-+.L4:
-+        testb   %al, %al
-+        jne     .L10
-+        xorl    %eax, %eax
-+        ret
-+.L5:
-+        movq    %rdi, %rax
-+        ret
-+.size VG_(amd64_linux_REDIR_FOR_index), .-VG_(amd64_linux_REDIR_FOR_index)
-+
-+
- 
- /* A CIE for the above four functions, followed by their FDEs */
- 	.section .eh_frame,"a",@progbits
-diff --git a/coregrind/pub_core_trampoline.h b/coregrind/pub_core_trampoline.h
-index eda5ec6..1396519 100644
---- a/coregrind/pub_core_trampoline.h
-+++ b/coregrind/pub_core_trampoline.h
-@@ -71,6 +71,7 @@ extern Addr VG_(amd64_linux_REDIR_FOR_vgettimeofday);
- extern Addr VG_(amd64_linux_REDIR_FOR_vtime);
- extern Addr VG_(amd64_linux_REDIR_FOR_vgetcpu);
- extern UInt VG_(amd64_linux_REDIR_FOR_strlen)( void* );
-+extern Char* VG_(amd64_linux_REDIR_FOR_index) ( const Char*, Int );
- #endif
- 
- #if defined(VGP_ppc32_linux)
-diff --git a/shared/vg_replace_strmem.c b/shared/vg_replace_strmem.c
-index 005b679..8de085a 100644
---- a/shared/vg_replace_strmem.c
-+++ b/shared/vg_replace_strmem.c
-@@ -247,7 +247,7 @@ static inline void my_exit ( int x )
-  STRCHR(VG_Z_LIBC_SONAME,          __strchr_sse2)
-  STRCHR(VG_Z_LIBC_SONAME,          __strchr_sse2_no_bsf)
-  STRCHR(VG_Z_LIBC_SONAME,          index)
--# if !defined(VGP_x86_linux)
-+# if !defined(VGP_x86_linux) && !defined(VGP_amd64_linux)
-   STRCHR(VG_Z_LD_LINUX_SO_2,        strchr)
-   STRCHR(VG_Z_LD_LINUX_SO_2,        index)
-   STRCHR(VG_Z_LD_LINUX_X86_64_SO_2, strchr)
diff --git a/valgrind-3.11.0-arm64-handle_at.patch b/valgrind-3.11.0-arm64-handle_at.patch
deleted file mode 100644
index 66e409a..0000000
--- a/valgrind-3.11.0-arm64-handle_at.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-commit 4eec8a00bed541842afbed7e1f95551b0c786570
-Author: mjw <mjw@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Mon May 30 14:17:25 2016 +0000
-
-    Bug #363705 arm64 missing syscall name_to_handle_at and open_by_handle_at
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15887 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/coregrind/m_syswrap/syswrap-arm64-linux.c b/coregrind/m_syswrap/syswrap-arm64-linux.c
-index 0b78f20..8842765 100644
---- a/coregrind/m_syswrap/syswrap-arm64-linux.c
-+++ b/coregrind/m_syswrap/syswrap-arm64-linux.c
-@@ -1096,6 +1096,9 @@ static SyscallTableEntry syscall_main_table[] = {
- 
-    GENXY(__NR_wait4,             sys_wait4),             // 260
- 
-+   LINXY(__NR_name_to_handle_at, sys_name_to_handle_at), // 264
-+   LINXY(__NR_open_by_handle_at, sys_open_by_handle_at), // 265
-+
-    LINX_(__NR_syncfs,            sys_syncfs),            // 267
- 
-    LINXY(__NR_sendmmsg,          sys_sendmmsg),          // 269
-@@ -1374,8 +1377,6 @@ static SyscallTableEntry syscall_main_table[] = {
- //ZZ    LINXY(__NR_epoll_create1,     sys_epoll_create1),    // 357
- //ZZ    LINXY(__NR_rt_tgsigqueueinfo, sys_rt_tgsigqueueinfo),// 363
- //ZZ 
--//ZZ    LINXY(__NR_name_to_handle_at, sys_name_to_handle_at),// 370
--//ZZ    LINXY(__NR_open_by_handle_at, sys_open_by_handle_at),// 371
- //ZZ    LINXY(__NR_clock_adjtime,     sys_clock_adjtime)     // 372
- };
- 
diff --git a/valgrind-3.11.0-arm64-ldpsw.patch b/valgrind-3.11.0-arm64-ldpsw.patch
deleted file mode 100644
index 4ac61b4..0000000
--- a/valgrind-3.11.0-arm64-ldpsw.patch
+++ /dev/null
@@ -1,268 +0,0 @@
-commit 8f36c464966045b51a75144ca4c65f354082194f
-Author: mjw <mjw@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Tue Mar 15 15:08:01 2016 +0000
-
-    Bug #360425 - arm64 unsupported instruction ldpsw tests.
-    
-    Add tests for ldpsw implementation VEX svn r3212.
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15830 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/none/tests/arm64/memory.c b/none/tests/arm64/memory.c
-index cbf31fd..91949ac 100644
---- a/none/tests/arm64/memory.c
-+++ b/none/tests/arm64/memory.c
-@@ -280,6 +280,18 @@ TESTINST2_hide2("ldarb w21, [x22]", AREA_MID, x21,x22,0);
- 
- ////////////////////////////////////////////////////////////////
- printf("STL{R,RH,RB} (entirely MISSING)\n");
-+
-+////////////////////////////////////////////////////////////////
-+// TESTINST2_hide2 allows use of x28 as scratch
-+printf("LDPSW (immediate, simm7)\n");
-+
-+TESTINST2_hide2("ldpsw x21, x28, [x22], #-24 ; add x21,x21,x28", AREA_MID, x21,x22,0);
-+TESTINST2_hide2("ldpsw x21, x28, [x22], #-24 ; eor x21,x21,x28", AREA_MID, x21,x22,0);
-+TESTINST2_hide2("ldpsw x21, x28, [x22, #-40]! ; add x21,x21,x28", AREA_MID, x21,x22,0);
-+TESTINST2_hide2("ldpsw x21, x28, [x22, #-40]! ; eor x21,x21,x28", AREA_MID, x21,x22,0);
-+TESTINST2_hide2("ldpsw x21, x28, [x22, #-40] ; add x21,x21,x28", AREA_MID, x21,x22,0);
-+TESTINST2_hide2("ldpsw x21, x28, [x22, #-40] ; eor x21,x21,x28", AREA_MID, x21,x22,0);
-+
- } /* end of test_memory_old() */
- 
- 
-@@ -1608,6 +1620,12 @@ MEM_TEST("prfm pstl2strm, [x5,w6,uxtw #3]", 12, 4);
- MEM_TEST("prfm pstl3keep, [x5,w6,sxtw #0]", 12, 4);
- MEM_TEST("prfm pstl3strm, [x5,w6,sxtw #3]",  12, -4);
- 
-+////////////////////////////////////////////////////////////////
-+printf("LDPSW (immediate, simm7)\n");
-+MEM_TEST("ldpsw x13, x23, [x5], #-24",   0, 0);
-+MEM_TEST("ldpsw x13, x23, [x5, #-40]!",  0, 0);
-+MEM_TEST("ldpsw x13, x23, [x5, #-40]",   0, 0);
-+
- } /* end of test_memory2() */
- 
- ////////////////////////////////////////////////////////////////
-diff --git a/none/tests/arm64/memory.stdout.exp b/none/tests/arm64/memory.stdout.exp
-index eb6ec3f..be57108 100644
---- a/none/tests/arm64/memory.stdout.exp
-+++ b/none/tests/arm64/memory.stdout.exp
-@@ -98,6 +98,13 @@ ldar  w21, [x22] :: rd 00000000f3f2f1f0 rn (hidden), cin 0, nzcv 00000000
- ldarh w21, [x22] :: rd 000000000000f1f0 rn (hidden), cin 0, nzcv 00000000     
- ldarb w21, [x22] :: rd 00000000000000f0 rn (hidden), cin 0, nzcv 00000000     
- STL{R,RH,RB} (entirely MISSING)
-+LDPSW (immediate, simm7)
-+ldpsw x21, x28, [x22], #-24 ; add x21,x21,x28 :: rd ffffffffebe9e7e4 rn (hidden), cin 0, nzcv 00000000     
-+ldpsw x21, x28, [x22], #-24 ; eor x21,x21,x28 :: rd 0000000004040404 rn (hidden), cin 0, nzcv 00000000     
-+ldpsw x21, x28, [x22, #-40]! ; add x21,x21,x28 :: rd ffffffff9b999794 rn (hidden), cin 0, nzcv 00000000     
-+ldpsw x21, x28, [x22, #-40]! ; eor x21,x21,x28 :: rd 0000000004040404 rn (hidden), cin 0, nzcv 00000000     
-+ldpsw x21, x28, [x22, #-40] ; add x21,x21,x28 :: rd ffffffff9b999794 rn (hidden), cin 0, nzcv 00000000     
-+ldpsw x21, x28, [x22, #-40] ; eor x21,x21,x28 :: rd 0000000004040404 rn (hidden), cin 0, nzcv 00000000     
- LDR,STR (immediate, uimm12)ldr  x13, [x5, #24]  with  x5 = middle_of_block+-1,  x6=0
-   [  0]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-   [ 16]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-@@ -26258,3 +26265,94 @@ prfm pstl3strm, [x5,w6,sxtw #3]  with  x5 = middle_of_block+12,  x6=-4
-                  0  x5       (sub, base reg)
-                  0  x6       (sub, index reg)
- 
-+LDPSW (immediate, simm7)
-+ldpsw x13, x23, [x5], #-24  with  x5 = middle_of_block+0,  x6=0
-+  [  0]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [ 16]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [ 32]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [ 48]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [ 64]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [ 80]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [ 96]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [112]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [128]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [144]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [160]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [176]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [192]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [208]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [224]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [240]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  5430cb99daf026bb  x13      (xor, xfer intreg #1)
-+  58eb9b702726900d  x23      (xor, xfer intreg #2)
-+  0000000000000000  v17.d[0] (xor, xfer vecreg #1)
-+  0000000000000000  v17.d[1] (xor, xfer vecreg #1)
-+  0000000000000000  v18.d[0] (xor, xfer vecreg #2)
-+  0000000000000000  v18.d[1] (xor, xfer vecreg #2)
-+  0000000000000000  v19.d[0] (xor, xfer vecreg #3)
-+  0000000000000000  v19.d[1] (xor, xfer vecreg #3)
-+  0000000000000000  v20.d[0] (xor, xfer vecreg #3)
-+  0000000000000000  v20.d[1] (xor, xfer vecreg #3)
-+               -24  x5       (sub, base reg)
-+                 0  x6       (sub, index reg)
-+
-+ldpsw x13, x23, [x5, #-40]!  with  x5 = middle_of_block+0,  x6=0
-+  [  0]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [ 16]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [ 32]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [ 48]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [ 64]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [ 80]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [ 96]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [112]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [128]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [144]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [160]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [176]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [192]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [208]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [224]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [240]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  7f799c624bfa7f08  x13      (xor, xfer intreg #1)
-+  3e7857cc51fd19f0  x23      (xor, xfer intreg #2)
-+  0000000000000000  v17.d[0] (xor, xfer vecreg #1)
-+  0000000000000000  v17.d[1] (xor, xfer vecreg #1)
-+  0000000000000000  v18.d[0] (xor, xfer vecreg #2)
-+  0000000000000000  v18.d[1] (xor, xfer vecreg #2)
-+  0000000000000000  v19.d[0] (xor, xfer vecreg #3)
-+  0000000000000000  v19.d[1] (xor, xfer vecreg #3)
-+  0000000000000000  v20.d[0] (xor, xfer vecreg #3)
-+  0000000000000000  v20.d[1] (xor, xfer vecreg #3)
-+               -40  x5       (sub, base reg)
-+                 0  x6       (sub, index reg)
-+
-+ldpsw x13, x23, [x5, #-40]  with  x5 = middle_of_block+0,  x6=0
-+  [  0]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [ 16]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [ 32]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [ 48]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [ 64]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [ 80]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [ 96]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [112]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [128]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [144]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [160]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [176]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [192]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [208]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [224]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  [240]  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
-+  01ba3febe99768c0  x13      (xor, xfer intreg #1)
-+  1cef424f7c21ff9b  x23      (xor, xfer intreg #2)
-+  0000000000000000  v17.d[0] (xor, xfer vecreg #1)
-+  0000000000000000  v17.d[1] (xor, xfer vecreg #1)
-+  0000000000000000  v18.d[0] (xor, xfer vecreg #2)
-+  0000000000000000  v18.d[1] (xor, xfer vecreg #2)
-+  0000000000000000  v19.d[0] (xor, xfer vecreg #3)
-+  0000000000000000  v19.d[1] (xor, xfer vecreg #3)
-+  0000000000000000  v20.d[0] (xor, xfer vecreg #3)
-+  0000000000000000  v20.d[1] (xor, xfer vecreg #3)
-+                 0  x5       (sub, base reg)
-+                 0  x6       (sub, index reg)
-+
-commit c10b13cb0ec8b797124d8379b7f932f92341bd4b
-Author: sewardj <sewardj@8f6e269a-dfd6-0310-a8e1-e2731360e62c>
-Date:   Tue Mar 15 14:24:56 2016 +0000
-
-    arm64: implement LDPSW.  Fixes #360425.  Initial patch+investigation by Mark Wielaard.
-    
-    
-    git-svn-id: svn://svn.valgrind.org/vex/trunk@3212 8f6e269a-dfd6-0310-a8e1-e2731360e62c
-
-diff --git a/VEX/priv/guest_arm64_toIR.c b/VEX/priv/guest_arm64_toIR.c
-index 8da9780..d4fe1b8 100644
---- a/VEX/priv/guest_arm64_toIR.c
-+++ b/VEX/priv/guest_arm64_toIR.c
-@@ -4804,7 +4804,6 @@ Bool dis_ARM64_load_store(/*MB_OUT*/DisResult* dres, UInt insn)
-       (at-EA)
-       x0 101 0010 L imm7 Rt2 Rn Rt1  mmP Rt1,Rt2, [Xn|SP, #imm]
-    */
--
-    UInt insn_30_23 = INSN(30,23);
-    if (insn_30_23 == BITS8(0,1,0,1,0,0,0,1) 
-        || insn_30_23 == BITS8(0,1,0,1,0,0,1,1)
-@@ -4912,6 +4911,87 @@ Bool dis_ARM64_load_store(/*MB_OUT*/DisResult* dres, UInt insn)
-       }
-    }
- 
-+   /* -------- LDPSW (immediate, simm7) (INT REGS) -------- */
-+   /* Does 32 bit transfers which are sign extended to 64 bits.
-+      simm7 is scaled by the (single-register) transfer size
-+
-+      (at-Rn-then-Rn=EA)
-+      01 101 0001 1 imm7 Rt2 Rn Rt1  LDPSW Rt1,Rt2, [Xn|SP], #imm
-+   
-+      (at-EA-then-Rn=EA)
-+      01 101 0011 1 imm7 Rt2 Rn Rt1  LDPSW Rt1,Rt2, [Xn|SP, #imm]!
-+
-+      (at-EA)
-+      01 101 0010 1 imm7 Rt2 Rn Rt1  LDPSW Rt1,Rt2, [Xn|SP, #imm]
-+   */
-+   UInt insn_31_22 = INSN(31,22);
-+   if (insn_31_22 == BITS10(0,1,1,0,1,0,0,0,1,1)
-+       || insn_31_22 == BITS10(0,1,1,0,1,0,0,1,1,1)
-+       || insn_31_22 == BITS10(0,1,1,0,1,0,0,1,0,1)) {
-+      UInt bWBack = INSN(23,23);
-+      UInt rT1    = INSN(4,0);
-+      UInt rN     = INSN(9,5);
-+      UInt rT2    = INSN(14,10);
-+      Long simm7  = (Long)sx_to_64(INSN(21,15), 7);
-+      if ((bWBack && (rT1 == rN || rT2 == rN) && rN != 31)
-+          || (rT1 == rT2)) {
-+         /* undecodable; fall through */
-+      } else {
-+         if (rN == 31) { /* FIXME generate stack alignment check */ }
-+
-+         // Compute the transfer address TA and the writeback address WA.
-+         IRTemp tRN = newTemp(Ity_I64);
-+         assign(tRN, getIReg64orSP(rN));
-+         IRTemp tEA = newTemp(Ity_I64);
-+         simm7 = 4 * simm7;
-+         assign(tEA, binop(Iop_Add64, mkexpr(tRN), mkU64(simm7)));
-+
-+         IRTemp tTA = newTemp(Ity_I64);
-+         IRTemp tWA = newTemp(Ity_I64);
-+         switch (INSN(24,23)) {
-+            case BITS2(0,1):
-+               assign(tTA, mkexpr(tRN)); assign(tWA, mkexpr(tEA)); break;
-+            case BITS2(1,1):
-+               assign(tTA, mkexpr(tEA)); assign(tWA, mkexpr(tEA)); break;
-+            case BITS2(1,0):
-+               assign(tTA, mkexpr(tEA)); /* tWA is unused */ break;
-+            default:
-+               vassert(0); /* NOTREACHED */
-+         }
-+
-+         // 32 bit load, sign extended to 64 bits
-+         putIReg64orZR(rT1, unop(Iop_32Sto64,
-+                                 loadLE(Ity_I32, binop(Iop_Add64,
-+                                                       mkexpr(tTA),
-+                                                       mkU64(0)))));
-+         putIReg64orZR(rT2, unop(Iop_32Sto64,
-+                                 loadLE(Ity_I32, binop(Iop_Add64,
-+                                                       mkexpr(tTA),
-+                                                       mkU64(4)))));
-+         if (bWBack)
-+            putIReg64orSP(rN, mkexpr(tEA));
-+
-+         const HChar* fmt_str = NULL;
-+         switch (INSN(24,23)) {
-+            case BITS2(0,1):
-+               fmt_str = "ldpsw %s, %s, [%s], #%lld (at-Rn-then-Rn=EA)\n";
-+               break;
-+            case BITS2(1,1):
-+               fmt_str = "ldpsw %s, %s, [%s, #%lld]! (at-EA-then-Rn=EA)\n";
-+               break;
-+            case BITS2(1,0):
-+               fmt_str = "ldpsw %s, %s, [%s, #%lld] (at-Rn)\n";
-+               break;
-+            default:
-+               vassert(0);
-+         }
-+         DIP(fmt_str, nameIReg64orZR(rT1),
-+                      nameIReg64orZR(rT2),
-+                      nameIReg64orSP(rN), simm7);
-+         return True;
-+      }
-+   }
-+
-    /* ---------------- LDR (literal, int reg) ---------------- */
-    /* 31 29      23    4
-       00 011 000 imm19 Rt   LDR   Wt, [PC + sxTo64(imm19 << 2)]
diff --git a/valgrind-3.11.0-arm64-ldr-literal-test.patch b/valgrind-3.11.0-arm64-ldr-literal-test.patch
deleted file mode 100644
index 3923bba..0000000
--- a/valgrind-3.11.0-arm64-ldr-literal-test.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-Index: valgrind/none/tests/arm64/memory.c
-===================================================================
---- valgrind/none/tests/arm64/memory.c	(revision 15827)
-+++ valgrind/none/tests/arm64/memory.c	(working copy)
-@@ -157,18 +157,18 @@
- 
- ////////////////////////////////////////////////////////////////
- // This is a bit tricky.  We load the value from just before and
--// just after the actual instruction.  Because TESTINSN2_hide2 
--// generates two fixed insns either side of the test insn, these 
--// should be constant and hence "safe" to check.
-+// just after the actual instruction.  So we place a couple of
-+// nop insns either side of the test insn, these should "safe"
-+// to check.
- 
- printf("LDR (literal, int reg)\n");
--TESTINST2_hide2("xyzzy00: ldr  x21, xyzzy00 - 8", AREA_MID, x21,x22,0);
--TESTINST2_hide2("xyzzy01: ldr  x21, xyzzy01 + 0", AREA_MID, x21,x22,0);
--TESTINST2_hide2("xyzzy02: ldr  x21, xyzzy02 + 8", AREA_MID, x21,x22,0);
-+TESTINST2_hide2("nop; nop; nop; xyzzy00: ldr  x21, xyzzy00 - 8; nop; nop; nop", AREA_MID, x21,x22,0);
-+TESTINST2_hide2("nop; nop; nop; xyzzy01: ldr  x21, xyzzy01 + 0; nop; nop; nop", AREA_MID, x21,x22,0);
-+TESTINST2_hide2("nop; nop; nop; xyzzy02: ldr  x21, xyzzy02 + 8; nop; nop; nop", AREA_MID, x21,x22,0);
- 
--TESTINST2_hide2("xyzzy03: ldr  x21, xyzzy03 - 4", AREA_MID, x21,x22,0);
--TESTINST2_hide2("xyzzy04: ldr  x21, xyzzy04 + 0", AREA_MID, x21,x22,0);
--TESTINST2_hide2("xyzzy05: ldr  x21, xyzzy05 + 4", AREA_MID, x21,x22,0);
-+TESTINST2_hide2("nop; nop; nop; xyzzy03: ldr  x21, xyzzy03 - 4; nop; nop; nop", AREA_MID, x21,x22,0);
-+TESTINST2_hide2("nop; nop; nop; xyzzy04: ldr  x21, xyzzy04 + 0; nop; nop; nop", AREA_MID, x21,x22,0);
-+TESTINST2_hide2("nop; nop; nop; xyzzy05: ldr  x21, xyzzy05 + 4; nop; nop; nop", AREA_MID, x21,x22,0);
- 
- ////////////////////////////////////////////////////////////////
- printf("{LD,ST}R (integer register) (entirely MISSING)\n");
-Index: valgrind/none/tests/arm64/memory.stdout.exp
-===================================================================
---- valgrind/none/tests/arm64/memory.stdout.exp	(revision 15827)
-+++ valgrind/none/tests/arm64/memory.stdout.exp	(working copy)
-@@ -21,12 +21,12 @@
- ldp w21, w28, [x22, #-40] ; add x21,x21,x28 :: rd 000000019b999794 rn (hidden), cin 0, nzcv 00000000     
- ldp w21, w28, [x22, #-40] ; eor x21,x21,x28 :: rd 0000000004040404 rn (hidden), cin 0, nzcv 00000000     
- LDR (literal, int reg)
--xyzzy00: ldr  x21, xyzzy00 - 8 :: rd aa0003f6d51b4203 rn (hidden), cin 0, nzcv 00000000     
--xyzzy01: ldr  x21, xyzzy01 + 0 :: rd aa1503e258000015 rn (hidden), cin 0, nzcv 00000000     
--xyzzy02: ldr  x21, xyzzy02 + 8 :: rd 911e43a0d53b4201 rn (hidden), cin 0, nzcv 00000000     
--xyzzy03: ldr  x21, xyzzy03 - 4 :: rd 58fffff5aa0003f6 rn (hidden), cin 0, nzcv 00000000     
--xyzzy04: ldr  x21, xyzzy04 + 0 :: rd aa1503e258000015 rn (hidden), cin 0, nzcv 00000000     
--xyzzy05: ldr  x21, xyzzy05 + 4 :: rd d53b4201aa1503e2 rn (hidden), cin 0, nzcv 00000000     
-+nop; nop; nop; xyzzy00: ldr  x21, xyzzy00 - 8; nop; nop; nop :: rd d503201fd503201f rn (hidden), cin 0, nzcv 00000000     
-+nop; nop; nop; xyzzy01: ldr  x21, xyzzy01 + 0; nop; nop; nop :: rd d503201f58000015 rn (hidden), cin 0, nzcv 00000000     
-+nop; nop; nop; xyzzy02: ldr  x21, xyzzy02 + 8; nop; nop; nop :: rd d503201fd503201f rn (hidden), cin 0, nzcv 00000000     
-+nop; nop; nop; xyzzy03: ldr  x21, xyzzy03 - 4; nop; nop; nop :: rd 58fffff5d503201f rn (hidden), cin 0, nzcv 00000000     
-+nop; nop; nop; xyzzy04: ldr  x21, xyzzy04 + 0; nop; nop; nop :: rd d503201f58000015 rn (hidden), cin 0, nzcv 00000000     
-+nop; nop; nop; xyzzy05: ldr  x21, xyzzy05 + 4; nop; nop; nop :: rd d503201fd503201f rn (hidden), cin 0, nzcv 00000000     
- {LD,ST}R (integer register) (entirely MISSING)
- LDRS{B,H,W} (uimm12)
- ldrsw x21, [x22, #24] :: rd ffffffff8b8a8988 rn (hidden), cin 0, nzcv 00000000     
diff --git a/valgrind-3.11.0-arm64-more-syscalls.patch b/valgrind-3.11.0-arm64-more-syscalls.patch
deleted file mode 100644
index 0d07fcd..0000000
--- a/valgrind-3.11.0-arm64-more-syscalls.patch
+++ /dev/null
@@ -1,5823 +0,0 @@
-From fe31b9a6fe9aad1a83c996032717f4757ff21f75 Mon Sep 17 00:00:00 2001
-From: mjw <mjw@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date: Wed, 9 Mar 2016 16:18:34 +0000
-Subject: [PATCH 1/3] Use correct syscall numbers on arm64. Fix rename, dup2
- and getpgrp.
-
-We were using some wrong syscall numbers in vki-scnums-arm64-linux.h
-arm64 doesn't implement a couple of old deprecated system calls like
-rename, dup2, getpgrp and fork. Adjust m_libcfile.c rename and dup2
-functions to use renameat (also on tilegx) and dup3 (with fcntl fallback
-for bad oldfd). And in m_libcproc.c implement getpgrp as getpgid(0).
-Also don't compile the fork syswrap on arm64 (it only supports clone).
-
-In practice this only affected callgrind which was unable to rename
-dump files in some cases and ELF core dumps might have contained some
-bogus prstatus fields.
-
-Related to bug #359503 - Add missing syscalls for aarch64 (arm64)
-Reported by Marcin Juszkiewicz who also posted a nice overview
-of system calls on different linux architectures:
-https://marcin.juszkiewicz.com.pl/2016/03/05/from-a-diary-of-aarch64-porter-system-calls/
-
-git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15824 a5019735-40e9-0310-863c-91ae7b9d1cf9
----
- coregrind/m_libcfile.c                | 23 ++++++++++++++-------
- coregrind/m_libcproc.c                |  4 +++-
- coregrind/m_syswrap/syswrap-generic.c |  4 ++--
- include/vki/vki-scnums-arm64-linux.h  | 38 +++++++++++++++++------------------
- 4 files changed, 40 insertions(+), 29 deletions(-)
-
-diff --git a/coregrind/m_libcfile.c b/coregrind/m_libcfile.c
-index 7e94ce3..c413db1 100644
---- a/coregrind/m_libcfile.c
-+++ b/coregrind/m_libcfile.c
-@@ -480,7 +480,18 @@ SysRes VG_(dup) ( Int oldfd )
- 
- SysRes VG_(dup2) ( Int oldfd, Int newfd )
- {
--#  if defined(VGO_linux) || defined(VGO_darwin)
-+#  if defined(VGP_arm64_linux)
-+   /* We only have dup3, that means we have to mimic dup2.
-+      The only real difference is when oldfd == newfd.
-+      dup3 always returns an error, but dup2 returns only an
-+      error if the fd is invalid, otherwise it returns newfd. */
-+   if (oldfd == newfd) {
-+      if (VG_(fcntl)(oldfd, VKI_F_GETFL, 0) == -1)
-+         return VG_(mk_SysRes_Error)(VKI_EBADF);
-+      return VG_(mk_SysRes_Success)(newfd);
-+   }
-+   return VG_(do_syscall3)(__NR_dup3, oldfd, newfd, 0);
-+#  elif defined(VGO_linux) || defined(VGO_darwin)
-    return VG_(do_syscall2)(__NR_dup2, oldfd, newfd);
- #  elif defined(VGO_solaris)
-    return VG_(do_syscall3)(__NR_fcntl, oldfd, F_DUP2FD, newfd);
-@@ -504,14 +515,12 @@ Int VG_(fcntl) ( Int fd, Int cmd, Addr arg )
- 
- Int VG_(rename) ( const HChar* old_name, const HChar* new_name )
- {
--#  if defined(VGP_tilegx_linux)
--   SysRes res = VG_(do_syscall3)(__NR_renameat, VKI_AT_FDCWD,
--                                 (UWord)old_name, (UWord)new_name);
--#  elif defined(VGO_linux) || defined(VGO_darwin)
--   SysRes res = VG_(do_syscall2)(__NR_rename, (UWord)old_name, (UWord)new_name);
--#  elif defined(VGO_solaris)
-+#  if defined(VGO_solaris) \
-+      || defined(VGP_arm64_linux) || defined(VGP_tilegx_linux)
-    SysRes res = VG_(do_syscall4)(__NR_renameat, VKI_AT_FDCWD, (UWord)old_name,
-                                  VKI_AT_FDCWD, (UWord)new_name);
-+#  elif defined(VGO_linux) || defined(VGO_darwin)
-+   SysRes res = VG_(do_syscall2)(__NR_rename, (UWord)old_name, (UWord)new_name);
- #  else
- #    error "Unknown OS"
- #  endif
-diff --git a/coregrind/m_libcproc.c b/coregrind/m_libcproc.c
-index a30f7dc..eb911be 100644
---- a/coregrind/m_libcproc.c
-+++ b/coregrind/m_libcproc.c
-@@ -708,7 +708,9 @@ Int VG_(getpid) ( void )
- Int VG_(getpgrp) ( void )
- {
-    /* ASSUMES SYSCALL ALWAYS SUCCEEDS */
--#  if defined(VGO_linux) || defined(VGO_darwin)
-+#  if defined(VGP_arm64_linux)
-+   return sr_Res( VG_(do_syscall1)(__NR_getpgid, 0) );
-+#  elif defined(VGO_linux) || defined(VGO_darwin)
-    return sr_Res( VG_(do_syscall0)(__NR_getpgrp) );
- #  elif defined(VGO_solaris)
-    /* Uses the shared pgrpsys syscall, 0 for the getpgrp variant. */
-diff --git a/coregrind/m_syswrap/syswrap-generic.c b/coregrind/m_syswrap/syswrap-generic.c
-index 2eaf505..dd1da9c 100644
---- a/coregrind/m_syswrap/syswrap-generic.c
-+++ b/coregrind/m_syswrap/syswrap-generic.c
-@@ -3264,7 +3264,7 @@ POST(sys_newfstat)
-    POST_MEM_WRITE( ARG2, sizeof(struct vki_stat) );
- }
- 
--#if !defined(VGO_solaris)
-+#if !defined(VGO_solaris) && !defined(VGP_arm64_linux)
- static vki_sigset_t fork_saved_mask;
- 
- // In Linux, the sys_fork() function varies across architectures, but we
-@@ -3327,7 +3327,7 @@ PRE(sys_fork)
-       VG_(sigprocmask)(VKI_SIG_SETMASK, &fork_saved_mask, NULL);
-    }
- }
--#endif // !defined(VGO_solaris)
-+#endif // !defined(VGO_solaris) && !defined(VGP_arm64_linux)
- 
- PRE(sys_ftruncate)
- {
-diff --git a/include/vki/vki-scnums-arm64-linux.h b/include/vki/vki-scnums-arm64-linux.h
-index f70a2ed..e963c45 100644
---- a/include/vki/vki-scnums-arm64-linux.h
-+++ b/include/vki/vki-scnums-arm64-linux.h
-@@ -331,7 +331,7 @@
- //#define __NR_link 1025
- //__SYSCALL(__NR_link, sys_link)
- //#define __NR_unlink 1026
--#define __NR_mknod 1027
-+//#define __NR_mknod 1027
- //#define __NR_chmod 1028
- //__SYSCALL(__NR_chmod, sys_chmod)
- //#define __NR_chown 1029
-@@ -342,8 +342,8 @@
- //__SYSCALL(__NR_rmdir, sys_rmdir)
- //#define __NR_lchown 1032
- //__SYSCALL(__NR_lchown, sys_lchown)
--#define __NR_access 1033
--#define __NR_rename 1034
-+//#define __NR_access 1033
-+//#define __NR_rename 1034
- //#define __NR_readlink 1035
- //#define __NR_symlink 1036
- //__SYSCALL(__NR_symlink, sys_symlink)
-@@ -359,8 +359,8 @@
- //#endif /* __ARCH_WANT_SYSCALL_NO_AT */
- //
- //#ifdef __ARCH_WANT_SYSCALL_NO_FLAGS
--#define __NR_pipe 1040
--#define __NR_dup2 1041
-+//#define __NR_pipe 1040
-+//#define __NR_dup2 1041
- //#define __NR_epoll_create 1042
- //__SYSCALL(__NR_epoll_create, sys_epoll_create)
- //#define __NR_inotify_init 1043
-@@ -383,7 +383,7 @@
- //__SYSCALL(__NR_ftruncate, sys_ftruncate)
- //#define __NR_truncate 1048
- //__SYSCALL(__NR_truncate, sys_truncate)
--#define __NR_stat 1049
-+//#define __NR_stat 1049
- //#define __NR_lstat 1050
- //__SYSCALL(__NR_lstat, sys_newlstat)
- //ZZ#define __NR_fstat 1051
-@@ -399,7 +399,7 @@
- //#define __NR_statfs 1056
- //__SYSCALL(__NR_statfs, sys_statfs)
- //#define __NR_lseek 1057
--#define __NR_mmap 1058
-+//#define __NR_mmap 1058
- //
- //#undef __NR_syscalls
- //#define __NR_syscalls (__NR_mmap+1)
-@@ -409,7 +409,7 @@
- //#define __NR_alarm 1059
- //#define __ARCH_WANT_SYS_ALARM
- //__SYSCALL(__NR_alarm, sys_alarm)
--#define __NR_getpgrp 1060
-+//#define __NR_getpgrp 1060
- //#define __ARCH_WANT_SYS_GETPGRP
- //__SYSCALL(__NR_getpgrp, sys_getpgrp)
- //#define __NR_pause 1061
-@@ -425,13 +425,13 @@
- //
- //#define __NR_creat 1064
- //__SYSCALL(__NR_creat, sys_creat)
--#define __NR_getdents 1065
-+//#define __NR_getdents 1065
- //#define __NR_futimesat 1066
- //__SYSCALL(__NR_futimesat, sys_futimesat)
- //#define __NR_select 1067
- //#define __ARCH_WANT_SYS_SELECT
- //__SYSCALL(__NR_select, sys_select)
--#define __NR_poll 1068
-+//#define __NR_poll 1068
- //#define __NR_epoll_wait 1069
- //__SYSCALL(__NR_epoll_wait, sys_epoll_wait)
- //#define __NR_ustat 1070
-@@ -454,7 +454,7 @@
- //#define __NR__sysctl 1078
- //__SYSCALL(__NR__sysctl, sys_sysctl)
- //
--#define __NR_fork 1079
-+//#define __NR_fork 1079
- //#ifdef CONFIG_MMU
- //__SYSCALL(__NR_fork, sys_fork)
- //#else
-@@ -478,16 +478,16 @@
- // */
- //#if __BITS_PER_LONG == 64 && !defined(__SYSCALL_COMPAT)
- #define __NR_fcntl __NR3264_fcntl
--//#define __NR_statfs __NR3264_statfs
--//#define __NR_fstatfs __NR3264_fstatfs
--//#define __NR_truncate __NR3264_truncate
--//#define __NR_ftruncate __NR3264_ftruncate
-+#define __NR_statfs __NR3264_statfs
-+#define __NR_fstatfs __NR3264_fstatfs
-+#define __NR_truncate __NR3264_truncate
-+#define __NR_ftruncate __NR3264_ftruncate
- #define __NR_lseek __NR3264_lseek
--//#define __NR_sendfile __NR3264_sendfile
--//#define __NR_newfstatat __NR3264_fstatat
-+#define __NR_sendfile __NR3264_sendfile
-+#define __NR_newfstatat __NR3264_fstatat
- #define __NR_fstat __NR3264_fstat
--//#define __NR_mmap __NR3264_mmap
--//#define __NR_fadvise64 __NR3264_fadvise64
-+#define __NR_mmap __NR3264_mmap
-+#define __NR_fadvise64 __NR3264_fadvise64
- //#ifdef __NR3264_stat
- //#define __NR_stat __NR3264_stat
- //#define __NR_lstat __NR3264_lstat
--- 
-2.5.0
-
-From a4070ecdf2b2ade10ccf77518e97cc8a8280fd34 Mon Sep 17 00:00:00 2001
-From: mjw <mjw@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date: Wed, 9 Mar 2016 16:18:36 +0000
-Subject: [PATCH 2/3] Add arm64 scalar test. Enable tested syscalls.
-
-The new memcheck/tests/arm64-linux/scalar test is based on the
-memcheck/tests/x86-linux/scalar test and contains all syscalls
-that are also available on arm64. To make comparison of exp results
-easier the order of the tested syscalls is the same as on x86.
-This enables a couple extra arm64 syscalls. Part of the fix for
-bug #359503 - Add missing syscalls for aarch64 (arm64).
-
-git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15825 a5019735-40e9-0310-863c-91ae7b9d1cf9
----
- configure.ac                                 |    1 +
- coregrind/m_syswrap/syswrap-arm64-linux.c    |  127 +-
- coregrind/m_syswrap/syswrap-linux.c          |    2 +-
- memcheck/tests/Makefile.am                   |    6 +-
- memcheck/tests/arm64-linux/Makefile.am       |   19 +
- memcheck/tests/arm64-linux/filter_stderr     |    3 +
- memcheck/tests/arm64-linux/scalar.c          | 1278 +++++++++++++
- memcheck/tests/arm64-linux/scalar.h          |   62 +
- memcheck/tests/arm64-linux/scalar.stderr.exp | 2598 ++++++++++++++++++++++++++
- memcheck/tests/arm64-linux/scalar.vgtest     |    3 +
- 10 files changed, 4033 insertions(+), 66 deletions(-)
- create mode 100644 memcheck/tests/arm64-linux/Makefile.am
- create mode 100755 memcheck/tests/arm64-linux/filter_stderr
- create mode 100644 memcheck/tests/arm64-linux/scalar.c
- create mode 100644 memcheck/tests/arm64-linux/scalar.h
- create mode 100644 memcheck/tests/arm64-linux/scalar.stderr.exp
- create mode 100644 memcheck/tests/arm64-linux/scalar.vgtest
-
-diff --git a/configure.ac b/configure.ac
-index ea08341..888a308 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -4134,6 +4134,7 @@ AC_CONFIG_FILES([
-    memcheck/tests/darwin/Makefile
-    memcheck/tests/solaris/Makefile
-    memcheck/tests/amd64-linux/Makefile
-+   memcheck/tests/arm64-linux/Makefile
-    memcheck/tests/x86-linux/Makefile
-    memcheck/tests/amd64-solaris/Makefile
-    memcheck/tests/x86-solaris/Makefile
-diff --git a/coregrind/m_syswrap/syswrap-arm64-linux.c b/coregrind/m_syswrap/syswrap-arm64-linux.c
-index abddff1..8f4efa6 100644
---- a/coregrind/m_syswrap/syswrap-arm64-linux.c
-+++ b/coregrind/m_syswrap/syswrap-arm64-linux.c
-@@ -855,6 +855,11 @@ PRE(sys_rt_sigreturn)
- // (unknown).
- 
- static SyscallTableEntry syscall_main_table[] = {
-+   LINXY(__NR_io_setup,          sys_io_setup),          // 0
-+   LINX_(__NR_io_destroy,        sys_io_destroy),        // 1
-+   LINX_(__NR_io_submit,         sys_io_submit),         // 2
-+   LINXY(__NR_io_cancel,         sys_io_cancel),         // 3
-+   LINXY(__NR_io_getevents,      sys_io_getevents),      // 4
-    LINX_(__NR_setxattr,          sys_setxattr),          // 5
-    LINX_(__NR_lsetxattr,         sys_lsetxattr),         // 6
-    LINX_(__NR_fsetxattr,         sys_fsetxattr),         // 7
-@@ -868,20 +873,19 @@ static SyscallTableEntry syscall_main_table[] = {
-    LINX_(__NR_lremovexattr,      sys_lremovexattr),      // 15
-    LINX_(__NR_fremovexattr,      sys_fremovexattr),      // 16
-    GENXY(__NR_getcwd,            sys_getcwd),            // 17
-+   LINXY(__NR_lookup_dcookie,    sys_lookup_dcookie),    // 18
-    LINXY(__NR_eventfd2,          sys_eventfd2),          // 19
-    LINXY(__NR_epoll_create1,     sys_epoll_create1),     // 20
-    LINX_(__NR_epoll_ctl,         sys_epoll_ctl),         // 21
-    LINXY(__NR_epoll_pwait,       sys_epoll_pwait),       // 22
-    GENXY(__NR_dup,               sys_dup),               // 23
-    LINXY(__NR_dup3,              sys_dup3),              // 24
--
--   // FIXME IS THIS CORRECT?
--   LINXY(__NR3264_fcntl,         sys_fcntl),             // 25
--
-+   LINXY(__NR_fcntl,             sys_fcntl),             // 25
-    LINXY(__NR_inotify_init1,     sys_inotify_init1),     // 26
-    LINX_(__NR_inotify_add_watch, sys_inotify_add_watch), // 27
-    LINX_(__NR_inotify_rm_watch,  sys_inotify_rm_watch),  // 28
-    LINXY(__NR_ioctl,             sys_ioctl),             // 29
-+
-    GENX_(__NR_flock,             sys_flock),             // 32
-    LINX_(__NR_mknodat,           sys_mknodat),           // 33
-    LINX_(__NR_mkdirat,           sys_mkdirat),           // 34
-@@ -889,17 +893,13 @@ static SyscallTableEntry syscall_main_table[] = {
-    LINX_(__NR_symlinkat,         sys_symlinkat),         // 36
-    LINX_(__NR_linkat,            sys_linkat),            // 37
-    LINX_(__NR_renameat,		 sys_renameat),          // 38
-+   LINX_(__NR_umount2,           sys_umount),            // 39
-+   LINX_(__NR_mount,             sys_mount),             // 40
- 
--   LINX_(__NR_umount2,            sys_umount),           // 39
--   LINX_(__NR_mount,              sys_mount),            // 40
--
--   // FIXME IS THIS CORRECT?  it may well not be.
--   GENXY(__NR3264_statfs,        sys_statfs),            // 43
--   GENXY(__NR3264_fstatfs,       sys_fstatfs),           // 44
--
--   // FIXME IS THIS CORRECT?  it may well not be.
--   GENX_(__NR3264_ftruncate,     sys_ftruncate),         // 46
--
-+   GENXY(__NR_statfs,            sys_statfs),            // 43
-+   GENXY(__NR_fstatfs,           sys_fstatfs),           // 44
-+   GENX_(__NR_truncate,          sys_truncate),          // 45
-+   GENX_(__NR_ftruncate,         sys_ftruncate),         // 46
-    LINX_(__NR_fallocate,         sys_fallocate),         // 47
-    LINX_(__NR_faccessat,         sys_faccessat),         // 48
-    GENX_(__NR_chdir,             sys_chdir),             // 49
-@@ -911,49 +911,75 @@ static SyscallTableEntry syscall_main_table[] = {
-    GENX_(__NR_fchown,            sys_fchown),            // 55
-    LINXY(__NR_openat,            sys_openat),            // 56
-    GENXY(__NR_close,             sys_close),             // 57
-+   LINX_(__NR_vhangup,           sys_vhangup),           // 58
-    LINXY(__NR_pipe2,             sys_pipe2),             // 59
-    LINX_(__NR_quotactl,          sys_quotactl),          // 60
-    GENXY(__NR_getdents64,        sys_getdents64),        // 61
--
--   // FIXME IS THIS CORRECT?
--   LINX_(__NR3264_lseek,         sys_lseek),             // 62
--
-+   LINX_(__NR_lseek,             sys_lseek),             // 62
-    GENXY(__NR_read,              sys_read),              // 63
-    GENX_(__NR_write,             sys_write),             // 64
-    GENXY(__NR_readv,             sys_readv),             // 65
-    GENX_(__NR_writev,            sys_writev),            // 66
-    GENXY(__NR_pread64,           sys_pread64),           // 67
-    GENX_(__NR_pwrite64,          sys_pwrite64),          // 68
-+
-+   LINXY(__NR_sendfile,          sys_sendfile),          // 71
-    LINXY(__NR_pselect6,          sys_pselect6),          // 72
-    LINXY(__NR_ppoll,             sys_ppoll),             // 73
-    LINXY(__NR_signalfd4,         sys_signalfd4),         // 74
--   LINX_(__NR_readlinkat,        sys_readlinkat),        // 78
- 
--   // FIXME IS THIS CORRECT?
--   LINXY(__NR3264_fstatat,       sys_newfstatat),        // 79
--   GENXY(__NR3264_fstat,         sys_newfstat),          // 80
--
--   LINX_(__NR_utimensat,         sys_utimensat),         // 88
-+   LINX_(__NR_readlinkat,        sys_readlinkat),        // 78
-+   LINXY(__NR_newfstatat,        sys_newfstatat),        // 79
-+   GENXY(__NR_fstat,             sys_newfstat),          // 80
-+   GENX_(__NR_sync,              sys_sync),              // 81
-    GENX_(__NR_fsync,             sys_fsync),             // 82
-    GENX_(__NR_fdatasync,         sys_fdatasync),         // 83
-+
-    LINXY(__NR_timerfd_create,    sys_timerfd_create),    // 85
-    LINXY(__NR_timerfd_settime,   sys_timerfd_settime),   // 86
-    LINXY(__NR_timerfd_gettime,   sys_timerfd_gettime),   // 87
-+   LINX_(__NR_utimensat,         sys_utimensat),         // 88
-+   GENX_(__NR_acct,              sys_acct),              // 89
-    LINXY(__NR_capget,            sys_capget),            // 90
-+   LINX_(__NR_capset,            sys_capset),            // 91
-+   LINX_(__NR_personality,       sys_personality),       // 92
-    GENX_(__NR_exit,              sys_exit),              // 93
-    LINX_(__NR_exit_group,        sys_exit_group),        // 94
-+
-    LINX_(__NR_set_tid_address,   sys_set_tid_address),   // 96
-+
-    LINXY(__NR_futex,             sys_futex),             // 98
-    LINX_(__NR_set_robust_list,   sys_set_robust_list),   // 99
-+
-    GENXY(__NR_nanosleep,         sys_nanosleep),         // 101
-+   GENXY(__NR_getitimer,         sys_getitimer),         // 102
-    GENXY(__NR_setitimer,         sys_setitimer),         // 103
-+   GENX_(__NR_kexec_load,        sys_ni_syscall),        // 104
-+   LINX_(__NR_init_module,       sys_init_module),       // 105
-+
-+   LINXY(__NR_timer_create,      sys_timer_create),      // 107
-+   LINXY(__NR_timer_settime,     sys_timer_settime),     // 108
-+   LINXY(__NR_timer_gettime,     sys_timer_gettime),     // 109
-+   LINX_(__NR_timer_getoverrun,  sys_timer_getoverrun),  // 110
-+   LINX_(__NR_timer_delete,      sys_timer_delete),      // 111
-+   LINX_(__NR_clock_settime,     sys_clock_settime),     // 112
-    LINXY(__NR_clock_gettime,     sys_clock_gettime),     // 113
-    LINXY(__NR_clock_getres,      sys_clock_getres),      // 114
-+
-    LINXY(__NR_syslog,            sys_syslog),            // 116
-+
-+   LINXY(__NR_sched_setparam,    sys_sched_setparam),    // 118
-+   LINX_(__NR_sched_setscheduler,sys_sched_setscheduler),// 119
-+   LINX_(__NR_sched_getscheduler,sys_sched_getscheduler),// 120
-+   LINXY(__NR_sched_getparam,    sys_sched_getparam),    // 121
-    LINX_(__NR_sched_setaffinity, sys_sched_setaffinity), // 122
-    LINXY(__NR_sched_getaffinity, sys_sched_getaffinity), // 123
-    LINX_(__NR_sched_yield,       sys_sched_yield),       // 124
-+   LINX_(__NR_sched_get_priority_max, sys_sched_get_priority_max),// 125
-+   LINX_(__NR_sched_get_priority_min, sys_sched_get_priority_min),// 126
-+
-    GENX_(__NR_kill,              sys_kill),              // 129
-+
-    LINX_(__NR_tgkill,            sys_tgkill),            // 131
-    GENXY(__NR_sigaltstack,       sys_sigaltstack),       // 132
-    LINX_(__NR_rt_sigsuspend,     sys_rt_sigsuspend),     // 133
-@@ -965,6 +991,7 @@ static SyscallTableEntry syscall_main_table[] = {
-    PLAX_(__NR_rt_sigreturn,      sys_rt_sigreturn),      // 139
-    GENX_(__NR_setpriority,       sys_setpriority),       // 140
-    GENX_(__NR_getpriority,       sys_getpriority),       // 141
-+
-    GENX_(__NR_setregid,          sys_setregid),          // 143
-    GENX_(__NR_setgid,            sys_setgid),            // 144
-    GENX_(__NR_setreuid,          sys_setreuid),          // 145
-@@ -973,6 +1000,8 @@ static SyscallTableEntry syscall_main_table[] = {
-    LINXY(__NR_getresuid,         sys_getresuid),         // 148
-    LINX_(__NR_setresgid,         sys_setresgid),         // 149
-    LINXY(__NR_getresgid,         sys_getresgid),         // 150
-+   LINX_(__NR_setfsuid,          sys_setfsuid),          // 151
-+   LINX_(__NR_setfsgid,          sys_setfsgid),          // 152
-    GENXY(__NR_times,             sys_times),             // 153
-    GENX_(__NR_setpgid,           sys_setpgid),           // 154
-    GENX_(__NR_getpgid,           sys_getpgid),           // 155
-@@ -981,12 +1010,16 @@ static SyscallTableEntry syscall_main_table[] = {
-    GENXY(__NR_getgroups,         sys_getgroups),         // 158
-    GENX_(__NR_setgroups,         sys_setgroups),         // 159
-    GENXY(__NR_uname,             sys_newuname),          // 160
-+
-    GENXY(__NR_getrlimit,         sys_old_getrlimit),     // 163
-    GENX_(__NR_setrlimit,         sys_setrlimit),         // 164
-    GENXY(__NR_getrusage,         sys_getrusage),         // 165
-    GENX_(__NR_umask,             sys_umask),             // 166
-    LINXY(__NR_prctl,             sys_prctl),             // 167 
-+
-    GENXY(__NR_gettimeofday,      sys_gettimeofday),      // 169
-+   GENX_(__NR_settimeofday,      sys_settimeofday),      // 170
-+
-    GENX_(__NR_getpid,            sys_getpid),            // 172
-    GENX_(__NR_getppid,           sys_getppid),           // 173
-    GENX_(__NR_getuid,            sys_getuid),            // 174
-@@ -1033,18 +1066,20 @@ static SyscallTableEntry syscall_main_table[] = {
-    GENXY(__NR_munmap,            sys_munmap),            // 215
-    GENX_(__NR_mremap,            sys_mremap),            // 216
-    LINX_(__NR_add_key,           sys_add_key),           // 217
-+
-    LINXY(__NR_keyctl,            sys_keyctl),            // 219
-    PLAX_(__NR_clone,             sys_clone),             // 220
-    GENX_(__NR_execve,            sys_execve),            // 221
--
--   // FIXME IS THIS CORRECT?
--   PLAX_(__NR3264_mmap,          sys_mmap),              // 222
--   PLAX_(__NR3264_fadvise64,     sys_fadvise64),         // 223
-+   PLAX_(__NR_mmap,              sys_mmap),              // 222
-+   PLAX_(__NR_fadvise64,         sys_fadvise64),         // 223
- 
-    GENXY(__NR_mprotect,          sys_mprotect),          // 226
-    GENX_(__NR_msync,             sys_msync),             // 227
-    GENX_(__NR_mlock,             sys_mlock),             // 228
-+   GENX_(__NR_munlock,           sys_munlock),           // 229
-    GENX_(__NR_mlockall,          sys_mlockall),          // 230
-+   LINX_(__NR_munlockall,        sys_munlockall),        // 231
-+   GENXY(__NR_mincore,           sys_mincore),           // 232
-    GENX_(__NR_madvise,           sys_madvise),           // 233
-    LINX_(__NR_mbind,             sys_mbind),             // 235
-    LINXY(__NR_get_mempolicy,     sys_get_mempolicy),     // 236
-@@ -1103,7 +1138,6 @@ static SyscallTableEntry syscall_main_table[] = {
- //ZZ    GENX_(__NR_nice,              sys_nice),           // 34
- //ZZ 
- //ZZ //   GENX_(__NR_ftime,             sys_ni_syscall),     // 35
--//ZZ    GENX_(__NR_sync,              sys_sync),           // 36
- //ZZ    GENX_(__NR_rename,            sys_rename),         // 38
- //ZZ    GENX_(__NR_mkdir,             sys_mkdir),          // 39
- //ZZ 
-@@ -1116,7 +1150,6 @@ static SyscallTableEntry syscall_main_table[] = {
- //ZZ    LINX_(__NR_geteuid,           sys_geteuid16),      // 49
- //ZZ 
- //ZZ    LINX_(__NR_getegid,           sys_getegid16),      // 50
--//ZZ    GENX_(__NR_acct,              sys_acct),           // 51
- //ZZ //   GENX_(__NR_lock,              sys_ni_syscall),     // 53
- //ZZ 
- //ZZ    LINXY(__NR_fcntl,             sys_fcntl),          // 55
-@@ -1138,7 +1171,6 @@ static SyscallTableEntry syscall_main_table[] = {
- //ZZ //zz    //   (__NR_sethostname,       sys_sethostname),    // 74 */*
- //ZZ //zz 
- //ZZ    GENXY(__NR_getrlimit,         sys_old_getrlimit),  // 76
--//ZZ    GENX_(__NR_settimeofday,      sys_settimeofday),   // 79
- //ZZ 
- //ZZ    LINXY(__NR_getgroups,         sys_getgroups16),    // 80
- //ZZ    LINX_(__NR_setgroups,         sys_setgroups16),    // 81
-@@ -1165,14 +1197,12 @@ static SyscallTableEntry syscall_main_table[] = {
- //ZZ //   LINX_(__NR_ioperm,            sys_ioperm),         // 101
- //ZZ    LINXY(__NR_socketcall,        sys_socketcall),     // 102
- //ZZ 
--//ZZ    GENXY(__NR_getitimer,         sys_getitimer),      // 105
- //ZZ    GENXY(__NR_stat,              sys_newstat),        // 106
- //ZZ    GENXY(__NR_lstat,             sys_newlstat),       // 107
- //ZZ    GENXY(__NR_fstat,             sys_newfstat),       // 108
- //ZZ //zz    //   (__NR_olduname,          sys_uname),          // 109 -- obsolete
- //ZZ //zz 
- //ZZ //   GENX_(__NR_iopl,              sys_iopl),           // 110
--//ZZ    LINX_(__NR_vhangup,           sys_vhangup),        // 111
- //ZZ //   GENX_(__NR_idle,              sys_ni_syscall),     // 112
- //ZZ // PLAXY(__NR_vm86old,           sys_vm86old),        // 113 __NR_syscall... weird
- //ZZ //zz 
-@@ -1188,7 +1218,6 @@ static SyscallTableEntry syscall_main_table[] = {
- //ZZ    LINXY(__NR_sigprocmask,       sys_sigprocmask),    // 126
- //ZZ //zz    // Nb: create_module() was removed 2.4-->2.6
- //ZZ //   GENX_(__NR_create_module,     sys_ni_syscall),     // 127
--//ZZ    LINX_(__NR_init_module,       sys_init_module),    // 128
- //ZZ    LINX_(__NR_delete_module,     sys_delete_module),  // 129
- //ZZ //zz 
- //ZZ //zz    // Nb: get_kernel_syms() was removed 2.4-->2.6
-@@ -1197,10 +1226,7 @@ static SyscallTableEntry syscall_main_table[] = {
- //ZZ //zz    //   (__NR_bdflush,           sys_bdflush),        // 134 */Linux
- //ZZ //zz 
- //ZZ //zz    //   (__NR_sysfs,             sys_sysfs),          // 135 SVr4
--//ZZ    LINX_(__NR_personality,       sys_personality),    // 136
- //ZZ //   GENX_(__NR_afs_syscall,       sys_ni_syscall),     // 137
--//ZZ    LINX_(__NR_setfsuid,          sys_setfsuid16),     // 138
--//ZZ    LINX_(__NR_setfsgid,          sys_setfsgid16),     // 139
- //ZZ  
- //ZZ    LINXY(__NR__llseek,           sys_llseek),         // 140
- //ZZ    GENXY(__NR_getdents,          sys_getdents),       // 141
-@@ -1208,16 +1234,6 @@ static SyscallTableEntry syscall_main_table[] = {
- //ZZ 
- //ZZ    LINXY(__NR__sysctl,           sys_sysctl),         // 149
- //ZZ 
--//ZZ    GENX_(__NR_munlock,           sys_munlock),        // 151
--//ZZ    LINX_(__NR_munlockall,        sys_munlockall),     // 153
--//ZZ    LINXY(__NR_sched_setparam,    sys_sched_setparam), // 154
--//ZZ 
--//ZZ    LINXY(__NR_sched_getparam,         sys_sched_getparam),        // 155
--//ZZ    LINX_(__NR_sched_setscheduler,     sys_sched_setscheduler),    // 156
--//ZZ    LINX_(__NR_sched_getscheduler,     sys_sched_getscheduler),    // 157
--//ZZ    LINX_(__NR_sched_get_priority_max, sys_sched_get_priority_max),// 159
--//ZZ 
--//ZZ    LINX_(__NR_sched_get_priority_min, sys_sched_get_priority_min),// 160
- //ZZ //zz    //LINX?(__NR_sched_rr_get_interval,  sys_sched_rr_get_interval), // 161 */*
- //ZZ    LINX_(__NR_setresuid,         sys_setresuid16),    // 164
- //ZZ 
-@@ -1236,7 +1252,6 @@ static SyscallTableEntry syscall_main_table[] = {
- //ZZ 
- //ZZ    LINX_(__NR_chown,             sys_chown16),        // 182
- //ZZ 
--//ZZ    LINX_(__NR_capset,            sys_capset),         // 185
- //ZZ    LINXY(__NR_sendfile,          sys_sendfile),       // 187
- //ZZ //   GENXY(__NR_getpmsg,           sys_getpmsg),        // 188
- //ZZ //   GENX_(__NR_putpmsg,           sys_putpmsg),        // 189
-@@ -1271,42 +1286,26 @@ static SyscallTableEntry syscall_main_table[] = {
- //ZZ    LINX_(__NR_setfsuid32,        sys_setfsuid),       // 215
- //ZZ    LINX_(__NR_setfsgid32,        sys_setfsgid),       // 216
- //ZZ //zz    //   (__NR_pivot_root,        sys_pivot_root),     // 217 */Linux
--//ZZ    GENXY(__NR_mincore,           sys_mincore),        // 218
- //ZZ 
- //ZZ    LINXY(__NR_fcntl64,           sys_fcntl64),        // 221
- //ZZ //   GENX_(222,                    sys_ni_syscall),     // 222
- //ZZ //   PLAXY(223,                    sys_syscall223),     // 223 // sys_bproc?
- //ZZ 
- //ZZ    LINXY(__NR_tkill,             sys_tkill),          // 238 */Linux
--//ZZ    LINXY(__NR_sendfile64,        sys_sendfile64),     // 239
- //ZZ 
- //ZZ    LINXY(__NR_futex,             sys_futex),             // 240
- //ZZ    LINXY(__NR_sched_getaffinity, sys_sched_getaffinity), // 242
- //ZZ //   PLAX_(__NR_set_thread_area,   sys_set_thread_area),   // 243
- //ZZ //   PLAX_(__NR_get_thread_area,   sys_get_thread_area),   // 244
- //ZZ 
--//ZZ    LINXY(__NR_io_setup,          sys_io_setup),       // 245
--//ZZ    LINX_(__NR_io_destroy,        sys_io_destroy),     // 246
--//ZZ    LINXY(__NR_io_getevents,      sys_io_getevents),   // 247
--//ZZ    LINX_(__NR_io_submit,         sys_io_submit),      // 248
--//ZZ    LINXY(__NR_io_cancel,         sys_io_cancel),      // 249
--//ZZ 
- //ZZ //   LINX_(__NR_fadvise64,         sys_fadvise64),      // 250 */(Linux?)
- //ZZ    GENX_(251,                    sys_ni_syscall),     // 251
--//ZZ //   GENXY(__NR_lookup_dcookie,    sys_lookup_dcookie), // 253
- //ZZ    LINXY(__NR_epoll_create,      sys_epoll_create),   // 254
- //ZZ 
- //ZZ    LINX_(__NR_epoll_ctl,         sys_epoll_ctl),         // 255
- //ZZ    LINXY(__NR_epoll_wait,        sys_epoll_wait),        // 256
- //ZZ //zz    //   (__NR_remap_file_pages,  sys_remap_file_pages),  // 257 */Linux
- //ZZ    LINX_(__NR_set_tid_address,   sys_set_tid_address),   // 258
--//ZZ    LINXY(__NR_timer_create,      sys_timer_create),      // 259
--//ZZ 
--//ZZ    LINXY(__NR_timer_settime,     sys_timer_settime),  // (timer_create+1)
--//ZZ    LINXY(__NR_timer_gettime,     sys_timer_gettime),  // (timer_create+2)
--//ZZ    LINX_(__NR_timer_getoverrun,  sys_timer_getoverrun),//(timer_create+3)
--//ZZ    LINX_(__NR_timer_delete,      sys_timer_delete),   // (timer_create+4)
--//ZZ    LINX_(__NR_clock_settime,     sys_clock_settime),  // (timer_create+5)
- //ZZ 
- //ZZ    LINXY(__NR_clock_getres,      sys_clock_getres),   // (timer_create+7)
- //ZZ    LINXY(__NR_clock_nanosleep,   sys_clock_nanosleep),// (timer_create+8) */*
-diff --git a/coregrind/m_syswrap/syswrap-linux.c b/coregrind/m_syswrap/syswrap-linux.c
-index 6fdacda..fa7f89e 100644
---- a/coregrind/m_syswrap/syswrap-linux.c
-+++ b/coregrind/m_syswrap/syswrap-linux.c
-@@ -5325,7 +5325,7 @@ POST(sys_lookup_dcookie)
- #endif
- 
- #if defined(VGP_amd64_linux) || defined(VGP_s390x_linux)        \
--      || defined(VGP_tilegx_linux)
-+      || defined(VGP_tilegx_linux) || defined(VGP_arm64_linux)
- PRE(sys_lookup_dcookie)
- {
-    *flags |= SfMayBlock;
-diff --git a/memcheck/tests/Makefile.am b/memcheck/tests/Makefile.am
-index 368239f..8557a19 100644
---- a/memcheck/tests/Makefile.am
-+++ b/memcheck/tests/Makefile.am
-@@ -38,6 +38,9 @@ endif
- if VGCONF_PLATFORMS_INCLUDE_AMD64_LINUX
- SUBDIRS += amd64-linux
- endif
-+if VGCONF_PLATFORMS_INCLUDE_ARM64_LINUX
-+SUBDIRS += arm64-linux
-+endif
- if VGCONF_PLATFORMS_INCLUDE_X86_SOLARIS
- SUBDIRS += x86-solaris
- endif
-@@ -46,7 +49,8 @@ SUBDIRS += amd64-solaris
- endif
- 
- DIST_SUBDIRS = x86 amd64 ppc32 ppc64 s390x linux \
--		darwin solaris x86-linux amd64-linux x86-solaris amd64-solaris \
-+		darwin solaris x86-linux amd64-linux arm64-linux \
-+		x86-solaris amd64-solaris \
- 		common .
- 
- dist_noinst_SCRIPTS = \
-diff --git a/memcheck/tests/arm64-linux/Makefile.am b/memcheck/tests/arm64-linux/Makefile.am
-new file mode 100644
-index 0000000..284d83f
---- /dev/null
-+++ b/memcheck/tests/arm64-linux/Makefile.am
-@@ -0,0 +1,19 @@
-+
-+include $(top_srcdir)/Makefile.tool-tests.am
-+
-+dist_noinst_SCRIPTS = \
-+	filter_stderr
-+
-+noinst_HEADERS = scalar.h
-+
-+EXTRA_DIST = \
-+	scalar.stderr.exp scalar.vgtest
-+
-+check_PROGRAMS = \
-+	scalar
-+
-+
-+AM_CFLAGS    += @FLAG_M64@
-+AM_CXXFLAGS  += @FLAG_M64@
-+AM_CCASFLAGS += @FLAG_M64@
-+
-diff --git a/memcheck/tests/arm64-linux/filter_stderr b/memcheck/tests/arm64-linux/filter_stderr
-new file mode 100755
-index 0000000..a778e97
---- /dev/null
-+++ b/memcheck/tests/arm64-linux/filter_stderr
-@@ -0,0 +1,3 @@
-+#! /bin/sh
-+
-+../filter_stderr "$@"
-diff --git a/memcheck/tests/arm64-linux/scalar.c b/memcheck/tests/arm64-linux/scalar.c
-new file mode 100644
-index 0000000..e8f2e43
---- /dev/null
-+++ b/memcheck/tests/arm64-linux/scalar.c
-@@ -0,0 +1,1278 @@
-+/* This is the arm64 variant of memcheck/tests/x86-linux/scalar.c
-+   syscalls are in x86 number order to make exp comparison easier. */
-+#define _GNU_SOURCE
-+#include "../../memcheck.h"
-+#include "scalar.h"
-+#include <unistd.h>
-+#include <sched.h>
-+#include <signal.h>
-+#include <linux/mman.h> // MREMAP_FIXED
-+
-+// Here we are trying to trigger every syscall error (scalar errors and
-+// memory errors) for every syscall.  We do this by passing a lot of bogus
-+// arguments, mostly 0 and 1 (often it's 1 because NULL ptr args often aren't
-+// checked for memory errors, or in order to have a non-zero length used
-+// with some buffer).  So most of the syscalls don't actually succeed and do
-+// anything.
-+//
-+// Occasionally we have to be careful not to cause Valgrind to seg fault in
-+// its pre-syscall wrappers;  it does so because it can't know in general
-+// when memory is unaddressable, and so tries to dereference it when doing
-+// PRE_MEM_READ/PRE_MEM_WRITE calls.  (Note that Memcheck will
-+// always issue an error message immediately before these seg faults occur).
-+//
-+// The output has numbers like "3s 2m" for each syscall.  "s" is short for
-+// "scalar", ie. the argument itself is undefined.  "m" is short for "memory",
-+// ie. the argument points to memory which is unaddressable.
-+int main(void)
-+{
-+   // uninitialised, but we know px[0] is 0x0
-+   long* px  = malloc(sizeof(long));
-+   long  x0  = px[0];
-+   long  res;
-+
-+   // All __NR_xxx numbers are taken from x86
-+
-+   // __NR_restart_syscall 0  // XXX: not yet handled, perhaps should be...
-+   GO(__NR_restart_syscall, "n/a");
-+ //SY(__NR_restart_syscall); // (Not yet handled by Valgrind) FAIL;
-+
-+   // __NR_exit 1 
-+   GO(__NR_exit, "below");
-+   // (see below)
-+
-+   // __NR_fork arm64 only has clone
-+   //GO(__NR_fork, "other");
-+   // (sse scalar_fork.c)
-+
-+   // __NR_read 3
-+   // Nb: here we are also getting an error from the syscall arg itself.
-+   GO(__NR_read, "1+3s 1m");
-+   SY(__NR_read+x0, x0, x0, x0+1); FAILx(EFAULT);
-+
-+   // __NR_write 4
-+   GO(__NR_write, "3s 1m");
-+   SY(__NR_write, x0, x0, x0+1); FAIL;
-+
-+   // __NR_open arm64 only as openat.
-+   //GO(__NR_open, "(2-args) 2s 1m");
-+   //SY(__NR_open, x0, x0); FAIL;
-+
-+   // Only 1s 0m errors -- the other 2s 1m have been checked in the previous
-+   // open test, and if we test them they may be commoned up but they also
-+   // may not. arm64 only has openat.
-+   //GO(__NR_open, "(3-args) 1s 0m");    
-+   //SY(__NR_open, "scalar.c", O_CREAT|O_EXCL, x0); FAIL;
-+
-+   // __NR_close 6
-+   GO(__NR_close, "1s 0m");
-+   SY(__NR_close, x0-1); FAIL;
-+
-+   // __NR_waitpid arm64 only has waitid.
-+   //GO(__NR_waitpid, "3s 1m");
-+   //SY(__NR_waitpid, x0, x0+1, x0); FAIL;
-+
-+   // __NR_creat arm64 only has openat
-+   //GO(__NR_creat, "2s 1m");
-+   //SY(__NR_creat, x0, x0); FAIL;
-+
-+   // __NR_link arm64 only has linkat
-+   //GO(__NR_link, "2s 2m");
-+   //SY(__NR_link, x0, x0); FAIL;
-+
-+   // __NR_unlink arm64 only has unlinkat
-+   //GO(__NR_unlink, "1s 1m");
-+   //SY(__NR_unlink, x0); FAIL;
-+
-+   // __NR_execve 11
-+   // Nb: could have 3 memory errors if we pass x0+1 as the 2nd and 3rd
-+   // args, except for bug #93174.
-+   GO(__NR_execve, "3s 1m");
-+   SY(__NR_execve, x0, x0, x0); FAIL;
-+
-+   // __NR_chdir 12
-+   GO(__NR_chdir, "1s 1m");
-+   SY(__NR_chdir, x0); FAIL;
-+
-+   // __NR_time on arm64 time is provided in the vdso
-+   //GO(__NR_time, "1s 1m");
-+   //SY(__NR_time, x0+1); FAIL;
-+
-+   // __NR_mknod arm64 only has mknodat
-+   //GO(__NR_mknod, "3s 1m");
-+   //SY(__NR_mknod, x0, x0, x0); FAIL;
-+
-+   // __NR_chmod arm64 only has chmodat
-+   //GO(__NR_chmod, "2s 1m");
-+   //SY(__NR_chmod, x0, x0); FAIL;
-+
-+   // __NR_lchown arm64 only has lchownat
-+   //GO(__NR_lchown, "n/a");
-+ //SY(__NR_lchown); // (Not yet handled by Valgrind) FAIL;
-+
-+   // __NR_break arm64 has no break
-+   //GO(__NR_break, "ni");
-+   //SY(__NR_break); FAIL;
-+
-+   // __NR_oldstat arm64 has no oldstat
-+   //GO(__NR_oldstat, "n/a");
-+   // (obsolete, not handled by Valgrind)
-+
-+   // __NR_lseek 19
-+   GO(__NR_lseek, "3s 0m");
-+   SY(__NR_lseek, x0-1, x0, x0); FAILx(EBADF);
-+
-+   // __NR_getpid 20
-+   GO(__NR_getpid, "0s 0m");
-+   SY(__NR_getpid); SUCC;
-+
-+   // __NR_mount 21
-+   GO(__NR_mount, "5s 3m");
-+   SY(__NR_mount, x0, x0, x0, x0, x0); FAIL;
-+   
-+   // __NR_umount arm64 only has umount2
-+   //GO(__NR_umount, "1s 1m");
-+   //SY(__NR_umount, x0); FAIL;
-+
-+   // __NR_setuid 23
-+   GO(__NR_setuid, "1s 0m");
-+   SY(__NR_setuid, x0); FAIL;
-+
-+   // __NR_getuid 24
-+   GO(__NR_getuid, "0s 0m");
-+   SY(__NR_getuid); SUCC;
-+
-+   // __NR_stime arm64 does not have stime
-+   //GO(__NR_stime, "n/a");
-+ //SY(__NR_stime); // (Not yet handled by Valgrind) FAIL;
-+
-+   // __NR_ptrace arm64 does not use PTRACE_GETREGS
-+   // XXX: memory pointed to be arg3 goes unchecked... otherwise would be 2m
-+   //GO(__NR_ptrace, "4s 1m");
-+   //SY(__NR_ptrace, x0+PTRACE_GETREGS, x0, x0, x0); FAIL;
-+
-+   // __NR_alarm arm64 only has ualarm
-+   //GO(__NR_alarm, "1s 0m");
-+   //SY(__NR_alarm, x0); SUCC;
-+
-+   // __NR_oldfstat arm64 does not have oldfstat
-+   //GO(__NR_oldfstat, "n/a");
-+   // (obsolete, not handled by Valgrind)
-+
-+   // __NR_pause arm64 does not have pause
-+   //GO(__NR_pause, "ignore");
-+   // (hard to test, and no args so not much to be gained -- don't bother)
-+
-+   // __NR_utime arm64 only has utimes
-+   //GO(__NR_utime, "2s 2m");
-+   //SY(__NR_utime, x0, x0+1); FAIL;
-+
-+   // __NR_stty arm64 doesn't have stty.
-+   //GO(__NR_stty, "ni");
-+   //SY(__NR_stty); FAIL;
-+
-+   // __NR_gtty arm64 doesm't have gtty.
-+   //GO(__NR_gtty, "ni");
-+   //SY(__NR_gtty); FAIL;
-+
-+   // __NR_access arm64 only has fsaccessat
-+   //GO(__NR_access, "2s 1m");
-+   //SY(__NR_access, x0, x0); FAIL;
-+
-+   // __NR_nice arm64 only has setpriority
-+   //GO(__NR_nice, "1s 0m");
-+   //SY(__NR_nice, x0); SUCC;
-+
-+   // __NR_ftime arm64 doesn't implement ftime
-+   //GO(__NR_ftime, "ni");
-+   //SY(__NR_ftime); FAIL;
-+
-+   // __NR_sync 36
-+   GO(__NR_sync, "0s 0m");
-+   SY(__NR_sync); SUCC;
-+
-+   // __NR_kill 37
-+   GO(__NR_kill, "2s 0m");
-+   SY(__NR_kill, x0, x0); SUCC;
-+
-+   // __NR_rename arm64 only has renameat
-+   //GO(__NR_rename, "2s 2m");
-+   //SY(__NR_rename, x0, x0); FAIL;
-+
-+   // __NR_mkdir arm64 only has mkdirat
-+   //GO(__NR_mkdir, "2s 1m");
-+   //SY(__NR_mkdir, x0, x0); FAIL;
-+
-+   // __NR_rmdir arm64 only has rmdirat
-+   //GO(__NR_rmdir, "1s 1m");
-+   //SY(__NR_rmdir, x0); FAIL;
-+
-+   // __NR_dup 41
-+   GO(__NR_dup, "1s 0m");
-+   SY(__NR_dup, x0-1); FAIL;
-+
-+   // __NR_pipe arm64 only has pipe2
-+   //GO(__NR_pipe, "1s 1m");
-+   //SY(__NR_pipe, x0); FAIL;
-+
-+   // __NR_times 43
-+   GO(__NR_times, "1s 1m");
-+   SY(__NR_times, x0+1); FAIL;
-+
-+   // __NR_prof arm64 doesn't implement prof
-+   //GO(__NR_prof, "ni");
-+   //SY(__NR_prof); FAIL;
-+
-+   // __NR_brk 45
-+   GO(__NR_brk, "1s 0m");
-+   SY(__NR_brk, x0); SUCC;
-+
-+   // __NR_setgid 46
-+   GO(__NR_setgid, "1s 0m");
-+   SY(__NR_setgid, x0); FAIL;
-+
-+   // __NR_getgid 47
-+   GO(__NR_getgid, "0s 0m");
-+   SY(__NR_getgid); SUCC;
-+
-+   // __NR_signal arm64 only has rt_sigaction
-+   //GO(__NR_signal, "n/a");
-+ //SY(__NR_signal); // (Not yet handled by Valgrind) FAIL;
-+
-+   // __NR_geteuid 49
-+   GO(__NR_geteuid, "0s 0m");
-+   SY(__NR_geteuid); SUCC;
-+
-+   // __NR_getegid 50
-+   GO(__NR_getegid, "0s 0m");
-+   SY(__NR_getegid); SUCC;
-+
-+   // __NR_acct 51
-+   GO(__NR_acct, "1s 1m");
-+   SY(__NR_acct, x0); FAIL;
-+
-+   // __NR_umount2 52
-+   GO(__NR_umount2, "2s 1m");
-+   SY(__NR_umount2, x0, x0); FAIL;
-+
-+   // __NR_lock arm64 doesn't implement lock
-+   //GO(__NR_lock, "ni");
-+   //SY(__NR_lock); FAIL;
-+
-+   // __NR_ioctl 54
-+   #include <asm/ioctls.h>
-+   GO(__NR_ioctl, "3s 1m");
-+   SY(__NR_ioctl, x0, x0+TCSETS, x0); FAIL;
-+
-+   // __NR_fcntl 55
-+   // As with sys_open(), the 'fd' error is suppressed for the later ones.
-+   // For F_GETFD the 3rd arg is ignored
-+   GO(__NR_fcntl, "(GETFD) 2s 0m");
-+   SY(__NR_fcntl, x0-1, x0+F_GETFD, x0); FAILx(EBADF);
-+
-+   // For F_DUPFD the 3rd arg is 'arg'.  We don't check the 1st two args
-+   // because any errors may or may not be commoned up with the ones from
-+   // the previous fcntl call.
-+   GO(__NR_fcntl, "(DUPFD) 1s 0m");
-+   SY(__NR_fcntl, -1, F_DUPFD, x0); FAILx(EBADF);
-+
-+   // For F_GETLK the 3rd arg is 'lock'.  On x86, this fails w/EBADF.  But
-+   // on amd64 in 32-bit mode it fails w/EFAULT.  We don't check the 1st two
-+   // args for the reason given above.
-+   GO(__NR_fcntl, "(GETLK) 1s 0m");
-+   SY(__NR_fcntl, -1, F_GETLK, x0); FAIL; //FAILx(EBADF);
-+
-+   // __NR_mpx arm64 doesn't implement mpx
-+   //GO(__NR_mpx, "ni");
-+   //SY(__NR_mpx); FAIL;
-+
-+   // __NR_setpgid 57
-+   GO(__NR_setpgid, "2s 0m");
-+   SY(__NR_setpgid, x0, x0-1); FAIL;
-+
-+   // __NR_ulimit arm64 doesn't implement ulimit
-+   //GO(__NR_ulimit, "ni");
-+   //SY(__NR_ulimit); FAIL;
-+
-+   // __NR_oldolduname arm64 doesn't implement oldolduname,
-+   //GO(__NR_oldolduname, "n/a");
-+   // (obsolete, not handled by Valgrind)
-+
-+   // __NR_umask 60
-+   GO(__NR_umask, "1s 0m");
-+   SY(__NR_umask, x0+022); SUCC;
-+
-+   // __NR_chroot 61
-+   GO(__NR_chroot, "1s 1m");
-+   SY(__NR_chroot, x0); FAIL;
-+
-+   // __NR_ustat arm64 only has statfs
-+   //GO(__NR_ustat, "n/a");
-+   // (deprecated, not handled by Valgrind)
-+
-+   // __NR_dup2 arm64 only has dup or dup3
-+   //GO(__NR_dup2, "2s 0m");
-+   //SY(__NR_dup2, x0-1, x0); FAIL;
-+
-+   // __NR_getppid 64
-+   GO(__NR_getppid, "0s 0m");
-+   SY(__NR_getppid); SUCC;
-+
-+   // __NR_getpgrp arm64 only has getpgid
-+   //GO(__NR_getpgrp, "0s 0m");
-+   //SY(__NR_getpgrp); SUCC;
-+
-+   // __NR_setsid 66
-+   GO(__NR_setsid, "0s 0m");
-+   SY(__NR_setsid); SUCC_OR_FAIL;
-+
-+   // __NR_sigaction arm64 only has rt_sigaction
-+   //GO(__NR_sigaction, "3s 4m");
-+   //SY(__NR_sigaction, x0, x0+&px[1], x0+&px[1]); FAIL;
-+
-+   // __NR_sgetmask arm64 only has rt_sigprocmask
-+   //GO(__NR_sgetmask, "n/a");
-+ //SY(__NR_sgetmask); // (Not yet handled by Valgrind) FAIL;
-+
-+   // __NR_ssetmask arm64 only has rt_sigprocmask
-+   //GO(__NR_ssetmask, "n/a");
-+ //SY(__NR_ssetmask); // (Not yet handled by Valgrind) FAIL;
-+
-+   // __NR_setreuid 70
-+   GO(__NR_setreuid, "2s 0m");
-+   SY(__NR_setreuid, x0, x0); FAIL;
-+
-+   // __NR_setregid 71
-+   GO(__NR_setregid, "2s 0m");
-+   SY(__NR_setregid, x0, x0); FAIL;
-+
-+   // __NR_sigsuspend arm64 only has rt_sigsuspend
-+   // XXX: how do you use this function?
-+   //GO(__NR_sigsuspend, "ignore");
-+   // (I don't know how to test this...)
-+
-+   // __NR_sigpending arm64 only has rt_sigpending
-+   //GO(__NR_sigpending, "1s 1m");
-+   //SY(__NR_sigpending, x0); FAIL;
-+
-+   // __NR_sethostname 74
-+   GO(__NR_sethostname, "n/a");
-+ //SY(__NR_sethostname); // (Not yet handled by Valgrind) FAIL;
-+
-+   // __NR_setrlimit 75
-+   GO(__NR_setrlimit, "2s 1m");
-+   SY(__NR_setrlimit, x0, x0); FAIL;
-+
-+   // __NR_getrlimit 76
-+   GO(__NR_getrlimit, "2s 1m");
-+   SY(__NR_getrlimit, x0, x0); FAIL;
-+
-+   // __NR_getrusage 77
-+   GO(__NR_getrusage, "2s 1m");
-+   SY(__NR_getrusage, x0, x0); FAIL;
-+
-+   // __NR_gettimeofday 78
-+   GO(__NR_gettimeofday, "2s 2m");
-+   SY(__NR_gettimeofday, x0+1, x0+1); FAIL;
-+
-+   // __NR_settimeofday 79
-+   GO(__NR_settimeofday, "2s 2m");
-+   SY(__NR_settimeofday, x0+1, x0+1); FAIL;
-+
-+   // __NR_getgroups 80
-+   GO(__NR_getgroups, "2s 1m");
-+   SY(__NR_getgroups, x0+1, x0+1); FAIL;
-+
-+   // __NR_setgroups 81
-+   GO(__NR_setgroups, "2s 1m");
-+   SY(__NR_setgroups, x0+1, x0+1); FAIL;
-+
-+   // __NR_select arm64 only has pselect6
-+   //{
-+   //   long args[5] = { x0+8, x0+0xffffffee, x0+1, x0+1, x0+1 };
-+   //   GO(__NR_select, "1s 5m");
-+   //   SY(__NR_select, args+x0); FAIL;
-+   //}
-+
-+   // __NR_symlink arm64 only has symlinkat
-+   //GO(__NR_symlink, "2s 2m");
-+   //SY(__NR_symlink, x0, x0); FAIL;
-+
-+   // __NR_oldlstat arm64 doesn't implement oldlstat
-+   //GO(__NR_oldlstat, "n/a");
-+   // (obsolete, not handled by Valgrind)
-+
-+   // __NR_readlink arm64 only has readlinkat
-+   //GO(__NR_readlink, "3s 2m");
-+   //SY(__NR_readlink, x0+1, x0+1, x0+1); FAIL;
-+
-+   // __NR_uselib arm64 doesn't implement uselib
-+   //GO(__NR_uselib, "n/a");
-+ //SY(__NR_uselib); // (Not yet handled by Valgrind) FAIL;
-+
-+   // __NR_swapon 87
-+   GO(__NR_swapon, "n/a");
-+ //SY(__NR_swapon); // (Not yet handled by Valgrind) FAIL;
-+
-+   // __NR_reboot 88
-+   GO(__NR_reboot, "n/a");
-+ //SY(__NR_reboot); // (Not yet handled by Valgrind) FAIL;
-+
-+   // __NR_readdir arm64 only implements getdents64
-+   //GO(__NR_readdir, "n/a");
-+   // (superseded, not handled by Valgrind)
-+
-+   // __NR_mmap 90
-+   {
-+      long args[6] = { x0, x0, x0, x0, x0-1, x0 };
-+      GO(__NR_mmap, "1s 1m");
-+      SY(__NR_mmap, args+x0); FAIL;
-+   }
-+
-+   // __NR_munmap 91
-+   GO(__NR_munmap, "2s 0m");
-+   SY(__NR_munmap, x0, x0); FAIL;
-+
-+   // __NR_truncate 92
-+   GO(__NR_truncate, "2s 1m");
-+   SY(__NR_truncate, x0, x0); FAIL;
-+
-+   // __NR_ftruncate 93
-+   GO(__NR_ftruncate, "2s 0m");
-+   SY(__NR_ftruncate, x0, x0); FAIL;
-+
-+   // __NR_fchmod 94
-+   GO(__NR_fchmod, "2s 0m");
-+   SY(__NR_fchmod, x0-1, x0); FAIL;
-+
-+   // __NR_fchown 95
-+   GO(__NR_fchown, "3s 0m");
-+   SY(__NR_fchown, x0, x0, x0); FAIL;
-+
-+   // __NR_getpriority 96
-+   GO(__NR_getpriority, "2s 0m");
-+   SY(__NR_getpriority, x0-1, x0); FAIL;
-+
-+   // __NR_setpriority 97
-+   GO(__NR_setpriority, "3s 0m");
-+   SY(__NR_setpriority, x0-1, x0, x0); FAIL;
-+
-+   // __NR_profil arm64 doesn't implement profil.
-+   //GO(__NR_profil, "ni");
-+   //SY(__NR_profil); FAIL;
-+
-+   // __NR_statfs 99
-+   GO(__NR_statfs, "2s 2m");
-+   SY(__NR_statfs, x0, x0); FAIL;
-+
-+   // __NR_fstatfs 100
-+   GO(__NR_fstatfs, "2s 1m");
-+   SY(__NR_fstatfs, x0, x0); FAIL;
-+
-+   // __NR_ioperm arm64 doesn't implement ioperm
-+   //GO(__NR_ioperm, "3s 0m");
-+   //SY(__NR_ioperm, x0, x0, x0); FAIL;
-+
-+   // __NR_socketcall arm64 doesn't have socketcall.
-+   //GO(__NR_socketcall, "XXX");
-+   // (XXX: need to do all sub-cases properly)
-+
-+   // __NR_syslog 103
-+   GO(__NR_syslog, "3s 1m");
-+   SY(__NR_syslog, x0+2, x0, x0+1); FAIL;
-+
-+   // __NR_setitimer 104
-+   GO(__NR_setitimer, "3s 2m");
-+   SY(__NR_setitimer, x0, x0+1, x0+1); FAIL;
-+
-+   // __NR_getitimer 105
-+   GO(__NR_getitimer, "2s 1m");
-+   SY(__NR_getitimer, x0, x0, x0); FAIL;
-+
-+   // __NR_stat arm64 doesn't implement stat
-+   //GO(__NR_stat, "2s 2m");
-+   //SY(__NR_stat, x0, x0); FAIL;
-+
-+   // __NR_lstat arm64 doesn't implement lstat
-+   //GO(__NR_lstat, "2s 2m");
-+   //SY(__NR_lstat, x0, x0); FAIL;
-+
-+   // __NR_fstat 108
-+   GO(__NR_fstat, "2s 1m");
-+   SY(__NR_fstat, x0, x0); FAIL;
-+
-+   // __NR_olduname arm64 doesn't implement olduname
-+   //GO(__NR_olduname, "n/a");
-+   // (obsolete, not handled by Valgrind)
-+
-+   // __NR_iopl arm64 doesn't implement iopl
-+   //GO(__NR_iopl, "1s 0m");
-+   //SY(__NR_iopl, x0+100); FAIL;
-+
-+   // __NR_vhangup 111
-+   GO(__NR_vhangup, "0s 0m");
-+   SY(__NR_vhangup); SUCC_OR_FAIL;  // Will succeed for superuser
-+   
-+   // __NR_idle arm64 doesn't implement idle.
-+   //GO(__NR_idle, "ni");
-+   //SY(__NR_idle); FAIL;
-+
-+   // __NR_vm86old arm64 doesn't implement vm86old
-+   //GO(__NR_vm86old, "n/a");
-+   // (will probably never be handled by Valgrind)
-+
-+   // __NR_wait4 114
-+   GO(__NR_wait4, "4s 2m");
-+   SY(__NR_wait4, x0, x0+1, x0, x0+1); FAIL;
-+
-+   // __NR_swapoff 115
-+   GO(__NR_swapoff, "n/a");
-+ //SY(__NR_swapoff); // (Not yet handled by Valgrind) FAIL;
-+
-+   // __NR_sysinfo 116
-+   GO(__NR_sysinfo, "1s 1m");
-+   SY(__NR_sysinfo, x0); FAIL;
-+
-+   // __NR_ipc arm64 has separate msgctl semctl shmctl system calls
-+   // XXX: This is simplistic -- need to do all the sub-cases properly.
-+   // XXX: Also, should be 6 scalar errors, except glibc's syscall() doesn't
-+   //      use the 6th one!
-+   //GO(__NR_ipc, "5s 0m");
-+   //SY(__NR_ipc, x0+4, x0, x0, x0, x0, x0); FAIL;
-+
-+   // __NR_fsync 118
-+   GO(__NR_fsync, "1s 0m");
-+   SY(__NR_fsync, x0-1); FAIL;
-+
-+   // __NR_sigreturn arm64 only has rt_sigreturn
-+   //GO(__NR_sigreturn, "n/a");
-+ //SY(__NR_sigreturn); // (Not yet handled by Valgrind) FAIL;
-+
-+   // __NR_clone 120
-+#ifndef CLONE_PARENT_SETTID
-+#define CLONE_PARENT_SETTID	0x00100000
-+#endif
-+   GO(__NR_clone, "5s 3m");
-+   SY(__NR_clone, x0|CLONE_PARENT_SETTID|CLONE_SETTLS|CLONE_CHILD_SETTID|SIGCHLD, x0, x0, x0, x0); FAIL;
-+   if (0 == res) {
-+      SY(__NR_exit, 0); FAIL;
-+   }
-+
-+   // __NR_setdomainname 121
-+   GO(__NR_setdomainname, "n/a");
-+ //SY(__NR_setdomainname); // (Not yet handled by Valgrind) FAIL;
-+
-+   // __NR_uname 122
-+   GO(__NR_uname, "1s 1m");
-+   SY(__NR_uname, x0); FAIL;
-+
-+   // __NR_modify_ldt arm64 doesn't implement modify_ldt
-+   //GO(__NR_modify_ldt, "3s 1m");
-+   //SY(__NR_modify_ldt, x0+1, x0, x0+1); FAILx(EINVAL);
-+
-+   // __NR_adjtimex 124
-+   // XXX: need to do properly, but deref'ing NULL causing Valgrind to crash...
-+     GO(__NR_adjtimex, "XXX");
-+//   SY(__NR_adjtimex, x0); FAIL;
-+
-+   // __NR_mprotect 125
-+   GO(__NR_mprotect, "3s 0m");
-+   SY(__NR_mprotect, x0+1, x0, x0); FAILx(EINVAL);
-+
-+   // __NR_sigprocmask arm64 has rt_sigprocmask
-+   //GO(__NR_sigprocmask, "3s 2m");
-+   //SY(__NR_sigprocmask, x0, x0+&px[1], x0+&px[1]); SUCC;
-+
-+   // __NR_create_module arm64 doesn't implement create_module.
-+   //GO(__NR_create_module, "ni");
-+   //SY(__NR_create_module); FAIL;
-+
-+   // __NR_init_module 128
-+   GO(__NR_init_module, "3s 2m");
-+   SY(__NR_init_module, x0, x0+1, x0); FAIL;
-+
-+   // __NR_delete_module 129
-+   GO(__NR_delete_module, "n/a");
-+ //SY(__NR_delete_module); // (Not yet handled by Valgrind) FAIL;
-+
-+   // __NR_get_kernel_syms arm64 doesn't implement get_kernel_syms
-+   //GO(__NR_get_kernel_syms, "ni");
-+   //SY(__NR_get_kernel_syms); FAIL;
-+
-+   // __NR_quotactl 131
-+   GO(__NR_quotactl, "4s 1m");
-+   SY(__NR_quotactl, x0, x0, x0, x0); FAIL;
-+
-+   // __NR_getpgid 132
-+   GO(__NR_getpgid, "1s 0m");
-+   SY(__NR_getpgid, x0-1); FAIL;
-+
-+   // __NR_fchdir 133
-+   GO(__NR_fchdir, "1s 0m");
-+   SY(__NR_fchdir, x0-1); FAIL;
-+
-+   // __NR_bdflush arm64 doesn't implement bdflush
-+   //GO(__NR_bdflush, "n/a");
-+ //SY(__NR_bdflush); // (Not yet handled by Valgrind) FAIL;
-+
-+   // __NR_sysfs arm64 doesn't handle sysfs, use proc.
-+   //GO(__NR_sysfs, "n/a");
-+ //SY(__NR_sysfs); // (Not yet handled by Valgrind) FAIL;
-+
-+   // __NR_personality 136
-+   GO(__NR_personality, "1s 0m");
-+   SY(__NR_personality, x0+0xffffffff); SUCC;
-+
-+   // __NR_afs_syscall arm64 doesn't implement afs_syscall
-+   //GO(__NR_afs_syscall, "ni");
-+   //SY(__NR_afs_syscall); FAIL;
-+
-+   // __NR_setfsuid 138
-+   GO(__NR_setfsuid, "1s 0m");
-+   SY(__NR_setfsuid, x0); SUCC;  // This syscall has a stupid return value
-+
-+   // __NR_setfsgid 139
-+   GO(__NR_setfsgid, "1s 0m");
-+   SY(__NR_setfsgid, x0); SUCC;  // This syscall has a stupid return value
-+
-+   // __NR__llseek arm64 doesn't implement _llseek
-+   //GO(__NR__llseek, "5s 1m");
-+   //SY(__NR__llseek, x0, x0, x0, x0, x0); FAIL;
-+
-+   // __NR_getdents arm64 only has getdents64
-+   //GO(__NR_getdents, "3s 1m");
-+   //SY(__NR_getdents, x0, x0, x0+1); FAIL;
-+
-+   // __NR__newselect arm64 doesn't implement _newselect
-+   //GO(__NR__newselect, "5s 4m");
-+   //SY(__NR__newselect, x0+8, x0+0xffffffff, x0+1, x0+1, x0+1); FAIL;
-+
-+   // __NR_flock 143
-+   GO(__NR_flock, "2s 0m");
-+   SY(__NR_flock, x0, x0); FAIL;
-+
-+   // __NR_msync 144
-+   GO(__NR_msync, "3s 1m");
-+   SY(__NR_msync, x0, x0+1, x0); FAIL;
-+
-+   // __NR_readv 145
-+   GO(__NR_readv, "3s 1m");
-+   SY(__NR_readv, x0, x0, x0+1); FAIL;
-+
-+   // __NR_writev 146
-+   GO(__NR_writev, "3s 1m");
-+   SY(__NR_writev, x0, x0, x0+1); FAIL;
-+
-+   // __NR_getsid 147
-+   GO(__NR_getsid, "1s 0m");
-+   SY(__NR_getsid, x0-1); FAIL;
-+
-+   // __NR_fdatasync 148
-+   GO(__NR_fdatasync, "1s 0m");
-+   SY(__NR_fdatasync, x0-1); FAIL;
-+
-+   // __NR__sysctl arm64 doesn't implement sysctl, use /proc
-+   //GO(__NR__sysctl, "1s 1m");
-+   //SY(__NR__sysctl, x0); FAIL;
-+
-+   // __NR_mlock 150
-+   GO(__NR_mlock, "2s 0m");
-+   SY(__NR_mlock, x0, x0+1); FAIL;
-+
-+   // __NR_munlock 151
-+   GO(__NR_munlock, "2s 0m");
-+   SY(__NR_munlock, x0, x0+1); FAIL;
-+
-+   // __NR_mlockall 152
-+   GO(__NR_mlockall, "1s 0m");
-+   SY(__NR_mlockall, x0-1); FAIL;
-+
-+   // __NR_munlockall 153
-+   GO(__NR_munlockall, "0s 0m");
-+   SY(__NR_munlockall); SUCC_OR_FAILx(EPERM);
-+
-+   // __NR_sched_setparam 154
-+   GO(__NR_sched_setparam, "2s 1m");
-+   SY(__NR_sched_setparam, x0, x0); FAIL;
-+
-+   // __NR_sched_getparam 155
-+   GO(__NR_sched_getparam, "2s 1m");
-+   SY(__NR_sched_getparam, x0, x0); FAIL;
-+
-+   // __NR_sched_setscheduler 156
-+   GO(__NR_sched_setscheduler, "3s 1m");
-+   SY(__NR_sched_setscheduler, x0-1, x0, x0+1); FAIL;
-+
-+   // __NR_sched_getscheduler 157
-+   GO(__NR_sched_getscheduler, "1s 0m");
-+   SY(__NR_sched_getscheduler, x0-1); FAIL;
-+
-+   // __NR_sched_yield 158
-+   GO(__NR_sched_yield, "0s 0m");
-+   SY(__NR_sched_yield); SUCC;
-+
-+   // __NR_sched_get_priority_max 159
-+   GO(__NR_sched_get_priority_max, "1s 0m");
-+   SY(__NR_sched_get_priority_max, x0-1); FAIL;
-+
-+   // __NR_sched_get_priority_min 160
-+   GO(__NR_sched_get_priority_min, "1s 0m");
-+   SY(__NR_sched_get_priority_min, x0-1); FAIL;
-+
-+   // __NR_sched_rr_get_interval 161
-+   GO(__NR_sched_rr_get_interval, "n/a");
-+ //SY(__NR_sched_rr_get_interval); // (Not yet handled by Valgrind) FAIL;
-+
-+   // __NR_nanosleep 162
-+   GO(__NR_nanosleep, "2s 2m");
-+   SY(__NR_nanosleep, x0, x0+1); FAIL;
-+
-+   // __NR_mremap 163
-+   GO(__NR_mremap, "5s 0m");
-+   SY(__NR_mremap, x0+1, x0, x0, x0+MREMAP_FIXED, x0); FAILx(EINVAL);
-+
-+   // __NR_setresuid 164
-+   GO(__NR_setresuid, "3s 0m");
-+   SY(__NR_setresuid, x0, x0, x0); FAIL;
-+
-+   // __NR_getresuid 165
-+   GO(__NR_getresuid, "3s 3m");
-+   SY(__NR_getresuid, x0, x0, x0); FAIL;
-+
-+   // __NR_vm86 arm64 doesn't implement vm86
-+   //GO(__NR_vm86, "n/a");
-+   // (will probably never be handled by Valgrind)
-+
-+   // __NR_query_module arm64 doesn't implement query_module
-+   //GO(__NR_query_module, "ni");
-+   //SY(__NR_query_module); FAIL;
-+
-+   // __NR_poll arm64 only has ppoll
-+   //GO(__NR_poll, "3s 1m");
-+   //SY(__NR_poll, x0, x0+1, x0); FAIL;
-+
-+   // __NR_nfsservctl 169
-+   GO(__NR_nfsservctl, "n/a");
-+ //SY(__NR_nfsservctl); // (Not yet handled by Valgrind) FAIL;
-+
-+   // __NR_setresgid 170
-+   GO(__NR_setresgid, "3s 0m");
-+   SY(__NR_setresgid, x0, x0, x0); FAIL;
-+
-+   // __NR_getresgid 171
-+   GO(__NR_getresgid, "3s 3m");
-+   SY(__NR_getresgid, x0, x0, x0); FAIL;
-+
-+   // __NR_prctl 172
-+   GO(__NR_prctl, "5s 0m");
-+   SY(__NR_prctl, x0, x0, x0, x0, x0); FAIL;
-+
-+   // __NR_rt_sigreturn 173
-+   GO(__NR_rt_sigreturn, "n/a");
-+ //SY(__NR_rt_sigreturn); // (Not yet handled by Valgrind) FAIL;
-+
-+   // __NR_rt_sigaction 174
-+   GO(__NR_rt_sigaction, "4s 4m");
-+   SY(__NR_rt_sigaction, x0, x0+&px[2], x0+&px[2], x0); FAIL;
-+
-+   // __NR_rt_sigprocmask 175
-+   GO(__NR_rt_sigprocmask, "4s 2m");
-+   SY(__NR_rt_sigprocmask, x0, x0+1, x0+1, x0); FAIL;
-+
-+   // __NR_rt_sigpending 176
-+   GO(__NR_rt_sigpending, "2s 1m");
-+   SY(__NR_rt_sigpending, x0, x0+1); FAIL;
-+
-+   // __NR_rt_sigtimedwait 177
-+   GO(__NR_rt_sigtimedwait, "4s 3m");
-+   SY(__NR_rt_sigtimedwait, x0+1, x0+1, x0+1, x0); FAIL;
-+
-+   // __NR_rt_sigqueueinfo 178
-+   GO(__NR_rt_sigqueueinfo, "3s 1m");
-+   SY(__NR_rt_sigqueueinfo, x0, x0+1, x0); FAIL;
-+
-+   // __NR_rt_sigsuspend 179
-+   GO(__NR_rt_sigsuspend, "ignore");
-+   // (I don't know how to test this...)
-+
-+   // __NR_pread64 180
-+   GO(__NR_pread64, "5s 1m");
-+   SY(__NR_pread64, x0, x0, x0+1, x0, x0); FAIL;
-+
-+   // __NR_pwrite64 181
-+   GO(__NR_pwrite64, "5s 1m");
-+   SY(__NR_pwrite64, x0, x0, x0+1, x0, x0); FAIL;
-+
-+   // __NR_chown arm64 only has chownat
-+   //GO(__NR_chown, "3s 1m");
-+   //SY(__NR_chown, x0, x0, x0); FAIL;
-+
-+   // __NR_getcwd 183
-+   GO(__NR_getcwd, "2s 1m");
-+   SY(__NR_getcwd, x0, x0+1); FAIL;
-+
-+   // __NR_capget 184
-+   GO(__NR_capget, "2s 2m");
-+   SY(__NR_capget, x0, x0+1); FAIL;
-+
-+   // __NR_capset 185
-+   GO(__NR_capset, "2s 2m");
-+   SY(__NR_capset, x0, x0); FAIL;
-+
-+   // __NR_sigaltstack 186
-+   {
-+      struct our_sigaltstack {
-+              void *ss_sp;
-+              int ss_flags;
-+              size_t ss_size;
-+      } ss;
-+      ss.ss_sp     = NULL;
-+      ss.ss_flags  = 0;
-+      ss.ss_size   = 0;
-+      VALGRIND_MAKE_MEM_NOACCESS(& ss, sizeof(struct our_sigaltstack));
-+      GO(__NR_sigaltstack, "2s 2m");
-+      SY(__NR_sigaltstack, x0+&ss, x0+&ss); SUCC;
-+   }
-+
-+   // __NR_sendfile 187
-+   GO(__NR_sendfile, "4s 1m");
-+   SY(__NR_sendfile, x0, x0, x0+1, x0); FAIL;
-+
-+   // __NR_getpmsg arm64 doesn't implement getpmsg
-+   // Could do 5s 4m with more effort, but I can't be bothered for this
-+   // crappy non-standard syscall.
-+   //GO(__NR_getpmsg, "5s 0m");
-+   //SY(__NR_getpmsg, x0, x0, x0, x0); FAIL;
-+
-+   // __NR_putpmsg arm64 doesn't implement putpmsg
-+   // Could do 5s 2m with more effort, but I can't be bothered for this
-+   // crappy non-standard syscall.
-+   //GO(__NR_putpmsg, "5s 0m");
-+   //SY(__NR_putpmsg, x0, x0, x0, x0, x0); FAIL;
-+
-+   // __NR_vfork arm64 only has clone
-+   //GO(__NR_vfork, "other");
-+   // (sse scalar_vfork.c)
-+
-+   // __NR_ugetrlimit arm64 only has getrlimit and prlimit64
-+   //GO(__NR_ugetrlimit, "2s 1m");
-+   //SY(__NR_ugetrlimit, x0, x0); FAIL;
-+
-+   // __NR_mmap2 arm64 doesn't implement mmap2
-+   //GO(__NR_mmap2, "6s 0m");
-+   //SY(__NR_mmap2, x0, x0, x0, x0, x0-1, x0); FAIL;
-+
-+   // __NR_truncate64 arm64 just has truncate
-+   //GO(__NR_truncate64, "3s 1m");
-+   //SY(__NR_truncate64, x0, x0, x0); FAIL;
-+
-+   // __NR_ftruncate64 arm64 just has ftruncate
-+   //GO(__NR_ftruncate64, "3s 0m");
-+   //SY(__NR_ftruncate64, x0, x0, x0); FAIL;
-+
-+   // __NR_stat64 arm64 doesn't implement stat64
-+   //GO(__NR_stat64, "2s 2m");
-+   //SY(__NR_stat64, x0, x0); FAIL;
-+
-+   // __NR_lstat64 196
-+   //GO(__NR_lstat64, "2s 2m");
-+   //SY(__NR_lstat64, x0, x0); FAIL;
-+
-+   // __NR_fstat64 197
-+   //GO(__NR_fstat64, "2s 1m");
-+   //SY(__NR_fstat64, x0, x0); FAIL;
-+
-+   // __NR_lchown32 198
-+   //GO(__NR_lchown32, "3s 1m");
-+   //SY(__NR_lchown32, x0, x0, x0); FAIL;
-+
-+   // __NR_getuid32 199
-+   //GO(__NR_getuid32, "0s 0m");
-+   //SY(__NR_getuid32); SUCC;
-+
-+   // __NR_getgid32 200
-+   //GO(__NR_getgid32, "0s 0m");
-+   //SY(__NR_getgid32); SUCC;
-+
-+   // __NR_geteuid32 201
-+   //GO(__NR_geteuid32, "0s 0m");
-+   //SY(__NR_geteuid32); SUCC;
-+
-+   // __NR_getegid32 202
-+   //GO(__NR_getegid32, "0s 0m");
-+   //SY(__NR_getegid32); SUCC;
-+
-+   // __NR_setreuid32 203
-+   //GO(__NR_setreuid32, "2s 0m");
-+   //SY(__NR_setreuid32, x0, x0); FAIL;
-+
-+   // __NR_setregid32 204
-+   //GO(__NR_setregid32, "2s 0m");
-+   //SY(__NR_setregid32, x0, x0); FAIL;
-+
-+   // __NR_getgroups32 205
-+   //GO(__NR_getgroups32, "2s 1m");
-+   //SY(__NR_getgroups32, x0+1, x0+1); FAIL;
-+
-+   // __NR_setgroups32 206
-+   //GO(__NR_setgroups32, "2s 1m");
-+   //SY(__NR_setgroups32, x0+1, x0+1); FAIL;
-+
-+   // __NR_fchown32 207
-+   //GO(__NR_fchown32, "3s 0m");
-+   //SY(__NR_fchown32, x0, x0, x0); FAIL;
-+
-+   // __NR_setresuid32 208
-+   //GO(__NR_setresuid32, "3s 0m");
-+   //SY(__NR_setresuid32, x0, x0, x0); FAIL;
-+
-+   // __NR_getresuid32 209
-+   //GO(__NR_getresuid32, "3s 3m");
-+   //SY(__NR_getresuid32, x0, x0, x0); FAIL;
-+
-+   // __NR_setresgid32 210
-+   //GO(__NR_setresgid32, "3s 0m");
-+   //SY(__NR_setresgid32, x0, x0, x0); FAIL;
-+
-+   // __NR_getresgid32 211
-+   //GO(__NR_getresgid32, "3s 3m");
-+   //SY(__NR_getresgid32, x0, x0, x0); FAIL;
-+
-+   // __NR_chown32 212
-+   //GO(__NR_chown32, "3s 1m");
-+   //SY(__NR_chown32, x0, x0, x0); FAIL;
-+
-+   // __NR_setuid32 213
-+   //GO(__NR_setuid32, "1s 0m");
-+   //SY(__NR_setuid32, x0); FAIL;
-+
-+   // __NR_setgid32 214
-+   //GO(__NR_setgid32, "1s 0m");
-+   //SY(__NR_setgid32, x0); FAIL;
-+
-+   // __NR_setfsuid32 215
-+   //GO(__NR_setfsuid32, "1s 0m");
-+   //SY(__NR_setfsuid32, x0); SUCC;  // This syscall has a stupid return value
-+
-+   // __NR_setfsgid32 216
-+   //GO(__NR_setfsgid32, "1s 0m");
-+   //SY(__NR_setfsgid32, x0); SUCC;  // This syscall has a stupid return value
-+
-+   // __NR_pivot_root 217
-+   GO(__NR_pivot_root, "n/a");
-+ //SY(__NR_pivot_root); // (Not yet handled by Valgrind) FAIL;
-+
-+   // __NR_mincore 218
-+   GO(__NR_mincore, "3s 1m");
-+   SY(__NR_mincore, x0, x0+40960, x0); FAIL;
-+
-+   // __NR_madvise 219
-+   GO(__NR_madvise, "3s 0m");
-+   SY(__NR_madvise, x0, x0+1, x0); FAILx(ENOMEM);
-+
-+   // __NR_getdents64 220
-+   GO(__NR_getdents64, "3s 1m");
-+   SY(__NR_getdents64, x0, x0, x0+1); FAIL;
-+
-+   // __NR_fcntl64 221
-+   // As with sys_open(), we don't trigger errors for the 1st two args for
-+   // the later ones.
-+   // For F_GETFD the 3rd arg is ignored.
-+   //GO(__NR_fcntl64, "(GETFD) 2s 0m");
-+   //SY(__NR_fcntl64, x0-1, x0+F_GETFD, x0); FAILx(EBADF);
-+
-+   // For F_DUPFD the 3rd arg is 'arg'
-+   //GO(__NR_fcntl64, "(DUPFD) 1s 0m");
-+   //SY(__NR_fcntl64, -1, F_DUPFD, x0); FAILx(EBADF);
-+
-+   // For F_GETLK the 3rd arg is 'lock'.
-+   // On x86, this fails w/EBADF.  But on amd64 in 32-bit mode it fails
-+   // w/EFAULT.
-+   //GO(__NR_fcntl64, "(GETLK) 1s 0m"); 
-+   //SY(__NR_fcntl64, -1, +F_GETLK, x0); FAIL; //FAILx(EBADF);
-+
-+   // 222
-+   //GO(222, "ni");
-+   //SY(222); FAIL;
-+
-+   // 223
-+   //GO(223, "ni");
-+   //SY(223); FAIL;
-+
-+   // __NR_gettid 224
-+   GO(__NR_gettid, "n/a");
-+ //SY(__NR_gettid); // (Not yet handled by Valgrind) FAIL;
-+
-+   // __NR_readahead 225
-+   GO(__NR_readahead, "n/a");
-+ //SY(__NR_readahead); // (Not yet handled by Valgrind) FAIL;
-+
-+   // __NR_setxattr 226
-+   GO(__NR_setxattr, "5s 3m");
-+   SY(__NR_setxattr, x0, x0, x0, x0+1, x0); FAIL;
-+
-+   // __NR_lsetxattr 227
-+   GO(__NR_lsetxattr, "5s 3m");
-+   SY(__NR_lsetxattr, x0, x0, x0, x0+1, x0); FAIL;
-+
-+   // __NR_fsetxattr 228
-+   GO(__NR_fsetxattr, "5s 2m");
-+   SY(__NR_fsetxattr, x0, x0, x0, x0+1, x0); FAIL;
-+
-+   // __NR_getxattr 229
-+   GO(__NR_getxattr, "4s 3m");
-+   SY(__NR_getxattr, x0, x0, x0, x0+1); FAIL;
-+
-+   // __NR_lgetxattr 230
-+   GO(__NR_lgetxattr, "4s 3m");
-+   SY(__NR_lgetxattr, x0, x0, x0, x0+1); FAIL;
-+
-+   // __NR_fgetxattr 231
-+   GO(__NR_fgetxattr, "4s 2m");
-+   SY(__NR_fgetxattr, x0, x0, x0, x0+1); FAIL;
-+
-+   // __NR_listxattr 232
-+   GO(__NR_listxattr, "3s 2m");
-+   SY(__NR_listxattr, x0, x0, x0+1); FAIL;
-+
-+   // __NR_llistxattr 233
-+   GO(__NR_llistxattr, "3s 2m");
-+   SY(__NR_llistxattr, x0, x0, x0+1); FAIL;
-+
-+   // __NR_flistxattr 234
-+   GO(__NR_flistxattr, "3s 1m");
-+   SY(__NR_flistxattr, x0-1, x0, x0+1); FAIL; /* kernel returns EBADF, but both seem correct */
-+
-+   // __NR_removexattr 235
-+   GO(__NR_removexattr, "2s 2m");
-+   SY(__NR_removexattr, x0, x0); FAIL;
-+
-+   // __NR_lremovexattr 236
-+   GO(__NR_lremovexattr, "2s 2m");
-+   SY(__NR_lremovexattr, x0, x0); FAIL;
-+
-+   // __NR_fremovexattr 237
-+   GO(__NR_fremovexattr, "2s 1m");
-+   SY(__NR_fremovexattr, x0, x0); FAIL;
-+
-+   // __NR_tkill 238
-+   GO(__NR_tkill, "n/a");
-+ //SY(__NR_tkill); // (Not yet handled by Valgrind) FAIL;
-+
-+   // __NR_sendfile64 239
-+   //GO(__NR_sendfile64, "4s 1m");
-+   //SY(__NR_sendfile64, x0, x0, x0+1, x0); FAIL;
-+
-+   // __NR_futex 240
-+   #ifndef FUTEX_WAIT
-+   #define FUTEX_WAIT   0
-+   #endif
-+   // XXX: again, glibc not doing 6th arg means we have only 5s errors
-+   GO(__NR_futex, "5s 2m");
-+   SY(__NR_futex, x0+FUTEX_WAIT, x0, x0, x0+1, x0, x0); FAIL;
-+
-+   // __NR_sched_setaffinity 241
-+   GO(__NR_sched_setaffinity, "3s 1m");
-+   SY(__NR_sched_setaffinity, x0, x0+1, x0); FAIL;
-+
-+   // __NR_sched_getaffinity 242
-+   GO(__NR_sched_getaffinity, "3s 1m");
-+   SY(__NR_sched_getaffinity, x0, x0+1, x0); FAIL;
-+
-+   // __NR_set_thread_area 243
-+   //GO(__NR_set_thread_area, "1s 1m");
-+   //SY(__NR_set_thread_area, x0); FAILx(EFAULT);
-+
-+   // __NR_get_thread_area 244
-+   //GO(__NR_get_thread_area, "1s 1m");
-+   //SY(__NR_get_thread_area, x0); FAILx(EFAULT);
-+
-+   // __NR_io_setup 245
-+   GO(__NR_io_setup, "2s 1m");
-+   SY(__NR_io_setup, x0, x0); FAIL;
-+
-+   // __NR_io_destroy 246
-+   {
-+      // jump through hoops to prevent the PRE(io_destroy) wrapper crashing.
-+      struct fake_aio_ring {   
-+        unsigned        id;     /* kernel internal index number */
-+        unsigned        nr;     /* number of io_events */
-+        // There are more fields in the real aio_ring, but the 'nr' field is
-+        // the only one used by the PRE() wrapper.
-+      } ring = { 0, 0 };
-+      struct fake_aio_ring* ringptr = &ring;
-+      GO(__NR_io_destroy, "1s 0m");
-+      SY(__NR_io_destroy, x0+&ringptr); FAIL;
-+   }
-+
-+   // __NR_io_getevents 247
-+   GO(__NR_io_getevents, "5s 2m");
-+   SY(__NR_io_getevents, x0, x0, x0+1, x0, x0+1); FAIL;
-+
-+   // __NR_io_submit 248
-+   GO(__NR_io_submit, "3s 1m");
-+   SY(__NR_io_submit, x0, x0+1, x0); FAIL;
-+
-+   // __NR_io_cancel 249
-+   GO(__NR_io_cancel, "3s 2m");
-+   SY(__NR_io_cancel, x0, x0, x0); FAIL;
-+
-+   // __NR_fadvise64 250
-+   GO(__NR_fadvise64, "n/a");
-+ //SY(__NR_fadvise64); // (Not yet handled by Valgrind) FAIL;
-+
-+   // 251
-+   //GO(251, "ni");
-+   //SY(251); FAIL;
-+
-+   // __NR_exit_group 252
-+   GO(__NR_exit_group, "other");
-+   // (see scalar_exit_group.c)
-+
-+   // __NR_lookup_dcookie 253
-+   GO(__NR_lookup_dcookie, "4s 1m");
-+   SY(__NR_lookup_dcookie, x0, x0, x0, x0+1); FAIL;
-+
-+   // __NR_epoll_create arm64 only has epoll_create1
-+   //GO(__NR_epoll_create, "1s 0m");
-+   //SY(__NR_epoll_create, x0); SUCC_OR_FAIL;
-+
-+   // __NR_epoll_ctl 255
-+   GO(__NR_epoll_ctl, "4s 1m");
-+   SY(__NR_epoll_ctl, x0, x0, x0, x0); FAIL;
-+
-+   // __NR_epoll_wait arm64 only has epoll_pwait
-+   //GO(__NR_epoll_wait, "4s 1m");
-+   //SY(__NR_epoll_wait, x0, x0, x0+1, x0); FAIL;
-+
-+   // __NR_remap_file_pages 257
-+   GO(__NR_remap_file_pages, "n/a");
-+ //SY(__NR_remap_file_pages); // (Not yet handled by Valgrind) FAIL;
-+
-+   // __NR_set_tid_address 258
-+   GO(__NR_set_tid_address, "1s 0m");
-+   SY(__NR_set_tid_address, x0); SUCC_OR_FAILx(ENOSYS);
-+
-+   // __NR_timer_create 259
-+   GO(__NR_timer_create, "3s 2m");
-+   SY(__NR_timer_create, x0, x0+1, x0); FAIL;
-+
-+   // __NR_timer_settime (__NR_timer_create+1)
-+   GO(__NR_timer_settime, "4s 2m");
-+   SY(__NR_timer_settime, x0, x0, x0, x0+1); FAIL;
-+
-+   // __NR_timer_gettime (__NR_timer_create+2)
-+   GO(__NR_timer_gettime, "2s 1m");
-+   SY(__NR_timer_gettime, x0, x0); FAIL;
-+
-+   // __NR_timer_getoverrun (__NR_timer_create+3)
-+   GO(__NR_timer_getoverrun, "1s 0m");
-+   SY(__NR_timer_getoverrun, x0); FAIL;
-+
-+   // __NR_timer_delete (__NR_timer_create+4)
-+   GO(__NR_timer_delete, "1s 0m");
-+   SY(__NR_timer_delete, x0); FAIL;
-+
-+   // __NR_clock_settime (__NR_timer_create+5)
-+   GO(__NR_clock_settime, "2s 1m");
-+   SY(__NR_clock_settime, x0, x0);  FAIL; FAIL;
-+
-+   // __NR_clock_gettime (__NR_timer_create+6)
-+   GO(__NR_clock_gettime, "2s 1m");
-+   SY(__NR_clock_gettime, x0, x0); FAIL;
-+
-+   // __NR_clock_getres (__NR_timer_create+7)
-+   GO(__NR_clock_getres, "2s 1m");
-+   SY(__NR_clock_getres, x0+1, x0+1); FAIL; FAIL;
-+
-+   // __NR_clock_nanosleep (__NR_timer_create+8)
-+   GO(__NR_clock_nanosleep, "n/a");
-+ //SY(__NR_clock_nanosleep); // (Not yet handled by Valgrind) FAIL;
-+
-+   // __NR_statfs64 268
-+   //GO(__NR_statfs64, "3s 2m");
-+   //SY(__NR_statfs64, x0, x0+1, x0); FAIL;
-+
-+   // __NR_fstatfs64 269
-+   //GO(__NR_fstatfs64, "3s 1m");
-+   //SY(__NR_fstatfs64, x0, x0+1, x0); FAIL;
-+
-+   // __NR_tgkill 270
-+   GO(__NR_tgkill, "n/a");
-+ //SY(__NR_tgkill); // (Not yet handled by Valgrind) FAIL;
-+
-+   // __NR_utimes arm64 only has utimensat
-+   //GO(__NR_utimes, "2s 2m");
-+   //SY(__NR_utimes, x0, x0+1); FAIL;
-+
-+   // __NR_fadvise64_64 272
-+   //GO(__NR_fadvise64_64, "n/a");
-+ //SY(__NR_fadvise64_64); // (Not yet handled by Valgrind) FAIL;
-+
-+   // __NR_vserver 273
-+   //GO(__NR_vserver, "ni");
-+   //SY(__NR_vserver); FAIL;
-+
-+   // __NR_mbind 274
-+   GO(__NR_mbind, "n/a");
-+ //SY(__NR_mbind); // (Not yet handled by Valgrind) FAIL;
-+
-+   // __NR_get_mempolicy 275
-+   GO(__NR_get_mempolicy, "n/a");
-+ //SY(__NR_get_mempolicy); // (Not yet handled by Valgrind) FAIL;
-+
-+   // __NR_set_mempolicy 276
-+   GO(__NR_set_mempolicy, "n/a");
-+ //SY(__NR_set_mempolicy); // (Not yet handled by Valgrind) FAIL;
-+
-+   // __NR_mq_open 277
-+   GO(__NR_mq_open, "4s 3m");
-+   SY(__NR_mq_open, x0, x0+O_CREAT, x0, x0+1); FAIL;
-+
-+   // __NR_mq_unlink (__NR_mq_open+1)
-+   GO(__NR_mq_unlink, "1s 1m");
-+   SY(__NR_mq_unlink, x0); FAIL;
-+
-+   // __NR_mq_timedsend (__NR_mq_open+2)
-+   GO(__NR_mq_timedsend, "5s 2m");
-+   SY(__NR_mq_timedsend, x0, x0, x0+1, x0, x0+1); FAIL;
-+
-+   // __NR_mq_timedreceive (__NR_mq_open+3)
-+   GO(__NR_mq_timedreceive, "5s 3m");
-+   SY(__NR_mq_timedreceive, x0, x0, x0+1, x0+1, x0+1); FAIL;
-+  
-+   // __NR_mq_notify (__NR_mq_open+4)
-+   GO(__NR_mq_notify, "2s 1m");
-+   SY(__NR_mq_notify, x0, x0+1); FAIL;
-+
-+   // __NR_mq_getsetattr (__NR_mq_open+5)
-+   GO(__NR_mq_getsetattr, "3s 2m");
-+   SY(__NR_mq_getsetattr, x0, x0+1, x0+1); FAIL;
-+   
-+   // __NR_kexec_load 283
-+   GO(__NR_kexec_load, "ni");
-+   SY(__NR_kexec_load); FAIL;
-+
-+   // __NR_epoll_create1 329
-+   GO(__NR_epoll_create1, "1s 0m");
-+   SY(__NR_epoll_create1, x0); SUCC_OR_FAIL;
-+
-+   // __NR_process_vm_readv 347
-+   GO(__NR_process_vm_readv, "6s 2m");
-+   SY(__NR_process_vm_readv, x0, x0, x0+1, x0, x0+1, x0); FAIL;
-+
-+   // __NR_process_vm_writev 348
-+   GO(__NR_process_vm_writev, "6s 2m");
-+   SY(__NR_process_vm_writev, x0, x0, x0+1, x0, x0+1, x0); FAIL;
-+
-+   // no such syscall...
-+   GO(9999, "1e");
-+   SY(9999); FAIL;
-+
-+   // __NR_exit 1
-+   GO(__NR_exit, "1s 0m");
-+   SY(__NR_exit, x0); FAIL;
-+
-+   assert(0);
-+}
-+
-diff --git a/memcheck/tests/arm64-linux/scalar.h b/memcheck/tests/arm64-linux/scalar.h
-new file mode 100644
-index 0000000..9008816
---- /dev/null
-+++ b/memcheck/tests/arm64-linux/scalar.h
-@@ -0,0 +1,62 @@
-+/* This is the arm64 variant of memcheck/tests/x86-linux/scalar.h */
-+#include "../../../include/vki/vki-scnums-arm64-linux.h"
-+
-+#include <assert.h>
-+#include <errno.h>
-+#include <fcntl.h>
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <sys/syscall.h>
-+#include <sys/stat.h>
-+#include <sys/ptrace.h>
-+#include <sys/types.h>
-+#include <sys/mman.h>
-+
-+// Since we use vki_unistd.h, we can't include <unistd.h>.  So we have to
-+// declare this ourselves.
-+extern long int syscall (long int __sysno, ...) __THROW;
-+
-+// Thorough syscall scalar arg checking.  Also serves as thorough checking
-+// for (very) basic syscall use.  Generally not trying to do anything
-+// meaningful with the syscalls.
-+
-+#define GO(__NR_xxx, s) \
-+   fprintf(stderr, "-----------------------------------------------------\n"  \
-+                   "%3d:%20s %s\n"                                            \
-+                   "-----------------------------------------------------\n", \
-+                   __NR_xxx, #__NR_xxx, s);
-+
-+#define SY  res = syscall
-+
-+#define FAIL  assert(-1 == res);
-+#define SUCC  assert(-1 != res);
-+#define SUCC_OR_FAIL    /* no test */
-+
-+#define FAILx(E) \
-+   do { \
-+      int myerrno = errno; \
-+      if (-1 == res) { \
-+         if (E == myerrno) { \
-+            /* as expected */ \
-+         } else { \
-+         fprintf(stderr, "Expected error %s (%d), got %d\n", #E, E, myerrno); \
-+         exit(1); \
-+         } \
-+      } else { \
-+         fprintf(stderr, "Expected error %s (%d), got success\n", #E, E); \
-+         exit(1); \
-+      } \
-+   } while (0);
-+
-+#define SUCC_OR_FAILx(E) \
-+   do { \
-+      int myerrno = errno; \
-+      if (-1 == res) { \
-+         if (E == myerrno) { \
-+            /* as expected */ \
-+         } else { \
-+         fprintf(stderr, "Expected error %s (%d), got %d\n", #E, E, myerrno); \
-+         exit(1); \
-+         } \
-+      } \
-+   } while (0);
-diff --git a/memcheck/tests/arm64-linux/scalar.stderr.exp b/memcheck/tests/arm64-linux/scalar.stderr.exp
-new file mode 100644
-index 0000000..1dc2035
---- /dev/null
-+++ b/memcheck/tests/arm64-linux/scalar.stderr.exp
-@@ -0,0 +1,2598 @@
-+-----------------------------------------------------
-+128:__NR_restart_syscall n/a
-+-----------------------------------------------------
-+-----------------------------------------------------
-+ 93:           __NR_exit below
-+-----------------------------------------------------
-+-----------------------------------------------------
-+ 63:           __NR_read 1+3s 1m
-+-----------------------------------------------------
-+Syscall param (syscallno) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:51)
-+
-+Syscall param read(fd) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:51)
-+
-+Syscall param read(buf) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:51)
-+
-+Syscall param read(count) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:51)
-+
-+Syscall param read(buf) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:51)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+ 64:          __NR_write 3s 1m
-+-----------------------------------------------------
-+Syscall param write(fd) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:55)
-+
-+Syscall param write(buf) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:55)
-+
-+Syscall param write(count) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:55)
-+
-+Syscall param write(buf) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:55)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+ 57:          __NR_close 1s 0m
-+-----------------------------------------------------
-+Syscall param close(fd) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:69)
-+
-+-----------------------------------------------------
-+221:         __NR_execve 3s 1m
-+-----------------------------------------------------
-+Syscall param execve(filename) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:91)
-+
-+Syscall param execve(argv) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:91)
-+
-+Syscall param execve(envp) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:91)
-+
-+Syscall param execve(filename) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:91)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+ 49:          __NR_chdir 1s 1m
-+-----------------------------------------------------
-+Syscall param chdir(path) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:95)
-+
-+Syscall param chdir(path) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:95)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+ 62:          __NR_lseek 3s 0m
-+-----------------------------------------------------
-+Syscall param lseek(fd) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:123)
-+
-+Syscall param lseek(offset) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:123)
-+
-+Syscall param lseek(whence) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:123)
-+
-+-----------------------------------------------------
-+172:         __NR_getpid 0s 0m
-+-----------------------------------------------------
-+-----------------------------------------------------
-+ 40:          __NR_mount 5s 3m
-+-----------------------------------------------------
-+Syscall param mount(source) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:131)
-+
-+Syscall param mount(target) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:131)
-+
-+Syscall param mount(type) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:131)
-+
-+Syscall param mount(flags) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:131)
-+
-+Syscall param mount(data) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:131)
-+
-+Syscall param mount(target) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:131)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param mount(type) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:131)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+146:         __NR_setuid 1s 0m
-+-----------------------------------------------------
-+Syscall param setuid(uid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:139)
-+
-+-----------------------------------------------------
-+174:         __NR_getuid 0s 0m
-+-----------------------------------------------------
-+-----------------------------------------------------
-+ 81:           __NR_sync 0s 0m
-+-----------------------------------------------------
-+-----------------------------------------------------
-+129:           __NR_kill 2s 0m
-+-----------------------------------------------------
-+Syscall param kill(pid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:196)
-+
-+Syscall param kill(signal) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:196)
-+
-+-----------------------------------------------------
-+ 23:            __NR_dup 1s 0m
-+-----------------------------------------------------
-+Syscall param dup(oldfd) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:212)
-+
-+-----------------------------------------------------
-+153:          __NR_times 1s 1m
-+-----------------------------------------------------
-+Syscall param times(buf) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:220)
-+
-+Syscall param times(buf) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:220)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+214:            __NR_brk 1s 0m
-+-----------------------------------------------------
-+Syscall param brk(end_data_segment) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:228)
-+
-+-----------------------------------------------------
-+144:         __NR_setgid 1s 0m
-+-----------------------------------------------------
-+Syscall param setgid(gid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:232)
-+
-+-----------------------------------------------------
-+176:         __NR_getgid 0s 0m
-+-----------------------------------------------------
-+-----------------------------------------------------
-+175:        __NR_geteuid 0s 0m
-+-----------------------------------------------------
-+-----------------------------------------------------
-+177:        __NR_getegid 0s 0m
-+-----------------------------------------------------
-+-----------------------------------------------------
-+ 89:           __NR_acct 1s 1m
-+-----------------------------------------------------
-+Syscall param acct(filename) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:252)
-+
-+Syscall param acct(filename) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:252)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+ 39:        __NR_umount2 2s 1m
-+-----------------------------------------------------
-+Syscall param umount2(path) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:256)
-+
-+Syscall param umount2(flags) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:256)
-+
-+Syscall param umount2(path) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:256)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+ 29:          __NR_ioctl 3s 1m
-+-----------------------------------------------------
-+Syscall param ioctl(fd) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:265)
-+
-+Syscall param ioctl(request) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:265)
-+
-+Syscall param ioctl(arg) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:265)
-+
-+Syscall param ioctl(TCSET{S,SW,SF}) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:265)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+ 25:          __NR_fcntl (GETFD) 2s 0m
-+-----------------------------------------------------
-+Syscall param fcntl(fd) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:271)
-+
-+Syscall param fcntl(cmd) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:271)
-+
-+-----------------------------------------------------
-+ 25:          __NR_fcntl (DUPFD) 1s 0m
-+-----------------------------------------------------
-+Syscall param fcntl(arg) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:277)
-+
-+-----------------------------------------------------
-+ 25:          __NR_fcntl (GETLK) 1s 0m
-+-----------------------------------------------------
-+Syscall param fcntl(lock) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:283)
-+
-+-----------------------------------------------------
-+154:        __NR_setpgid 2s 0m
-+-----------------------------------------------------
-+Syscall param setpgid(pid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:291)
-+
-+Syscall param setpgid(pgid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:291)
-+
-+-----------------------------------------------------
-+166:          __NR_umask 1s 0m
-+-----------------------------------------------------
-+Syscall param umask(mask) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:303)
-+
-+-----------------------------------------------------
-+ 51:         __NR_chroot 1s 1m
-+-----------------------------------------------------
-+Syscall param chroot(path) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:307)
-+
-+Syscall param chroot(path) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:307)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+173:        __NR_getppid 0s 0m
-+-----------------------------------------------------
-+-----------------------------------------------------
-+157:         __NR_setsid 0s 0m
-+-----------------------------------------------------
-+-----------------------------------------------------
-+145:       __NR_setreuid 2s 0m
-+-----------------------------------------------------
-+Syscall param setreuid(ruid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:343)
-+
-+Syscall param setreuid(euid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:343)
-+
-+-----------------------------------------------------
-+143:       __NR_setregid 2s 0m
-+-----------------------------------------------------
-+Syscall param setregid(rgid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:347)
-+
-+Syscall param setregid(egid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:347)
-+
-+-----------------------------------------------------
-+161:    __NR_sethostname n/a
-+-----------------------------------------------------
-+-----------------------------------------------------
-+164:      __NR_setrlimit 2s 1m
-+-----------------------------------------------------
-+Syscall param setrlimit(resource) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:364)
-+
-+Syscall param setrlimit(rlim) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:364)
-+
-+Syscall param setrlimit(rlim) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:364)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+163:      __NR_getrlimit 2s 1m
-+-----------------------------------------------------
-+Syscall param old_getrlimit(resource) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:368)
-+
-+Syscall param old_getrlimit(rlim) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:368)
-+
-+Syscall param old_getrlimit(rlim) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:368)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+165:      __NR_getrusage 2s 1m
-+-----------------------------------------------------
-+Syscall param getrusage(who) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:372)
-+
-+Syscall param getrusage(usage) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:372)
-+
-+Syscall param getrusage(usage) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:372)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+169:   __NR_gettimeofday 2s 2m
-+-----------------------------------------------------
-+Syscall param gettimeofday(tv) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:376)
-+
-+Syscall param gettimeofday(tz) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:376)
-+
-+Syscall param gettimeofday(tv) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:376)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param gettimeofday(tz) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:376)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+170:   __NR_settimeofday 2s 2m
-+-----------------------------------------------------
-+Syscall param settimeofday(tv) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:380)
-+
-+Syscall param settimeofday(tz) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:380)
-+
-+Syscall param settimeofday(tv) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:380)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param settimeofday(tz) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:380)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+158:      __NR_getgroups 2s 1m
-+-----------------------------------------------------
-+Syscall param getgroups(size) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:384)
-+
-+Syscall param getgroups(list) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:384)
-+
-+Syscall param getgroups(list) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:384)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+159:      __NR_setgroups 2s 1m
-+-----------------------------------------------------
-+Syscall param setgroups(size) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:388)
-+
-+Syscall param setgroups(list) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:388)
-+
-+Syscall param setgroups(list) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:388)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+224:         __NR_swapon n/a
-+-----------------------------------------------------
-+-----------------------------------------------------
-+142:         __NR_reboot n/a
-+-----------------------------------------------------
-+-----------------------------------------------------
-+222:           __NR_mmap 1s 1m
-+-----------------------------------------------------
-+Syscall param mmap(start) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:429)
-+
-+-----------------------------------------------------
-+215:         __NR_munmap 2s 0m
-+-----------------------------------------------------
-+Syscall param munmap(start) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:434)
-+
-+Syscall param munmap(length) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:434)
-+
-+-----------------------------------------------------
-+ 45:       __NR_truncate 2s 1m
-+-----------------------------------------------------
-+Syscall param truncate(path) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:438)
-+
-+Syscall param truncate(length) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:438)
-+
-+Syscall param truncate(path) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:438)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+ 46:      __NR_ftruncate 2s 0m
-+-----------------------------------------------------
-+Syscall param ftruncate(fd) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:442)
-+
-+Syscall param ftruncate(length) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:442)
-+
-+-----------------------------------------------------
-+ 52:         __NR_fchmod 2s 0m
-+-----------------------------------------------------
-+Syscall param fchmod(fildes) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:446)
-+
-+Syscall param fchmod(mode) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:446)
-+
-+-----------------------------------------------------
-+ 55:         __NR_fchown 3s 0m
-+-----------------------------------------------------
-+Syscall param fchown(fd) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:450)
-+
-+Syscall param fchown(owner) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:450)
-+
-+Syscall param fchown(group) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:450)
-+
-+-----------------------------------------------------
-+141:    __NR_getpriority 2s 0m
-+-----------------------------------------------------
-+Syscall param getpriority(which) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:454)
-+
-+Syscall param getpriority(who) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:454)
-+
-+-----------------------------------------------------
-+140:    __NR_setpriority 3s 0m
-+-----------------------------------------------------
-+Syscall param setpriority(which) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:458)
-+
-+Syscall param setpriority(who) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:458)
-+
-+Syscall param setpriority(prio) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:458)
-+
-+-----------------------------------------------------
-+ 43:         __NR_statfs 2s 2m
-+-----------------------------------------------------
-+Syscall param statfs(path) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:466)
-+
-+Syscall param statfs(buf) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:466)
-+
-+Syscall param statfs(path) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:466)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+
-+More than 100 errors detected.  Subsequent errors
-+will still be recorded, but in less detail than before.
-+Syscall param statfs(buf) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:466)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+ 44:        __NR_fstatfs 2s 1m
-+-----------------------------------------------------
-+Syscall param fstatfs(fd) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:470)
-+
-+Syscall param fstatfs(buf) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:470)
-+
-+Syscall param fstatfs(buf) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:470)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+116:         __NR_syslog 3s 1m
-+-----------------------------------------------------
-+Syscall param syslog(type) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:482)
-+
-+Syscall param syslog(bufp) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:482)
-+
-+Syscall param syslog(len) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:482)
-+
-+Syscall param syslog(bufp) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:482)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+103:      __NR_setitimer 3s 2m
-+-----------------------------------------------------
-+Syscall param setitimer(which) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:486)
-+
-+Syscall param setitimer(value) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:486)
-+
-+Syscall param setitimer(ovalue) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:486)
-+
-+Syscall param setitimer(&value->it_interval) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:486)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param setitimer(&value->it_value) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:486)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param setitimer(&ovalue->it_interval) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:486)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param setitimer(&ovalue->it_value) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:486)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+102:      __NR_getitimer 2s 1m
-+-----------------------------------------------------
-+Syscall param getitimer(which) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:490)
-+
-+Syscall param getitimer(value) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:490)
-+
-+Syscall param getitimer(&value->it_interval) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:490)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param getitimer(&value->it_value) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:490)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+ 80:          __NR_fstat 2s 1m
-+-----------------------------------------------------
-+Syscall param fstat(fd) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:502)
-+
-+Syscall param fstat(buf) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:502)
-+
-+Syscall param fstat(buf) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:502)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+ 58:        __NR_vhangup 0s 0m
-+-----------------------------------------------------
-+-----------------------------------------------------
-+260:          __NR_wait4 4s 2m
-+-----------------------------------------------------
-+Syscall param wait4(pid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:526)
-+
-+Syscall param wait4(status) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:526)
-+
-+Syscall param wait4(options) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:526)
-+
-+Syscall param wait4(rusage) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:526)
-+
-+Syscall param wait4(status) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:526)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param wait4(rusage) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:526)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+225:        __NR_swapoff n/a
-+-----------------------------------------------------
-+-----------------------------------------------------
-+179:        __NR_sysinfo 1s 1m
-+-----------------------------------------------------
-+Syscall param sysinfo(info) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:534)
-+
-+Syscall param sysinfo(info) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:534)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+ 82:          __NR_fsync 1s 0m
-+-----------------------------------------------------
-+Syscall param fsync(fd) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:545)
-+
-+-----------------------------------------------------
-+220:          __NR_clone 5s 3m
-+-----------------------------------------------------
-+Syscall param clone(flags) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:556)
-+
-+Syscall param clone(child_stack) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:556)
-+
-+Syscall param clone(parent_tidptr) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:556)
-+
-+Syscall param clone(child_tls) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:556)
-+
-+Syscall param clone(child_tidptr) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:556)
-+
-+Syscall param clone(parent_tidptr) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:556)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+162:  __NR_setdomainname n/a
-+-----------------------------------------------------
-+-----------------------------------------------------
-+160:          __NR_uname 1s 1m
-+-----------------------------------------------------
-+Syscall param uname(buf) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:567)
-+
-+Syscall param uname(buf) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:567)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+171:       __NR_adjtimex XXX
-+-----------------------------------------------------
-+-----------------------------------------------------
-+226:       __NR_mprotect 3s 0m
-+-----------------------------------------------------
-+Syscall param mprotect(addr) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:580)
-+
-+Syscall param mprotect(len) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:580)
-+
-+Syscall param mprotect(prot) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:580)
-+
-+-----------------------------------------------------
-+105:    __NR_init_module 3s 2m
-+-----------------------------------------------------
-+Syscall param init_module(umod) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:592)
-+
-+Syscall param init_module(len) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:592)
-+
-+Syscall param init_module(uargs) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:592)
-+
-+Syscall param init_module(umod) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:592)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param init_module(uargs) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:592)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+106:  __NR_delete_module n/a
-+-----------------------------------------------------
-+-----------------------------------------------------
-+ 60:       __NR_quotactl 4s 1m
-+-----------------------------------------------------
-+Syscall param quotactl(cmd) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:604)
-+
-+Syscall param quotactl(special) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:604)
-+
-+Syscall param quotactl(id) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:604)
-+
-+Syscall param quotactl(addr) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:604)
-+
-+Syscall param quotactl(special) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:604)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+155:        __NR_getpgid 1s 0m
-+-----------------------------------------------------
-+Syscall param getpgid(pid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:608)
-+
-+-----------------------------------------------------
-+ 50:         __NR_fchdir 1s 0m
-+-----------------------------------------------------
-+Syscall param fchdir(fd) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:612)
-+
-+-----------------------------------------------------
-+ 92:    __NR_personality 1s 0m
-+-----------------------------------------------------
-+Syscall param personality(persona) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:624)
-+
-+-----------------------------------------------------
-+151:       __NR_setfsuid 1s 0m
-+-----------------------------------------------------
-+Syscall param setfsuid(uid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:632)
-+
-+-----------------------------------------------------
-+152:       __NR_setfsgid 1s 0m
-+-----------------------------------------------------
-+Syscall param setfsgid(gid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:636)
-+
-+-----------------------------------------------------
-+ 32:          __NR_flock 2s 0m
-+-----------------------------------------------------
-+Syscall param flock(fd) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:652)
-+
-+Syscall param flock(operation) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:652)
-+
-+-----------------------------------------------------
-+227:          __NR_msync 3s 1m
-+-----------------------------------------------------
-+Syscall param msync(start) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:656)
-+
-+Syscall param msync(length) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:656)
-+
-+Syscall param msync(flags) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:656)
-+
-+Syscall param msync(start) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:656)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+ 65:          __NR_readv 3s 1m
-+-----------------------------------------------------
-+Syscall param readv(fd) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:660)
-+
-+Syscall param readv(vector) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:660)
-+
-+Syscall param readv(count) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:660)
-+
-+Syscall param readv(vector) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:660)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+ 66:         __NR_writev 3s 1m
-+-----------------------------------------------------
-+Syscall param writev(fd) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:664)
-+
-+Syscall param writev(vector) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:664)
-+
-+Syscall param writev(count) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:664)
-+
-+Syscall param writev(vector) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:664)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+156:         __NR_getsid 1s 0m
-+-----------------------------------------------------
-+Syscall param getsid(pid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:668)
-+
-+-----------------------------------------------------
-+ 83:      __NR_fdatasync 1s 0m
-+-----------------------------------------------------
-+Syscall param fdatasync(fd) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:672)
-+
-+-----------------------------------------------------
-+228:          __NR_mlock 2s 0m
-+-----------------------------------------------------
-+Syscall param mlock(addr) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:680)
-+
-+Syscall param mlock(len) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:680)
-+
-+-----------------------------------------------------
-+229:        __NR_munlock 2s 0m
-+-----------------------------------------------------
-+Syscall param munlock(addr) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:684)
-+
-+Syscall param munlock(len) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:684)
-+
-+-----------------------------------------------------
-+230:       __NR_mlockall 1s 0m
-+-----------------------------------------------------
-+Syscall param mlockall(flags) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:688)
-+
-+-----------------------------------------------------
-+231:     __NR_munlockall 0s 0m
-+-----------------------------------------------------
-+-----------------------------------------------------
-+118: __NR_sched_setparam 2s 1m
-+-----------------------------------------------------
-+Syscall param sched_setparam(pid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:696)
-+
-+Syscall param sched_setparam(p) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:696)
-+
-+Syscall param sched_setparam(p) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:696)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+121: __NR_sched_getparam 2s 1m
-+-----------------------------------------------------
-+Syscall param sched_getparam(pid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:700)
-+
-+Syscall param sched_getparam(p) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:700)
-+
-+Syscall param sched_getparam(p) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:700)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+119:__NR_sched_setscheduler 3s 1m
-+-----------------------------------------------------
-+Syscall param sched_setscheduler(pid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:704)
-+
-+Syscall param sched_setscheduler(policy) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:704)
-+
-+Syscall param sched_setscheduler(p) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:704)
-+
-+Syscall param sched_setscheduler(p) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:704)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+120:__NR_sched_getscheduler 1s 0m
-+-----------------------------------------------------
-+Syscall param sched_getscheduler(pid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:708)
-+
-+-----------------------------------------------------
-+124:    __NR_sched_yield 0s 0m
-+-----------------------------------------------------
-+-----------------------------------------------------
-+125:__NR_sched_get_priority_max 1s 0m
-+-----------------------------------------------------
-+Syscall param sched_get_priority_max(policy) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:716)
-+
-+-----------------------------------------------------
-+126:__NR_sched_get_priority_min 1s 0m
-+-----------------------------------------------------
-+Syscall param sched_get_priority_min(policy) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:720)
-+
-+-----------------------------------------------------
-+127:__NR_sched_rr_get_interval n/a
-+-----------------------------------------------------
-+-----------------------------------------------------
-+101:      __NR_nanosleep 2s 2m
-+-----------------------------------------------------
-+Syscall param nanosleep(req) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:728)
-+
-+Syscall param nanosleep(rem) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:728)
-+
-+Syscall param nanosleep(req) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:728)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param nanosleep(rem) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:728)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+216:         __NR_mremap 5s 0m
-+-----------------------------------------------------
-+Syscall param mremap(old_addr) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:732)
-+
-+Syscall param mremap(old_size) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:732)
-+
-+Syscall param mremap(new_size) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:732)
-+
-+Syscall param mremap(flags) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:732)
-+
-+Syscall param mremap(new_addr) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:732)
-+
-+-----------------------------------------------------
-+147:      __NR_setresuid 3s 0m
-+-----------------------------------------------------
-+Syscall param setresuid(ruid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:736)
-+
-+Syscall param setresuid(euid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:736)
-+
-+Syscall param setresuid(suid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:736)
-+
-+-----------------------------------------------------
-+148:      __NR_getresuid 3s 3m
-+-----------------------------------------------------
-+Syscall param getresuid(ruid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:740)
-+
-+Syscall param getresuid(euid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:740)
-+
-+Syscall param getresuid(suid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:740)
-+
-+Syscall param getresuid(ruid) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:740)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param getresuid(euid) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:740)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param getresuid(suid) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:740)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+ 42:     __NR_nfsservctl n/a
-+-----------------------------------------------------
-+-----------------------------------------------------
-+149:      __NR_setresgid 3s 0m
-+-----------------------------------------------------
-+Syscall param setresgid(rgid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:760)
-+
-+Syscall param setresgid(egid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:760)
-+
-+Syscall param setresgid(sgid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:760)
-+
-+-----------------------------------------------------
-+150:      __NR_getresgid 3s 3m
-+-----------------------------------------------------
-+Syscall param getresgid(rgid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:764)
-+
-+Syscall param getresgid(egid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:764)
-+
-+Syscall param getresgid(sgid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:764)
-+
-+Syscall param getresgid(rgid) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:764)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param getresgid(egid) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:764)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param getresgid(sgid) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:764)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+167:          __NR_prctl 5s 0m
-+-----------------------------------------------------
-+Syscall param prctl(option) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:768)
-+
-+Syscall param prctl(arg2) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:768)
-+
-+Syscall param prctl(arg3) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:768)
-+
-+Syscall param prctl(arg4) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:768)
-+
-+Syscall param prctl(arg5) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:768)
-+
-+-----------------------------------------------------
-+139:   __NR_rt_sigreturn n/a
-+-----------------------------------------------------
-+-----------------------------------------------------
-+134:   __NR_rt_sigaction 4s 4m
-+-----------------------------------------------------
-+Syscall param rt_sigaction(signum) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:776)
-+
-+Syscall param rt_sigaction(act) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:776)
-+
-+Syscall param rt_sigaction(oldact) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:776)
-+
-+Syscall param rt_sigaction(sigsetsize) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:776)
-+
-+Syscall param rt_sigaction(act->sa_handler) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:776)
-+ Address 0x........ is 8 bytes after a block of size 8 alloc'd
-+   at 0x........: malloc (vg_replace_malloc.c:...)
-+   by 0x........: main (scalar.c:30)
-+
-+Syscall param rt_sigaction(act->sa_mask) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:776)
-+ Address 0x........ is 24 bytes after a block of size 16 in arena "client"
-+
-+Syscall param rt_sigaction(act->sa_flags) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:776)
-+ Address 0x........ is 16 bytes after a block of size 8 alloc'd
-+   at 0x........: malloc (vg_replace_malloc.c:...)
-+   by 0x........: main (scalar.c:30)
-+
-+Syscall param rt_sigaction(oldact) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:776)
-+ Address 0x........ is 8 bytes after a block of size 8 alloc'd
-+   at 0x........: malloc (vg_replace_malloc.c:...)
-+   by 0x........: main (scalar.c:30)
-+
-+-----------------------------------------------------
-+135: __NR_rt_sigprocmask 4s 2m
-+-----------------------------------------------------
-+Syscall param rt_sigprocmask(how) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:780)
-+
-+Syscall param rt_sigprocmask(set) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:780)
-+
-+Syscall param rt_sigprocmask(oldset) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:780)
-+
-+Syscall param rt_sigprocmask(sigsetsize) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:780)
-+
-+Syscall param rt_sigprocmask(set) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:780)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param rt_sigprocmask(oldset) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:780)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+136:  __NR_rt_sigpending 2s 1m
-+-----------------------------------------------------
-+Syscall param rt_sigpending(set) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:784)
-+
-+Syscall param rt_sigpending(sigsetsize) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:784)
-+
-+Syscall param rt_sigpending(set) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:784)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+137:__NR_rt_sigtimedwait 4s 3m
-+-----------------------------------------------------
-+Syscall param rt_sigtimedwait(set) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:788)
-+
-+Syscall param rt_sigtimedwait(info) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:788)
-+
-+Syscall param rt_sigtimedwait(timeout) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:788)
-+
-+Syscall param rt_sigtimedwait(sigsetsize) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:788)
-+
-+Syscall param rt_sigtimedwait(set) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:788)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param rt_sigtimedwait(info) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:788)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param rt_sigtimedwait(timeout) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:788)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+138:__NR_rt_sigqueueinfo 3s 1m
-+-----------------------------------------------------
-+Syscall param rt_sigqueueinfo(pid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:792)
-+
-+Syscall param rt_sigqueueinfo(sig) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:792)
-+
-+Syscall param rt_sigqueueinfo(uinfo) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:792)
-+
-+Syscall param rt_sigqueueinfo(uinfo) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:792)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+133:  __NR_rt_sigsuspend ignore
-+-----------------------------------------------------
-+-----------------------------------------------------
-+ 67:        __NR_pread64 5s 1m
-+-----------------------------------------------------
-+Syscall param pread64(fd) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:800)
-+
-+Syscall param pread64(buf) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:800)
-+
-+Syscall param pread64(count) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:800)
-+
-+Syscall param pread64(offset) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:800)
-+
-+Syscall param pread64(buf) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:800)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+ 68:       __NR_pwrite64 5s 1m
-+-----------------------------------------------------
-+Syscall param pwrite64(fd) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:804)
-+
-+Syscall param pwrite64(buf) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:804)
-+
-+Syscall param pwrite64(count) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:804)
-+
-+Syscall param pwrite64(offset) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:804)
-+
-+Syscall param pwrite64(buf) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:804)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+ 17:         __NR_getcwd 2s 1m
-+-----------------------------------------------------
-+Syscall param getcwd(buf) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:812)
-+
-+Syscall param getcwd(size) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:812)
-+
-+Syscall param getcwd(buf) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:812)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+ 90:         __NR_capget 2s 2m
-+-----------------------------------------------------
-+Syscall param capget(header) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:816)
-+
-+Syscall param capget(data) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:816)
-+
-+Syscall param capget(header) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:816)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param capget(data) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:816)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+ 91:         __NR_capset 2s 2m
-+-----------------------------------------------------
-+Syscall param capset(header) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:820)
-+
-+Syscall param capset(data) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:820)
-+
-+Syscall param capset(header) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:820)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param capset(data) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:820)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+132:    __NR_sigaltstack 2s 2m
-+-----------------------------------------------------
-+Syscall param sigaltstack(ss) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:834)
-+
-+Syscall param sigaltstack(oss) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:834)
-+
-+Syscall param sigaltstack(ss) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:834)
-+ Address 0x........ is on thread 1's stack
-+ in frame #1, created by main (scalar.c:28)
-+
-+Syscall param sigaltstack(oss) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:834)
-+ Address 0x........ is on thread 1's stack
-+ in frame #1, created by main (scalar.c:28)
-+
-+-----------------------------------------------------
-+ 71:       __NR_sendfile 4s 1m
-+-----------------------------------------------------
-+Syscall param sendfile(out_fd) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:839)
-+
-+Syscall param sendfile(in_fd) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:839)
-+
-+Syscall param sendfile(offset) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:839)
-+
-+Syscall param sendfile(count) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:839)
-+
-+Syscall param sendfile(offset) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:839)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+ 41:     __NR_pivot_root n/a
-+-----------------------------------------------------
-+-----------------------------------------------------
-+232:        __NR_mincore 3s 1m
-+-----------------------------------------------------
-+Syscall param mincore(start) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:967)
-+
-+Syscall param mincore(length) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:967)
-+
-+Syscall param mincore(vec) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:967)
-+
-+Syscall param mincore(vec) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:967)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+233:        __NR_madvise 3s 0m
-+-----------------------------------------------------
-+Syscall param madvise(start) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:971)
-+
-+Syscall param madvise(length) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:971)
-+
-+Syscall param madvise(advice) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:971)
-+
-+-----------------------------------------------------
-+ 61:     __NR_getdents64 3s 1m
-+-----------------------------------------------------
-+Syscall param getdents64(fd) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:975)
-+
-+Syscall param getdents64(dirp) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:975)
-+
-+Syscall param getdents64(count) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:975)
-+
-+Syscall param getdents64(dirp) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:975)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+178:         __NR_gettid n/a
-+-----------------------------------------------------
-+-----------------------------------------------------
-+213:      __NR_readahead n/a
-+-----------------------------------------------------
-+-----------------------------------------------------
-+  5:       __NR_setxattr 5s 3m
-+-----------------------------------------------------
-+Syscall param setxattr(path) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1012)
-+
-+Syscall param setxattr(name) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1012)
-+
-+Syscall param setxattr(value) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1012)
-+
-+Syscall param setxattr(size) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1012)
-+
-+Syscall param setxattr(flags) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1012)
-+
-+Syscall param setxattr(path) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1012)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param setxattr(name) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1012)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param setxattr(value) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1012)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+  6:      __NR_lsetxattr 5s 3m
-+-----------------------------------------------------
-+Syscall param lsetxattr(path) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1016)
-+
-+Syscall param lsetxattr(name) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1016)
-+
-+Syscall param lsetxattr(value) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1016)
-+
-+Syscall param lsetxattr(size) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1016)
-+
-+Syscall param lsetxattr(flags) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1016)
-+
-+Syscall param lsetxattr(path) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1016)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param lsetxattr(name) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1016)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param lsetxattr(value) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1016)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+  7:      __NR_fsetxattr 5s 2m
-+-----------------------------------------------------
-+Syscall param fsetxattr(fd) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1020)
-+
-+Syscall param fsetxattr(name) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1020)
-+
-+Syscall param fsetxattr(value) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1020)
-+
-+Syscall param fsetxattr(size) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1020)
-+
-+Syscall param fsetxattr(flags) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1020)
-+
-+Syscall param fsetxattr(name) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1020)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param fsetxattr(value) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1020)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+  8:       __NR_getxattr 4s 3m
-+-----------------------------------------------------
-+Syscall param getxattr(path) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1024)
-+
-+Syscall param getxattr(name) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1024)
-+
-+Syscall param getxattr(value) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1024)
-+
-+Syscall param getxattr(size) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1024)
-+
-+Syscall param getxattr(path) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1024)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param getxattr(name) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1024)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param getxattr(value) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1024)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+  9:      __NR_lgetxattr 4s 3m
-+-----------------------------------------------------
-+Syscall param lgetxattr(path) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1028)
-+
-+Syscall param lgetxattr(name) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1028)
-+
-+Syscall param lgetxattr(value) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1028)
-+
-+Syscall param lgetxattr(size) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1028)
-+
-+Syscall param lgetxattr(path) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1028)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param lgetxattr(name) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1028)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param lgetxattr(value) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1028)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+ 10:      __NR_fgetxattr 4s 2m
-+-----------------------------------------------------
-+Syscall param fgetxattr(fd) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1032)
-+
-+Syscall param fgetxattr(name) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1032)
-+
-+Syscall param fgetxattr(value) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1032)
-+
-+Syscall param fgetxattr(size) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1032)
-+
-+Syscall param fgetxattr(name) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1032)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param fgetxattr(value) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1032)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+ 11:      __NR_listxattr 3s 2m
-+-----------------------------------------------------
-+Syscall param listxattr(path) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1036)
-+
-+Syscall param listxattr(list) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1036)
-+
-+Syscall param listxattr(size) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1036)
-+
-+Syscall param listxattr(path) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1036)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param listxattr(list) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1036)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+ 12:     __NR_llistxattr 3s 2m
-+-----------------------------------------------------
-+Syscall param llistxattr(path) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1040)
-+
-+Syscall param llistxattr(list) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1040)
-+
-+Syscall param llistxattr(size) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1040)
-+
-+Syscall param llistxattr(path) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1040)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param llistxattr(list) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1040)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+ 13:     __NR_flistxattr 3s 1m
-+-----------------------------------------------------
-+Syscall param flistxattr(fd) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1044)
-+
-+Syscall param flistxattr(list) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1044)
-+
-+Syscall param flistxattr(size) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1044)
-+
-+Syscall param flistxattr(list) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1044)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+ 14:    __NR_removexattr 2s 2m
-+-----------------------------------------------------
-+Syscall param removexattr(path) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1048)
-+
-+Syscall param removexattr(name) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1048)
-+
-+Syscall param removexattr(path) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1048)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param removexattr(name) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1048)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+ 15:   __NR_lremovexattr 2s 2m
-+-----------------------------------------------------
-+Syscall param lremovexattr(path) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1052)
-+
-+Syscall param lremovexattr(name) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1052)
-+
-+Syscall param lremovexattr(path) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1052)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param lremovexattr(name) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1052)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+ 16:   __NR_fremovexattr 2s 1m
-+-----------------------------------------------------
-+Syscall param fremovexattr(fd) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1056)
-+
-+Syscall param fremovexattr(name) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1056)
-+
-+Syscall param fremovexattr(name) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1056)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+130:          __NR_tkill n/a
-+-----------------------------------------------------
-+-----------------------------------------------------
-+ 98:          __NR_futex 5s 2m
-+-----------------------------------------------------
-+Syscall param futex(futex) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1072)
-+
-+Syscall param futex(op) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1072)
-+
-+Syscall param futex(val) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1072)
-+
-+Syscall param futex(utime) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1072)
-+
-+Syscall param futex(futex) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1072)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param futex(timeout) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1072)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+122:__NR_sched_setaffinity 3s 1m
-+-----------------------------------------------------
-+Syscall param sched_setaffinity(pid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1076)
-+
-+Syscall param sched_setaffinity(len) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1076)
-+
-+Syscall param sched_setaffinity(mask) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1076)
-+
-+Syscall param sched_setaffinity(mask) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1076)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+123:__NR_sched_getaffinity 3s 1m
-+-----------------------------------------------------
-+Syscall param sched_getaffinity(pid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1080)
-+
-+Syscall param sched_getaffinity(len) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1080)
-+
-+Syscall param sched_getaffinity(mask) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1080)
-+
-+Syscall param sched_getaffinity(mask) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1080)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+  0:       __NR_io_setup 2s 1m
-+-----------------------------------------------------
-+Syscall param io_setup(nr_events) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1092)
-+
-+Syscall param io_setup(ctxp) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1092)
-+
-+Syscall param io_setup(ctxp) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1092)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+  1:     __NR_io_destroy 1s 0m
-+-----------------------------------------------------
-+Syscall param io_destroy(ctx) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1105)
-+
-+-----------------------------------------------------
-+  4:   __NR_io_getevents 5s 2m
-+-----------------------------------------------------
-+Syscall param io_getevents(ctx_id) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1110)
-+
-+Syscall param io_getevents(min_nr) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1110)
-+
-+Syscall param io_getevents(nr) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1110)
-+
-+Syscall param io_getevents(events) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1110)
-+
-+Syscall param io_getevents(timeout) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1110)
-+
-+Syscall param io_getevents(events) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1110)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param io_getevents(timeout) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1110)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+  2:      __NR_io_submit 3s 1m
-+-----------------------------------------------------
-+Syscall param io_submit(ctx_id) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1114)
-+
-+Syscall param io_submit(nr) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1114)
-+
-+Syscall param io_submit(iocbpp) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1114)
-+
-+Syscall param io_submit(iocbpp) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1114)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+  3:      __NR_io_cancel 3s 2m
-+-----------------------------------------------------
-+Syscall param io_cancel(ctx_id) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1118)
-+
-+Syscall param io_cancel(iocb) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1118)
-+
-+Syscall param io_cancel(result) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1118)
-+
-+Syscall param io_cancel(iocb) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1118)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param io_cancel(result) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1118)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+223:      __NR_fadvise64 n/a
-+-----------------------------------------------------
-+-----------------------------------------------------
-+ 94:     __NR_exit_group other
-+-----------------------------------------------------
-+-----------------------------------------------------
-+ 18: __NR_lookup_dcookie 4s 1m
-+-----------------------------------------------------
-+Syscall param lookup_dcookie(cookie) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1134)
-+
-+Syscall param lookup_dcookie(buf) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1134)
-+
-+Syscall param lookup_dcookie(len) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1134)
-+
-+-----------------------------------------------------
-+ 21:      __NR_epoll_ctl 4s 1m
-+-----------------------------------------------------
-+Syscall param epoll_ctl(epfd) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1142)
-+
-+Syscall param epoll_ctl(op) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1142)
-+
-+Syscall param epoll_ctl(fd) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1142)
-+
-+Syscall param epoll_ctl(event) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1142)
-+
-+Syscall param epoll_ctl(event) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1142)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+234:__NR_remap_file_pages n/a
-+-----------------------------------------------------
-+-----------------------------------------------------
-+ 96:__NR_set_tid_address 1s 0m
-+-----------------------------------------------------
-+Syscall param set_tid_address(tidptr) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1154)
-+
-+-----------------------------------------------------
-+107:   __NR_timer_create 3s 2m
-+-----------------------------------------------------
-+Syscall param timer_create(clockid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1158)
-+
-+Syscall param timer_create(evp) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1158)
-+
-+Syscall param timer_create(timerid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1158)
-+
-+Syscall param timer_create(evp.sigev_value) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1158)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param timer_create(evp.sigev_signo) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1158)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param timer_create(evp.sigev_notify) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1158)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param timer_create(timerid) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1158)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+110:  __NR_timer_settime 4s 2m
-+-----------------------------------------------------
-+Syscall param timer_settime(timerid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1162)
-+
-+Syscall param timer_settime(flags) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1162)
-+
-+Syscall param timer_settime(value) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1162)
-+
-+Syscall param timer_settime(ovalue) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1162)
-+
-+Syscall param timer_settime(value) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1162)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param timer_settime(ovalue) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1162)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+108:  __NR_timer_gettime 2s 1m
-+-----------------------------------------------------
-+Syscall param timer_gettime(timerid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1166)
-+
-+Syscall param timer_gettime(value) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1166)
-+
-+Syscall param timer_gettime(value) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1166)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+109:__NR_timer_getoverrun 1s 0m
-+-----------------------------------------------------
-+Syscall param timer_getoverrun(timerid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1170)
-+
-+-----------------------------------------------------
-+111:   __NR_timer_delete 1s 0m
-+-----------------------------------------------------
-+Syscall param timer_delete(timerid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1174)
-+
-+-----------------------------------------------------
-+112:  __NR_clock_settime 2s 1m
-+-----------------------------------------------------
-+Syscall param clock_settime(clk_id) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1178)
-+
-+Syscall param clock_settime(tp) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1178)
-+
-+Syscall param clock_settime(tp) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1178)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+113:  __NR_clock_gettime 2s 1m
-+-----------------------------------------------------
-+Syscall param clock_gettime(clk_id) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1182)
-+
-+Syscall param clock_gettime(tp) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1182)
-+
-+Syscall param clock_gettime(tp) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1182)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+114:   __NR_clock_getres 2s 1m
-+-----------------------------------------------------
-+Syscall param clock_getres(clk_id) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1186)
-+
-+Syscall param clock_getres(res) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1186)
-+
-+Syscall param clock_getres(res) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1186)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+115:__NR_clock_nanosleep n/a
-+-----------------------------------------------------
-+-----------------------------------------------------
-+131:         __NR_tgkill n/a
-+-----------------------------------------------------
-+-----------------------------------------------------
-+235:          __NR_mbind n/a
-+-----------------------------------------------------
-+-----------------------------------------------------
-+236:  __NR_get_mempolicy n/a
-+-----------------------------------------------------
-+-----------------------------------------------------
-+237:  __NR_set_mempolicy n/a
-+-----------------------------------------------------
-+-----------------------------------------------------
-+180:        __NR_mq_open 4s 3m
-+-----------------------------------------------------
-+Syscall param mq_open(name) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1230)
-+
-+Syscall param mq_open(oflag) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1230)
-+
-+Syscall param mq_open(mode) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1230)
-+
-+Syscall param mq_open(attr) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1230)
-+
-+Syscall param mq_open(name) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1230)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param mq_open(attr->mq_maxmsg) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1230)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param mq_open(attr->mq_msgsize) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1230)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+181:      __NR_mq_unlink 1s 1m
-+-----------------------------------------------------
-+Syscall param mq_unlink(name) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1234)
-+
-+Syscall param mq_unlink(name) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1234)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+182:   __NR_mq_timedsend 5s 2m
-+-----------------------------------------------------
-+Syscall param mq_timedsend(mqdes) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1238)
-+
-+Syscall param mq_timedsend(msg_ptr) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1238)
-+
-+Syscall param mq_timedsend(msg_len) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1238)
-+
-+Syscall param mq_timedsend(msg_prio) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1238)
-+
-+Syscall param mq_timedsend(abs_timeout) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1238)
-+
-+Syscall param mq_timedsend(msg_ptr) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1238)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param mq_timedsend(abs_timeout) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1238)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+183:__NR_mq_timedreceive 5s 3m
-+-----------------------------------------------------
-+Syscall param mq_timedreceive(mqdes) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1242)
-+
-+Syscall param mq_timedreceive(msg_ptr) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1242)
-+
-+Syscall param mq_timedreceive(msg_len) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1242)
-+
-+Syscall param mq_timedreceive(msg_prio) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1242)
-+
-+Syscall param mq_timedreceive(abs_timeout) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1242)
-+
-+Syscall param mq_timedreceive(msg_ptr) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1242)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param mq_timedreceive(msg_prio) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1242)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param mq_timedreceive(abs_timeout) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1242)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+184:      __NR_mq_notify 2s 1m
-+-----------------------------------------------------
-+Syscall param mq_notify(mqdes) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1246)
-+
-+Syscall param mq_notify(notification) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1246)
-+
-+Syscall param mq_notify(notification) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1246)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+185:  __NR_mq_getsetattr 3s 2m
-+-----------------------------------------------------
-+Syscall param mq_getsetattr(mqdes) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1250)
-+
-+Syscall param mq_getsetattr(mqstat) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1250)
-+
-+Syscall param mq_getsetattr(omqstat) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1250)
-+
-+Syscall param mq_getsetattr(mqstat->mq_flags) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1250)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param mq_getsetattr(omqstat) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1250)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+104:     __NR_kexec_load ni
-+-----------------------------------------------------
-+-----------------------------------------------------
-+ 20:  __NR_epoll_create1 1s 0m
-+-----------------------------------------------------
-+Syscall param epoll_create1(flags) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1258)
-+
-+-----------------------------------------------------
-+270:__NR_process_vm_readv 6s 2m
-+-----------------------------------------------------
-+Syscall param process_vm_readv(pid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1262)
-+
-+Syscall param process_vm_readv(lvec) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1262)
-+
-+Syscall param process_vm_readv(liovcnt) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1262)
-+
-+Syscall param process_vm_readv(rvec) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1262)
-+
-+Syscall param process_vm_readv(riovcnt) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1262)
-+
-+Syscall param process_vm_readv(flags) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1262)
-+
-+Syscall param process_vm_readv(lvec) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1262)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param process_vm_readv(rvec) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1262)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+271:__NR_process_vm_writev 6s 2m
-+-----------------------------------------------------
-+Syscall param process_vm_writev(pid) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1266)
-+
-+Syscall param process_vm_writev(lvec) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1266)
-+
-+Syscall param process_vm_writev(liovcnt) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1266)
-+
-+Syscall param process_vm_writev(rvec) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1266)
-+
-+Syscall param process_vm_writev(riovcnt) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1266)
-+
-+Syscall param process_vm_writev(flags) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1266)
-+
-+Syscall param process_vm_writev(lvec) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1266)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+Syscall param process_vm_writev(rvec) points to unaddressable byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1266)
-+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-+
-+-----------------------------------------------------
-+9999:                9999 1e
-+-----------------------------------------------------
-+WARNING: unhandled arm64-linux syscall: 9999
-+You may be able to write your own handler.
-+Read the file README_MISSING_SYSCALL_OR_IOCTL.
-+Nevertheless we consider this a bug.  Please report
-+it at http://valgrind.org/support/bug_reports.html.
-+-----------------------------------------------------
-+ 93:           __NR_exit 1s 0m
-+-----------------------------------------------------
-+Syscall param exit(status) contains uninitialised byte(s)
-+   ...
-+   by 0x........: main (scalar.c:1274)
-+
-diff --git a/memcheck/tests/arm64-linux/scalar.vgtest b/memcheck/tests/arm64-linux/scalar.vgtest
-new file mode 100644
-index 0000000..897d9e7
---- /dev/null
-+++ b/memcheck/tests/arm64-linux/scalar.vgtest
-@@ -0,0 +1,3 @@
-+prog: scalar
-+vgopts: -q --error-limit=no
-+args: < scalar.c
--- 
-2.5.0
-
-From 4d8495affad088be6e8af0a5aa9c55ca7dfe3579 Mon Sep 17 00:00:00 2001
-From: mjw <mjw@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date: Wed, 9 Mar 2016 16:18:37 +0000
-Subject: [PATCH 3/3] Bug 359503 - Add missing syscalls for aarch64 (arm64)
-
-Enable more arm64 syscalls. ioprio_set, ioprio_get, preadv, pwritev,
-vmsplice, splice, tee, waitid, clock_nanosleep and perf_event_open.
-Reported and patch (mostly) by Marcin Juszkiewicz.
-
-git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15826 a5019735-40e9-0310-863c-91ae7b9d1cf9
----
- NEWS                                      |  1 +
- coregrind/m_syswrap/syswrap-arm64-linux.c | 31 +++++++++++++------------------
- 2 files changed, 14 insertions(+), 18 deletions(-)
-
-diff --git a/coregrind/m_syswrap/syswrap-arm64-linux.c b/coregrind/m_syswrap/syswrap-arm64-linux.c
-index 8f4efa6..0b78f20 100644
---- a/coregrind/m_syswrap/syswrap-arm64-linux.c
-+++ b/coregrind/m_syswrap/syswrap-arm64-linux.c
-@@ -885,7 +885,8 @@ static SyscallTableEntry syscall_main_table[] = {
-    LINX_(__NR_inotify_add_watch, sys_inotify_add_watch), // 27
-    LINX_(__NR_inotify_rm_watch,  sys_inotify_rm_watch),  // 28
-    LINXY(__NR_ioctl,             sys_ioctl),             // 29
--
-+   LINX_(__NR_ioprio_set,        sys_ioprio_set),        // 30
-+   LINX_(__NR_ioprio_get,        sys_ioprio_get),        // 31
-    GENX_(__NR_flock,             sys_flock),             // 32
-    LINX_(__NR_mknodat,           sys_mknodat),           // 33
-    LINX_(__NR_mkdirat,           sys_mkdirat),           // 34
-@@ -922,12 +923,15 @@ static SyscallTableEntry syscall_main_table[] = {
-    GENX_(__NR_writev,            sys_writev),            // 66
-    GENXY(__NR_pread64,           sys_pread64),           // 67
-    GENX_(__NR_pwrite64,          sys_pwrite64),          // 68
--
-+   LINXY(__NR_preadv,            sys_preadv),            // 69
-+   LINX_(__NR_pwritev,           sys_pwritev),           // 70
-    LINXY(__NR_sendfile,          sys_sendfile),          // 71
-    LINXY(__NR_pselect6,          sys_pselect6),          // 72
-    LINXY(__NR_ppoll,             sys_ppoll),             // 73
-    LINXY(__NR_signalfd4,         sys_signalfd4),         // 74
--
-+   LINX_(__NR_vmsplice,          sys_vmsplice),          // 75
-+   LINX_(__NR_splice,            sys_splice),            // 76
-+   LINX_(__NR_tee,               sys_tee),               // 77
-    LINX_(__NR_readlinkat,        sys_readlinkat),        // 78
-    LINXY(__NR_newfstatat,        sys_newfstatat),        // 79
-    GENXY(__NR_fstat,             sys_newfstat),          // 80
-@@ -945,7 +949,7 @@ static SyscallTableEntry syscall_main_table[] = {
-    LINX_(__NR_personality,       sys_personality),       // 92
-    GENX_(__NR_exit,              sys_exit),              // 93
-    LINX_(__NR_exit_group,        sys_exit_group),        // 94
--
-+   LINXY(__NR_waitid,            sys_waitid),            // 95
-    LINX_(__NR_set_tid_address,   sys_set_tid_address),   // 96
- 
-    LINXY(__NR_futex,             sys_futex),             // 98
-@@ -965,7 +969,7 @@ static SyscallTableEntry syscall_main_table[] = {
-    LINX_(__NR_clock_settime,     sys_clock_settime),     // 112
-    LINXY(__NR_clock_gettime,     sys_clock_gettime),     // 113
-    LINXY(__NR_clock_getres,      sys_clock_getres),      // 114
--
-+   LINXY(__NR_clock_nanosleep,   sys_clock_nanosleep),   // 115
-    LINXY(__NR_syslog,            sys_syslog),            // 116
- 
-    LINXY(__NR_sched_setparam,    sys_sched_setparam),    // 118
-@@ -1081,12 +1085,14 @@ static SyscallTableEntry syscall_main_table[] = {
-    LINX_(__NR_munlockall,        sys_munlockall),        // 231
-    GENXY(__NR_mincore,           sys_mincore),           // 232
-    GENX_(__NR_madvise,           sys_madvise),           // 233
-+
-    LINX_(__NR_mbind,             sys_mbind),             // 235
-    LINXY(__NR_get_mempolicy,     sys_get_mempolicy),     // 236
-    LINX_(__NR_set_mempolicy,     sys_set_mempolicy),     // 237
- 
--   LINXY(__NR_recvmmsg,          sys_recvmmsg),          // 243
-+   LINXY(__NR_perf_event_open,   sys_perf_event_open),   // 241
-    LINXY(__NR_accept4,           sys_accept4),           // 242
-+   LINXY(__NR_recvmmsg,          sys_recvmmsg),          // 243
- 
-    GENXY(__NR_wait4,             sys_wait4),             // 260
- 
-@@ -1095,6 +1101,7 @@ static SyscallTableEntry syscall_main_table[] = {
-    LINXY(__NR_sendmmsg,          sys_sendmmsg),          // 269
-    LINXY(__NR_process_vm_readv,  sys_process_vm_readv),  // 270
-    LINX_(__NR_process_vm_writev, sys_process_vm_writev), // 271
-+
-    LINXY(__NR_getrandom,         sys_getrandom),         // 278
-    LINXY(__NR_memfd_create,      sys_memfd_create),      // 279
- 
-@@ -1308,7 +1315,6 @@ static SyscallTableEntry syscall_main_table[] = {
- //ZZ    LINX_(__NR_set_tid_address,   sys_set_tid_address),   // 258
- //ZZ 
- //ZZ    LINXY(__NR_clock_getres,      sys_clock_getres),   // (timer_create+7)
--//ZZ    LINXY(__NR_clock_nanosleep,   sys_clock_nanosleep),// (timer_create+8) */*
- //ZZ    GENXY(__NR_statfs64,          sys_statfs64),       // 268
- //ZZ    GENXY(__NR_fstatfs64,         sys_fstatfs64),      // 269
- //ZZ 
-@@ -1320,8 +1326,6 @@ static SyscallTableEntry syscall_main_table[] = {
- //ZZ    LINXY(__NR_get_mempolicy,     sys_get_mempolicy),  // 275 ?/?
- //ZZ    LINX_(__NR_set_mempolicy,     sys_set_mempolicy),  // 276 ?/?
- //ZZ 
--//ZZ    LINXY(__NR_waitid,            sys_waitid),         // 280
--//ZZ 
- //ZZ    LINX_(__NR_send,              sys_send),
- //ZZ    LINXY(__NR_recv,              sys_recv),
- //ZZ    LINXY(__NR_recvfrom,          sys_recvfrom),       // 292
-@@ -1329,9 +1333,6 @@ static SyscallTableEntry syscall_main_table[] = {
- //ZZ    LINXY(__NR_semctl,            sys_semctl),         // 300
- //ZZ 
- //ZZ    LINX_(__NR_request_key,       sys_request_key),    // 287
--//ZZ //   LINX_(__NR_ioprio_set,        sys_ioprio_set),     // 289
--//ZZ 
--//ZZ //   LINX_(__NR_ioprio_get,        sys_ioprio_get),     // 290
- //ZZ    LINX_(__NR_inotify_init,    sys_inotify_init),   // 291
- //ZZ //   LINX_(__NR_migrate_pages,    sys_migrate_pages),    // 294
- //ZZ 
-@@ -1347,11 +1348,8 @@ static SyscallTableEntry syscall_main_table[] = {
- //ZZ //   LINX_(__NR_unshare,       sys_unshare),          // 310
- //ZZ    LINX_(__NR_set_robust_list,    sys_set_robust_list),  // 311
- //ZZ    LINXY(__NR_get_robust_list,    sys_get_robust_list),  // 312
--//ZZ //   LINX_(__NR_splice,            sys_ni_syscall),       // 313
- //ZZ //   LINX_(__NR_sync_file_range,   sys_sync_file_range),  // 314
- //ZZ 
--//ZZ //   LINX_(__NR_tee,               sys_ni_syscall),       // 315
--//ZZ //   LINX_(__NR_vmsplice,          sys_ni_syscall),       // 316
- //ZZ    LINXY(__NR_move_pages,        sys_move_pages),       // 317
- //ZZ //   LINX_(__NR_getcpu,            sys_ni_syscall),       // 318
- //ZZ 
-@@ -1374,10 +1372,7 @@ static SyscallTableEntry syscall_main_table[] = {
- //ZZ 
- //ZZ    LINXY(__NR_eventfd2,          sys_eventfd2),         // 356
- //ZZ    LINXY(__NR_epoll_create1,     sys_epoll_create1),    // 357
--//ZZ    LINXY(__NR_preadv,            sys_preadv),           // 361
--//ZZ    LINX_(__NR_pwritev,           sys_pwritev),          // 362
- //ZZ    LINXY(__NR_rt_tgsigqueueinfo, sys_rt_tgsigqueueinfo),// 363
--//ZZ    LINXY(__NR_perf_event_open,   sys_perf_event_open),  // 364
- //ZZ 
- //ZZ    LINXY(__NR_name_to_handle_at, sys_name_to_handle_at),// 370
- //ZZ    LINXY(__NR_open_by_handle_at, sys_open_by_handle_at),// 371
--- 
-2.5.0
-
-diff -rNu valgrind-3.11.0.orig/configure valgrind-3.11.0/configure
---- valgrind-3.11.0.orig/configure	2016-03-09 20:26:02.075924599 +0100
-+++ valgrind-3.11.0/configure	2016-03-09 20:49:09.846378502 +0100
-@@ -14095,7 +14095,7 @@
- #----------------------------------------------------------------------------
- 
- # Nb: VEX/Makefile is generated from Makefile.vex.in.
--ac_config_files="$ac_config_files Makefile VEX/Makefile:Makefile.vex.in valgrind.spec valgrind.pc glibc-2.X.supp docs/Makefile tests/Makefile tests/vg_regtest perf/Makefile perf/vg_perf gdbserver_tests/Makefile gdbserver_tests/solaris/Makefile include/Makefile auxprogs/Makefile mpi/Makefile coregrind/Makefile memcheck/Makefile memcheck/tests/Makefile memcheck/tests/common/Makefile memcheck/tests/amd64/Makefile memcheck/tests/x86/Makefile memcheck/tests/linux/Makefile memcheck/tests/darwin/Makefile memcheck/tests/solaris/Makefile memcheck/tests/amd64-linux/Makefile memcheck/tests/x86-linux/Makefile memcheck/tests/amd64-solaris/Makefile memcheck/tests/x86-solaris/Makefile memcheck/tests/ppc32/Makefile memcheck/tests/ppc64/Makefile memcheck/tests/s390x/Makefile memcheck/tests/vbit-test/Makefile cachegrind/Makefile cachegrind/tests/Makefile cachegrind/tests/x86/Makefile cachegrind/cg_annotate cachegrind/cg_diff callgrind/Makefile callgrind/callgrind_annotate callgrind/callgrind_control callgrind/tests/Makefile helgrind/Makefile helgrind/tests/Makefile massif/Makefile massif/tests/Makefile massif/ms_print lackey/Makefile lackey/tests/Makefile none/Makefile none/tests/Makefile none/tests/scripts/Makefile none/tests/amd64/Makefile none/tests/ppc32/Makefile none/tests/ppc64/Makefile none/tests/x86/Makefile none/tests/arm/Makefile none/tests/arm64/Makefile none/tests/s390x/Makefile none/tests/mips32/Makefile none/tests/mips64/Makefile none/tests/tilegx/Makefile none/tests/linux/Makefile none/tests/darwin/Makefile none/tests/solaris/Makefile none/tests/amd64-linux/Makefile none/tests/x86-linux/Makefile none/tests/amd64-darwin/Makefile none/tests/x86-darwin/Makefile none/tests/amd64-solaris/Makefile none/tests/x86-solaris/Makefile exp-sgcheck/Makefile exp-sgcheck/tests/Makefile drd/Makefile drd/scripts/download-and-build-splash2 drd/tests/Makefile exp-bbv/Makefile exp-bbv/tests/Makefile exp-bbv/tests/x86/Makefile exp-bbv/tests/x86-linux/Makefile exp-bbv/tests/amd64-linux/Makefile exp-bbv/tests/ppc32-linux/Makefile exp-bbv/tests/arm-linux/Makefile exp-dhat/Makefile exp-dhat/tests/Makefile shared/Makefile solaris/Makefile"
-+ac_config_files="$ac_config_files Makefile VEX/Makefile:Makefile.vex.in valgrind.spec valgrind.pc glibc-2.X.supp docs/Makefile tests/Makefile tests/vg_regtest perf/Makefile perf/vg_perf gdbserver_tests/Makefile gdbserver_tests/solaris/Makefile include/Makefile auxprogs/Makefile mpi/Makefile coregrind/Makefile memcheck/Makefile memcheck/tests/Makefile memcheck/tests/common/Makefile memcheck/tests/amd64/Makefile memcheck/tests/x86/Makefile memcheck/tests/linux/Makefile memcheck/tests/darwin/Makefile memcheck/tests/solaris/Makefile memcheck/tests/amd64-linux/Makefile memcheck/tests/arm64-linux/Makefile memcheck/tests/x86-linux/Makefile memcheck/tests/amd64-solaris/Makefile memcheck/tests/x86-solaris/Makefile memcheck/tests/ppc32/Makefile memcheck/tests/ppc64/Makefile memcheck/tests/s390x/Makefile memcheck/tests/vbit-test/Makefile cachegrind/Makefile cachegrind/tests/Makefile cachegrind/tests/x86/Makefile cachegrind/cg_annotate cachegrind/cg_diff callgrind/Makefile callgrind/callgrind_annotate callgrind/callgrind_control callgrind/tests/Makefile helgrind/Makefile helgrind/tests/Makefile massif/Makefile massif/tests/Makefile massif/ms_print lackey/Makefile lackey/tests/Makefile none/Makefile none/tests/Makefile none/tests/scripts/Makefile none/tests/amd64/Makefile none/tests/ppc32/Makefile none/tests/ppc64/Makefile none/tests/x86/Makefile none/tests/arm/Makefile none/tests/arm64/Makefile none/tests/s390x/Makefile none/tests/mips32/Makefile none/tests/mips64/Makefile none/tests/tilegx/Makefile none/tests/linux/Makefile none/tests/darwin/Makefile none/tests/solaris/Makefile none/tests/amd64-linux/Makefile none/tests/x86-linux/Makefile none/tests/amd64-darwin/Makefile none/tests/x86-darwin/Makefile none/tests/amd64-solaris/Makefile none/tests/x86-solaris/Makefile exp-sgcheck/Makefile exp-sgcheck/tests/Makefile drd/Makefile drd/scripts/download-and-build-splash2 drd/tests/Makefile exp-bbv/Makefile exp-bbv/tests/Makefile exp-bbv/tests/x86/Makefile exp-bbv/tests/x86-linux/Makefile exp-bbv/tests/amd64-linux/Makefile exp-bbv/tests/ppc32-linux/Makefile exp-bbv/tests/arm-linux/Makefile exp-dhat/Makefile exp-dhat/tests/Makefile shared/Makefile solaris/Makefile"
- 
- ac_config_files="$ac_config_files coregrind/link_tool_exe_linux"
- 
-@@ -15379,6 +15379,7 @@
-     "memcheck/tests/darwin/Makefile") CONFIG_FILES="$CONFIG_FILES memcheck/tests/darwin/Makefile" ;;
-     "memcheck/tests/solaris/Makefile") CONFIG_FILES="$CONFIG_FILES memcheck/tests/solaris/Makefile" ;;
-     "memcheck/tests/amd64-linux/Makefile") CONFIG_FILES="$CONFIG_FILES memcheck/tests/amd64-linux/Makefile" ;;
-+    "memcheck/tests/arm64-linux/Makefile") CONFIG_FILES="$CONFIG_FILES memcheck/tests/arm64-linux/Makefile" ;;
-     "memcheck/tests/x86-linux/Makefile") CONFIG_FILES="$CONFIG_FILES memcheck/tests/x86-linux/Makefile" ;;
-     "memcheck/tests/amd64-solaris/Makefile") CONFIG_FILES="$CONFIG_FILES memcheck/tests/amd64-solaris/Makefile" ;;
-     "memcheck/tests/x86-solaris/Makefile") CONFIG_FILES="$CONFIG_FILES memcheck/tests/x86-solaris/Makefile" ;;
-diff -rNu valgrind-3.11.0.orig/memcheck/tests/arm64-linux/Makefile.in valgrind-3.11.0/memcheck/tests/arm64-linux/Makefile.in
---- valgrind-3.11.0.orig/memcheck/tests/arm64-linux/Makefile.in	1970-01-01 01:00:00.000000000 +0100
-+++ valgrind-3.11.0/memcheck/tests/arm64-linux/Makefile.in	2016-03-09 20:49:07.190390855 +0100
-@@ -0,0 +1,912 @@
-+# Makefile.in generated by automake 1.14.1 from Makefile.am.
-+# @configure_input@
-+
-+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
-+
-+# This Makefile.in is free software; the Free Software Foundation
-+# gives unlimited permission to copy and/or distribute it,
-+# with or without modifications, as long as this notice is preserved.
-+
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-+# PARTICULAR PURPOSE.
-+
-+@SET_MAKE@
-+
-+# This file is used for tool tests, and also in perf/Makefile.am.
-+
-+# This file should be included (directly or indirectly) by every
-+# Makefile.am that builds programs.  And also the top-level Makefile.am.
-+
-+#----------------------------------------------------------------------------
-+# Global stuff
-+#----------------------------------------------------------------------------
-+
-+
-+VPATH = @srcdir@
-+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
-+am__make_running_with_option = \
-+  case $${target_option-} in \
-+      ?) ;; \
-+      *) echo "am__make_running_with_option: internal error: invalid" \
-+              "target option '$${target_option-}' specified" >&2; \
-+         exit 1;; \
-+  esac; \
-+  has_opt=no; \
-+  sane_makeflags=$$MAKEFLAGS; \
-+  if $(am__is_gnu_make); then \
-+    sane_makeflags=$$MFLAGS; \
-+  else \
-+    case $$MAKEFLAGS in \
-+      *\\[\ \	]*) \
-+        bs=\\; \
-+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
-+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
-+    esac; \
-+  fi; \
-+  skip_next=no; \
-+  strip_trailopt () \
-+  { \
-+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
-+  }; \
-+  for flg in $$sane_makeflags; do \
-+    test $$skip_next = yes && { skip_next=no; continue; }; \
-+    case $$flg in \
-+      *=*|--*) continue;; \
-+        -*I) strip_trailopt 'I'; skip_next=yes;; \
-+      -*I?*) strip_trailopt 'I';; \
-+        -*O) strip_trailopt 'O'; skip_next=yes;; \
-+      -*O?*) strip_trailopt 'O';; \
-+        -*l) strip_trailopt 'l'; skip_next=yes;; \
-+      -*l?*) strip_trailopt 'l';; \
-+      -[dEDm]) skip_next=yes;; \
-+      -[JT]) skip_next=yes;; \
-+    esac; \
-+    case $$flg in \
-+      *$$target_option*) has_opt=yes; break;; \
-+    esac; \
-+  done; \
-+  test $$has_opt = yes
-+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
-+pkgdatadir = $(datadir)/@PACKAGE@
-+pkgincludedir = $(includedir)/@PACKAGE@
-+pkglibdir = $(libdir)/@PACKAGE@
-+pkglibexecdir = $(libexecdir)/@PACKAGE@
-+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-+install_sh_DATA = $(install_sh) -c -m 644
-+install_sh_PROGRAM = $(install_sh) -c
-+install_sh_SCRIPT = $(install_sh) -c
-+INSTALL_HEADER = $(INSTALL_DATA)
-+transform = $(program_transform_name)
-+NORMAL_INSTALL = :
-+PRE_INSTALL = :
-+POST_INSTALL = :
-+NORMAL_UNINSTALL = :
-+PRE_UNINSTALL = :
-+POST_UNINSTALL = :
-+build_triplet = @build@
-+host_triplet = @host@
-+DIST_COMMON = $(top_srcdir)/Makefile.tool-tests.am \
-+	$(top_srcdir)/Makefile.all.am $(srcdir)/Makefile.in \
-+	$(srcdir)/Makefile.am $(dist_noinst_SCRIPTS) \
-+	$(top_srcdir)/depcomp $(noinst_HEADERS)
-+@COMPILER_IS_CLANG_TRUE@am__append_1 = -Wno-cast-align -Wno-self-assign \
-+@COMPILER_IS_CLANG_TRUE@                  -Wno-tautological-compare
-+
-+@SOLARIS_XPG_SYMBOLS_PRESENT_TRUE@am__append_2 = -Wl,-M,$(top_srcdir)/solaris/vgpreload-solaris.mapfile
-+
-+# The Android toolchain includes all kinds of stdlib helpers present in
-+# bionic which is bad because we are not linking with it and the Android
-+# linker will panic.
-+@VGCONF_PLATVARIANT_IS_ANDROID_TRUE@am__append_3 = -nostdlib
-+@VGCONF_HAVE_PLATFORM_SEC_TRUE@am__append_4 = -DVGA_SEC_@VGCONF_ARCH_SEC@=1  \
-+@VGCONF_HAVE_PLATFORM_SEC_TRUE@		-DVGP_SEC_@VGCONF_ARCH_PRI@_@VGCONF_OS@=1
-+
-+
-+# Make sure that all test programs have threaded errno.
-+@VGCONF_OS_IS_SOLARIS_TRUE@am__append_5 = -D_REENTRANT
-+@COMPILER_IS_CLANG_TRUE@am__append_6 = -Wno-format-extra-args \
-+@COMPILER_IS_CLANG_TRUE@	-Wno-literal-range \
-+@COMPILER_IS_CLANG_TRUE@	-Wno-tautological-constant-out-of-range-compare \
-+@COMPILER_IS_CLANG_TRUE@	-Wno-self-assign -Wno-string-plus-int \
-+@COMPILER_IS_CLANG_TRUE@	-Wno-uninitialized -Wno-unused-value # \
-+@COMPILER_IS_CLANG_TRUE@	clang 3.0.0
-+@COMPILER_IS_CLANG_TRUE@am__append_7 = -Wno-unused-private-field    # drd/tests/tsan_unittest.cpp
-+check_PROGRAMS = scalar$(EXEEXT)
-+subdir = memcheck/tests/arm64-linux
-+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-+	$(ACLOCAL_M4)
-+mkinstalldirs = $(install_sh) -d
-+CONFIG_HEADER = $(top_builddir)/config.h
-+CONFIG_CLEAN_FILES =
-+CONFIG_CLEAN_VPATH_FILES =
-+scalar_SOURCES = scalar.c
-+scalar_OBJECTS = scalar.$(OBJEXT)
-+scalar_LDADD = $(LDADD)
-+SCRIPTS = $(dist_noinst_SCRIPTS)
-+AM_V_P = $(am__v_P_@AM_V@)
-+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
-+am__v_P_0 = false
-+am__v_P_1 = :
-+AM_V_GEN = $(am__v_GEN_@AM_V@)
-+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-+am__v_GEN_0 = @echo "  GEN     " $@;
-+am__v_GEN_1 = 
-+AM_V_at = $(am__v_at_@AM_V@)
-+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-+am__v_at_0 = @
-+am__v_at_1 = 
-+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-+depcomp = $(SHELL) $(top_srcdir)/depcomp
-+am__depfiles_maybe = depfiles
-+am__mv = mv -f
-+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-+AM_V_CC = $(am__v_CC_@AM_V@)
-+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-+am__v_CC_0 = @echo "  CC      " $@;
-+am__v_CC_1 = 
-+CCLD = $(CC)
-+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
-+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-+am__v_CCLD_0 = @echo "  CCLD    " $@;
-+am__v_CCLD_1 = 
-+SOURCES = scalar.c
-+DIST_SOURCES = scalar.c
-+am__can_run_installinfo = \
-+  case $$AM_UPDATE_INFO_DIR in \
-+    n|no|NO) false;; \
-+    *) (install-info --version) >/dev/null 2>&1;; \
-+  esac
-+HEADERS = $(noinst_HEADERS)
-+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-+# Read a list of newline-separated strings from the standard input,
-+# and print each of them once, without duplicates.  Input order is
-+# *not* preserved.
-+am__uniquify_input = $(AWK) '\
-+  BEGIN { nonempty = 0; } \
-+  { items[$$0] = 1; nonempty = 1; } \
-+  END { if (nonempty) { for (i in items) print i; }; } \
-+'
-+# Make sure the list of sources is unique.  This is necessary because,
-+# e.g., the same source file might be shared among _SOURCES variables
-+# for different programs/libraries.
-+am__define_uniq_tagged_files = \
-+  list='$(am__tagged_files)'; \
-+  unique=`for i in $$list; do \
-+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-+  done | $(am__uniquify_input)`
-+ETAGS = etags
-+CTAGS = ctags
-+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-+ACLOCAL = @ACLOCAL@
-+AMTAR = @AMTAR@
-+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-+AR = @AR@
-+AUTOCONF = @AUTOCONF@
-+AUTOHEADER = @AUTOHEADER@
-+AUTOMAKE = @AUTOMAKE@
-+AWK = @AWK@
-+BOOST_CFLAGS = @BOOST_CFLAGS@
-+BOOST_LIBS = @BOOST_LIBS@
-+CC = @CC@
-+CCAS = @CCAS@
-+CCASDEPMODE = @CCASDEPMODE@
-+CCASFLAGS = @CCASFLAGS@
-+CCDEPMODE = @CCDEPMODE@
-+CFLAGS = @CFLAGS@
-+CFLAGS_MPI = @CFLAGS_MPI@
-+CPP = @CPP@
-+CPPFLAGS = @CPPFLAGS@
-+CXX = @CXX@
-+CXXDEPMODE = @CXXDEPMODE@
-+CXXFLAGS = @CXXFLAGS@
-+CYGPATH_W = @CYGPATH_W@
-+DEFAULT_SUPP = @DEFAULT_SUPP@
-+DEFS = @DEFS@
-+DEPDIR = @DEPDIR@
-+DIFF = @DIFF@
-+DIS_PATH = @DIS_PATH@
-+ECHO_C = @ECHO_C@
-+ECHO_N = @ECHO_N@
-+ECHO_T = @ECHO_T@
-+EGREP = @EGREP@
-+EXEEXT = @EXEEXT@
-+FLAG_FNO_IPA_ICF = @FLAG_FNO_IPA_ICF@
-+FLAG_FNO_STACK_PROTECTOR = @FLAG_FNO_STACK_PROTECTOR@
-+FLAG_FSANITIZE = @FLAG_FSANITIZE@
-+FLAG_M32 = @FLAG_M32@
-+FLAG_M64 = @FLAG_M64@
-+FLAG_MIPS32 = @FLAG_MIPS32@
-+FLAG_MIPS64 = @FLAG_MIPS64@
-+FLAG_MLONG_DOUBLE_128 = @FLAG_MLONG_DOUBLE_128@
-+FLAG_MMMX = @FLAG_MMMX@
-+FLAG_MSSE = @FLAG_MSSE@
-+FLAG_NO_BUILD_ID = @FLAG_NO_BUILD_ID@
-+FLAG_OCTEON = @FLAG_OCTEON@
-+FLAG_OCTEON2 = @FLAG_OCTEON2@
-+FLAG_T_TEXT = @FLAG_T_TEXT@
-+FLAG_UNLIMITED_INLINE_UNIT_GROWTH = @FLAG_UNLIMITED_INLINE_UNIT_GROWTH@
-+FLAG_W_CAST_ALIGN = @FLAG_W_CAST_ALIGN@
-+FLAG_W_CAST_QUAL = @FLAG_W_CAST_QUAL@
-+FLAG_W_EMPTY_BODY = @FLAG_W_EMPTY_BODY@
-+FLAG_W_EXTRA = @FLAG_W_EXTRA@
-+FLAG_W_FORMAT = @FLAG_W_FORMAT@
-+FLAG_W_FORMAT_SECURITY = @FLAG_W_FORMAT_SECURITY@
-+FLAG_W_FORMAT_SIGNEDNESS = @FLAG_W_FORMAT_SIGNEDNESS@
-+FLAG_W_IGNORED_QUALIFIERS = @FLAG_W_IGNORED_QUALIFIERS@
-+FLAG_W_MISSING_PARAMETER_TYPE = @FLAG_W_MISSING_PARAMETER_TYPE@
-+FLAG_W_NO_INFINITE_RECURSION = @FLAG_W_NO_INFINITE_RECURSION@
-+FLAG_W_NO_MEMSET_TRANSPOSED_ARGS = @FLAG_W_NO_MEMSET_TRANSPOSED_ARGS@
-+FLAG_W_NO_MISMATCHED_NEW_DELETE = @FLAG_W_NO_MISMATCHED_NEW_DELETE@
-+FLAG_W_NO_NONNULL = @FLAG_W_NO_NONNULL@
-+FLAG_W_NO_OVERFLOW = @FLAG_W_NO_OVERFLOW@
-+FLAG_W_NO_POINTER_SIGN = @FLAG_W_NO_POINTER_SIGN@
-+FLAG_W_NO_STATIC_LOCAL_IN_INLINE = @FLAG_W_NO_STATIC_LOCAL_IN_INLINE@
-+FLAG_W_NO_UNINITIALIZED = @FLAG_W_NO_UNINITIALIZED@
-+FLAG_W_NO_UNUSED_FUNCTION = @FLAG_W_NO_UNUSED_FUNCTION@
-+FLAG_W_OLD_STYLE_DECLARATION = @FLAG_W_OLD_STYLE_DECLARATION@
-+FLAG_W_WRITE_STRINGS = @FLAG_W_WRITE_STRINGS@
-+GDB = @GDB@
-+GLIBC_VERSION = @GLIBC_VERSION@
-+GREP = @GREP@
-+HWCAP_HAS_ALTIVEC = @HWCAP_HAS_ALTIVEC@
-+HWCAP_HAS_DFP = @HWCAP_HAS_DFP@
-+HWCAP_HAS_HTM = @HWCAP_HAS_HTM@
-+HWCAP_HAS_ISA_2_05 = @HWCAP_HAS_ISA_2_05@
-+HWCAP_HAS_ISA_2_06 = @HWCAP_HAS_ISA_2_06@
-+HWCAP_HAS_ISA_2_07 = @HWCAP_HAS_ISA_2_07@
-+HWCAP_HAS_VSX = @HWCAP_HAS_VSX@
-+INSTALL = @INSTALL@
-+INSTALL_DATA = @INSTALL_DATA@
-+INSTALL_PROGRAM = @INSTALL_PROGRAM@
-+INSTALL_SCRIPT = @INSTALL_SCRIPT@
-+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-+LDFLAGS = @LDFLAGS@
-+LDFLAGS_MPI = @LDFLAGS_MPI@
-+LIBOBJS = @LIBOBJS@
-+LIBS = @LIBS@
-+LIB_UBSAN = @LIB_UBSAN@
-+LN_S = @LN_S@
-+LTLIBOBJS = @LTLIBOBJS@
-+MAINT = @MAINT@
-+MAKEINFO = @MAKEINFO@
-+MKDIR_P = @MKDIR_P@
-+MPI_CC = @MPI_CC@
-+OBJEXT = @OBJEXT@
-+PACKAGE = @PACKAGE@
-+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-+PACKAGE_NAME = @PACKAGE_NAME@
-+PACKAGE_STRING = @PACKAGE_STRING@
-+PACKAGE_TARNAME = @PACKAGE_TARNAME@
-+PACKAGE_URL = @PACKAGE_URL@
-+PACKAGE_VERSION = @PACKAGE_VERSION@
-+PATH_SEPARATOR = @PATH_SEPARATOR@
-+PERL = @PERL@
-+PREFERRED_STACK_BOUNDARY_2 = @PREFERRED_STACK_BOUNDARY_2@
-+RANLIB = @RANLIB@
-+SED = @SED@
-+SET_MAKE = @SET_MAKE@
-+SHELL = @SHELL@
-+STRIP = @STRIP@
-+VALT_LOAD_ADDRESS_PRI = @VALT_LOAD_ADDRESS_PRI@
-+VALT_LOAD_ADDRESS_SEC = @VALT_LOAD_ADDRESS_SEC@
-+VERSION = @VERSION@
-+VGCONF_ARCH_PRI = @VGCONF_ARCH_PRI@
-+VGCONF_ARCH_SEC = @VGCONF_ARCH_SEC@
-+VGCONF_OS = @VGCONF_OS@
-+VGCONF_PLATFORM_PRI_CAPS = @VGCONF_PLATFORM_PRI_CAPS@
-+VGCONF_PLATFORM_SEC_CAPS = @VGCONF_PLATFORM_SEC_CAPS@
-+VGCONF_PLATVARIANT = @VGCONF_PLATVARIANT@
-+VG_TMPDIR = @VG_TMPDIR@
-+abs_builddir = @abs_builddir@
-+abs_srcdir = @abs_srcdir@
-+abs_top_builddir = @abs_top_builddir@
-+abs_top_srcdir = @abs_top_srcdir@
-+ac_ct_CC = @ac_ct_CC@
-+ac_ct_CXX = @ac_ct_CXX@
-+am__include = @am__include@
-+am__leading_dot = @am__leading_dot@
-+am__quote = @am__quote@
-+am__tar = @am__tar@
-+am__untar = @am__untar@
-+bindir = @bindir@
-+build = @build@
-+build_alias = @build_alias@
-+build_cpu = @build_cpu@
-+build_os = @build_os@
-+build_vendor = @build_vendor@
-+builddir = @builddir@
-+datadir = @datadir@
-+datarootdir = @datarootdir@
-+docdir = @docdir@
-+dvidir = @dvidir@
-+exec_prefix = @exec_prefix@
-+host = @host@
-+host_alias = @host_alias@
-+host_cpu = @host_cpu@
-+host_os = @host_os@
-+host_vendor = @host_vendor@
-+htmldir = @htmldir@
-+includedir = @includedir@
-+infodir = @infodir@
-+install_sh = @install_sh@
-+libdir = @libdir@
-+libexecdir = @libexecdir@
-+localedir = @localedir@
-+localstatedir = @localstatedir@
-+mandir = @mandir@
-+mkdir_p = @mkdir_p@
-+oldincludedir = @oldincludedir@
-+pdfdir = @pdfdir@
-+prefix = @prefix@
-+program_transform_name = @program_transform_name@
-+psdir = @psdir@
-+sbindir = @sbindir@
-+sharedstatedir = @sharedstatedir@
-+srcdir = @srcdir@
-+sysconfdir = @sysconfdir@
-+target_alias = @target_alias@
-+top_build_prefix = @top_build_prefix@
-+top_builddir = @top_builddir@
-+top_srcdir = @top_srcdir@
-+inplacedir = $(top_builddir)/.in_place
-+
-+#----------------------------------------------------------------------------
-+# Flags
-+#----------------------------------------------------------------------------
-+
-+# Baseline flags for all compilations.  Aim here is to maximise
-+# performance and get whatever useful warnings we can out of gcc.
-+# -fno-builtin is important for defeating LLVM's idiom recognition
-+# that somehow causes VG_(memset) to get into infinite recursion.
-+AM_CFLAGS_BASE = -O2 -g -std=gnu99 -Wall -Wmissing-prototypes -Wshadow \
-+	-Wpointer-arith -Wstrict-prototypes -Wmissing-declarations \
-+	@FLAG_W_CAST_ALIGN@ @FLAG_W_CAST_QUAL@ @FLAG_W_WRITE_STRINGS@ \
-+	@FLAG_W_EMPTY_BODY@ @FLAG_W_FORMAT@ @FLAG_W_FORMAT_SIGNEDNESS@ \
-+	@FLAG_W_FORMAT_SECURITY@ @FLAG_W_IGNORED_QUALIFIERS@ \
-+	@FLAG_W_MISSING_PARAMETER_TYPE@ @FLAG_W_OLD_STYLE_DECLARATION@ \
-+	@FLAG_FNO_STACK_PROTECTOR@ @FLAG_FSANITIZE@ \
-+	-fno-strict-aliasing -fno-builtin $(am__append_1)
-+@VGCONF_OS_IS_DARWIN_FALSE@AM_CFLAGS_PSO_BASE = -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
-+@VGCONF_OS_IS_DARWIN_FALSE@		     -fpic -fno-builtin @FLAG_FNO_IPA_ICF@
-+
-+
-+# These flags are used for building the preload shared objects (PSOs).
-+# The aim is to give reasonable performance but also to have good
-+# stack traces, since users often see stack traces extending 
-+# into (and through) the preloads.  Also, we must use any
-+# -mpreferred-stack-boundary flag to build the preload shared
-+# objects, since that risks misaligning the client's stack and
-+# results in segfaults like (eg) #324050.
-+@VGCONF_OS_IS_DARWIN_TRUE@AM_CFLAGS_PSO_BASE = -dynamic \
-+@VGCONF_OS_IS_DARWIN_TRUE@		     -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
-+@VGCONF_OS_IS_DARWIN_TRUE@		     -fpic -fPIC -fno-builtin @FLAG_FNO_IPA_ICF@
-+
-+
-+# Flags for specific targets.
-+#
-+# Nb: the AM_CPPFLAGS_* values are suitable for building tools and auxprogs.
-+# For building the core, coregrind/Makefile.am files add some extra things.
-+AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@ = \
-+	-I$(top_srcdir) \
-+	-I$(top_srcdir)/include \
-+	-I$(top_srcdir)/VEX/pub \
-+	-I$(top_builddir)/VEX/pub \
-+	-DVGA_@VGCONF_ARCH_PRI@=1 \
-+	-DVGO_@VGCONF_OS@=1 \
-+	-DVGP_@VGCONF_ARCH_PRI@_@VGCONF_OS@=1 \
-+	-DVGPV_@VGCONF_ARCH_PRI@_@VGCONF_OS@_@VGCONF_PLATVARIANT@=1
-+
-+@VGCONF_HAVE_PLATFORM_SEC_TRUE@AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@ = \
-+@VGCONF_HAVE_PLATFORM_SEC_TRUE@	-I$(top_srcdir) \
-+@VGCONF_HAVE_PLATFORM_SEC_TRUE@	-I$(top_srcdir)/include \
-+@VGCONF_HAVE_PLATFORM_SEC_TRUE@	-I$(top_srcdir)/VEX/pub \
-+@VGCONF_HAVE_PLATFORM_SEC_TRUE@	-I$(top_builddir)/VEX/pub \
-+@VGCONF_HAVE_PLATFORM_SEC_TRUE@	-DVGA_@VGCONF_ARCH_SEC@=1 \
-+@VGCONF_HAVE_PLATFORM_SEC_TRUE@	-DVGO_@VGCONF_OS@=1 \
-+@VGCONF_HAVE_PLATFORM_SEC_TRUE@	-DVGP_@VGCONF_ARCH_SEC@_@VGCONF_OS@=1 \
-+@VGCONF_HAVE_PLATFORM_SEC_TRUE@	-DVGPV_@VGCONF_ARCH_SEC@_@VGCONF_OS@_@VGCONF_PLATVARIANT@=1
-+
-+AM_FLAG_M3264_X86_LINUX = @FLAG_M32@
-+AM_CFLAGS_X86_LINUX = @FLAG_M32@ @PREFERRED_STACK_BOUNDARY_2@ \
-+				$(AM_CFLAGS_BASE) -fomit-frame-pointer
-+
-+AM_CFLAGS_PSO_X86_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
-+AM_CCASFLAGS_X86_LINUX = @FLAG_M32@ -g
-+AM_FLAG_M3264_AMD64_LINUX = @FLAG_M64@
-+AM_CFLAGS_AMD64_LINUX = @FLAG_M64@ \
-+				$(AM_CFLAGS_BASE) -fomit-frame-pointer
-+
-+AM_CFLAGS_PSO_AMD64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
-+AM_CCASFLAGS_AMD64_LINUX = @FLAG_M64@ -g
-+AM_FLAG_M3264_PPC32_LINUX = @FLAG_M32@
-+AM_CFLAGS_PPC32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE)
-+AM_CFLAGS_PSO_PPC32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
-+AM_CCASFLAGS_PPC32_LINUX = @FLAG_M32@ -g
-+AM_FLAG_M3264_PPC64BE_LINUX = @FLAG_M64@
-+AM_CFLAGS_PPC64BE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
-+AM_CFLAGS_PSO_PPC64BE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
-+AM_CCASFLAGS_PPC64BE_LINUX = @FLAG_M64@ -g
-+AM_FLAG_M3264_PPC64LE_LINUX = @FLAG_M64@
-+AM_CFLAGS_PPC64LE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
-+AM_CFLAGS_PSO_PPC64LE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
-+AM_CCASFLAGS_PPC64LE_LINUX = @FLAG_M64@ -g
-+AM_FLAG_M3264_ARM_LINUX = @FLAG_M32@
-+AM_CFLAGS_ARM_LINUX = @FLAG_M32@ \
-+			 	$(AM_CFLAGS_BASE) -marm -mcpu=cortex-a8
-+
-+AM_CFLAGS_PSO_ARM_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) \
-+				-marm -mcpu=cortex-a8 $(AM_CFLAGS_PSO_BASE)
-+
-+AM_CCASFLAGS_ARM_LINUX = @FLAG_M32@ \
-+				-marm -mcpu=cortex-a8 -g
-+
-+AM_FLAG_M3264_ARM64_LINUX = @FLAG_M64@
-+AM_CFLAGS_ARM64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
-+AM_CFLAGS_PSO_ARM64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
-+AM_CCASFLAGS_ARM64_LINUX = @FLAG_M64@ -g
-+AM_FLAG_M3264_X86_DARWIN = -arch i386
-+AM_CFLAGS_X86_DARWIN = $(WERROR) -arch i386 $(AM_CFLAGS_BASE) \
-+				-mmacosx-version-min=10.5 \
-+				-fno-stack-protector -fno-pic -fno-PIC
-+
-+AM_CFLAGS_PSO_X86_DARWIN = $(AM_CFLAGS_X86_DARWIN) $(AM_CFLAGS_PSO_BASE)
-+AM_CCASFLAGS_X86_DARWIN = -arch i386 -g
-+AM_FLAG_M3264_AMD64_DARWIN = -arch x86_64
-+AM_CFLAGS_AMD64_DARWIN = $(WERROR) -arch x86_64 $(AM_CFLAGS_BASE) \
-+			    -mmacosx-version-min=10.5 -fno-stack-protector
-+
-+AM_CFLAGS_PSO_AMD64_DARWIN = $(AM_CFLAGS_AMD64_DARWIN) $(AM_CFLAGS_PSO_BASE)
-+AM_CCASFLAGS_AMD64_DARWIN = -arch x86_64 -g
-+AM_FLAG_M3264_S390X_LINUX = @FLAG_M64@
-+AM_CFLAGS_S390X_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) -fomit-frame-pointer
-+AM_CFLAGS_PSO_S390X_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
-+AM_CCASFLAGS_S390X_LINUX = @FLAG_M64@ -g -mzarch -march=z900
-+AM_FLAG_M3264_MIPS32_LINUX = @FLAG_M32@
-+AM_CFLAGS_MIPS32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) @FLAG_MIPS32@
-+AM_CFLAGS_PSO_MIPS32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) @FLAG_MIPS32@ \
-+				$(AM_CFLAGS_PSO_BASE)
-+
-+AM_CCASFLAGS_MIPS32_LINUX = @FLAG_M32@ -g @FLAG_MIPS32@
-+AM_FLAG_M3264_MIPS64_LINUX = @FLAG_M64@
-+AM_CFLAGS_MIPS64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) @FLAG_MIPS64@
-+AM_CFLAGS_PSO_MIPS64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) @FLAG_MIPS64@ \
-+				$(AM_CFLAGS_PSO_BASE)
-+
-+AM_CCASFLAGS_MIPS64_LINUX = @FLAG_M64@ -g @FLAG_MIPS64@
-+AM_CFLAGS_TILEGX_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
-+AM_CFLAGS_PSO_TILEGX_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
-+AM_FLAG_M3264_X86_SOLARIS = @FLAG_M32@
-+AM_CFLAGS_X86_SOLARIS = @FLAG_M32@ @PREFERRED_STACK_BOUNDARY_2@ \
-+			 	$(AM_CFLAGS_BASE) -fomit-frame-pointer
-+
-+AM_CFLAGS_PSO_X86_SOLARIS = @FLAG_M32@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
-+AM_CCASFLAGS_X86_SOLARIS = @FLAG_M32@ -g -D_ASM
-+AM_FLAG_M3264_AMD64_SOLARIS = @FLAG_M64@
-+AM_CFLAGS_AMD64_SOLARIS = @FLAG_M64@ \
-+				$(AM_CFLAGS_BASE) -fomit-frame-pointer
-+
-+AM_CFLAGS_PSO_AMD64_SOLARIS = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
-+AM_CCASFLAGS_AMD64_SOLARIS = @FLAG_M64@ -g -D_ASM
-+
-+# Flags for the primary target.  These must be used to build the
-+# regtests and performance tests.  In fact, these must be used to
-+# build anything which is built only once on a dual-arch build.
-+#
-+AM_FLAG_M3264_PRI = $(AM_FLAG_M3264_@VGCONF_PLATFORM_PRI_CAPS@)
-+AM_CPPFLAGS_PRI = $(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
-+AM_CFLAGS_PRI = $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
-+AM_CCASFLAGS_PRI = $(AM_CCASFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
-+@VGCONF_HAVE_PLATFORM_SEC_FALSE@AM_FLAG_M3264_SEC = 
-+@VGCONF_HAVE_PLATFORM_SEC_TRUE@AM_FLAG_M3264_SEC = $(AM_FLAG_M3264_@VGCONF_PLATFORM_SEC_CAPS@)
-+
-+# Baseline link flags for making vgpreload shared objects.
-+#
-+PRELOAD_LDFLAGS_COMMON_LINUX = -nodefaultlibs -shared \
-+	-Wl,-z,interpose,-z,initfirst $(am__append_3)
-+PRELOAD_LDFLAGS_COMMON_DARWIN = -dynamic -dynamiclib -all_load
-+PRELOAD_LDFLAGS_COMMON_SOLARIS = -nodefaultlibs -shared \
-+	-Wl,-z,interpose,-z,initfirst $(am__append_2)
-+PRELOAD_LDFLAGS_X86_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
-+PRELOAD_LDFLAGS_AMD64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
-+PRELOAD_LDFLAGS_PPC32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
-+PRELOAD_LDFLAGS_PPC64BE_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
-+PRELOAD_LDFLAGS_PPC64LE_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
-+PRELOAD_LDFLAGS_ARM_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
-+PRELOAD_LDFLAGS_ARM64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
-+PRELOAD_LDFLAGS_X86_DARWIN = $(PRELOAD_LDFLAGS_COMMON_DARWIN) -arch i386
-+PRELOAD_LDFLAGS_AMD64_DARWIN = $(PRELOAD_LDFLAGS_COMMON_DARWIN) -arch x86_64
-+PRELOAD_LDFLAGS_S390X_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
-+PRELOAD_LDFLAGS_MIPS32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
-+PRELOAD_LDFLAGS_MIPS64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
-+PRELOAD_LDFLAGS_TILEGX_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
-+PRELOAD_LDFLAGS_X86_SOLARIS = $(PRELOAD_LDFLAGS_COMMON_SOLARIS) @FLAG_M32@
-+PRELOAD_LDFLAGS_AMD64_SOLARIS = $(PRELOAD_LDFLAGS_COMMON_SOLARIS) @FLAG_M64@
-+AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include \
-+	-I$(top_srcdir)/coregrind -I$(top_builddir)/include \
-+	-I$(top_srcdir)/VEX/pub -I$(top_builddir)/VEX/pub \
-+	-DVGA_@VGCONF_ARCH_PRI@=1 -DVGO_@VGCONF_OS@=1 \
-+	-DVGP_@VGCONF_ARCH_PRI@_@VGCONF_OS@=1 \
-+	-DVGPV_@VGCONF_ARCH_PRI@_@VGCONF_OS@_@VGCONF_PLATVARIANT@=1 \
-+	$(am__append_4)
-+
-+# Nb: Tools need to augment these flags with an arch-selection option, such
-+# as $(AM_FLAG_M3264_PRI).
-+AM_CFLAGS = -Winline -Wall -Wshadow -Wno-long-long -g \
-+	@FLAG_FNO_STACK_PROTECTOR@ $(am__append_5) $(am__append_6) \
-+	@FLAG_M64@ $(am__empty)
-+AM_CXXFLAGS = -Winline -Wall -Wshadow -Wno-long-long -g \
-+	@FLAG_FNO_STACK_PROTECTOR@ $(am__append_7) @FLAG_M64@
-+# Include AM_CPPFLAGS in AM_CCASFLAGS to allow for older versions of
-+# automake;  see comments in Makefile.all.am for more detail.
-+AM_CCASFLAGS = $(AM_CPPFLAGS) @FLAG_M64@
-+@VGCONF_OS_IS_DARWIN_TRUE@noinst_DSYMS = $(check_PROGRAMS)
-+dist_noinst_SCRIPTS = \
-+	filter_stderr
-+
-+noinst_HEADERS = scalar.h
-+EXTRA_DIST = \
-+	scalar.stderr.exp scalar.vgtest
-+
-+all: all-am
-+
-+.SUFFIXES:
-+.SUFFIXES: .c .o .obj
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.tool-tests.am $(top_srcdir)/Makefile.all.am $(am__configure_deps)
-+	@for dep in $?; do \
-+	  case '$(am__configure_deps)' in \
-+	    *$$dep*) \
-+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
-+	        && { if test -f $@; then exit 0; else break; fi; }; \
-+	      exit 1;; \
-+	  esac; \
-+	done; \
-+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign memcheck/tests/arm64-linux/Makefile'; \
-+	$(am__cd) $(top_srcdir) && \
-+	  $(AUTOMAKE) --foreign memcheck/tests/arm64-linux/Makefile
-+.PRECIOUS: Makefile
-+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-+	@case '$?' in \
-+	  *config.status*) \
-+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-+	  *) \
-+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-+	esac;
-+$(top_srcdir)/Makefile.tool-tests.am $(top_srcdir)/Makefile.all.am:
-+
-+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-+
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
-+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
-+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-+$(am__aclocal_m4_deps):
-+
-+clean-checkPROGRAMS:
-+	-test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
-+
-+scalar$(EXEEXT): $(scalar_OBJECTS) $(scalar_DEPENDENCIES) $(EXTRA_scalar_DEPENDENCIES) 
-+	@rm -f scalar$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(scalar_OBJECTS) $(scalar_LDADD) $(LIBS)
-+
-+mostlyclean-compile:
-+	-rm -f *.$(OBJEXT)
-+
-+distclean-compile:
-+	-rm -f *.tab.c
-+
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scalar.Po@am__quote@
-+
-+.c.o:
-+@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
-+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-+@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
-+
-+.c.obj:
-+@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
-+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
-+@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-+
-+ID: $(am__tagged_files)
-+	$(am__define_uniq_tagged_files); mkid -fID $$unique
-+tags: tags-am
-+TAGS: tags
-+
-+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
-+	set x; \
-+	here=`pwd`; \
-+	$(am__define_uniq_tagged_files); \
-+	shift; \
-+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-+	  test -n "$$unique" || unique=$$empty_fix; \
-+	  if test $$# -gt 0; then \
-+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-+	      "$$@" $$unique; \
-+	  else \
-+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-+	      $$unique; \
-+	  fi; \
-+	fi
-+ctags: ctags-am
-+
-+CTAGS: ctags
-+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
-+	$(am__define_uniq_tagged_files); \
-+	test -z "$(CTAGS_ARGS)$$unique" \
-+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-+	     $$unique
-+
-+GTAGS:
-+	here=`$(am__cd) $(top_builddir) && pwd` \
-+	  && $(am__cd) $(top_srcdir) \
-+	  && gtags -i $(GTAGS_ARGS) "$$here"
-+cscopelist: cscopelist-am
-+
-+cscopelist-am: $(am__tagged_files)
-+	list='$(am__tagged_files)'; \
-+	case "$(srcdir)" in \
-+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
-+	  *) sdir=$(subdir)/$(srcdir) ;; \
-+	esac; \
-+	for i in $$list; do \
-+	  if test -f "$$i"; then \
-+	    echo "$(subdir)/$$i"; \
-+	  else \
-+	    echo "$$sdir/$$i"; \
-+	  fi; \
-+	done >> $(top_builddir)/cscope.files
-+
-+distclean-tags:
-+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-+
-+distdir: $(DISTFILES)
-+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-+	list='$(DISTFILES)'; \
-+	  dist_files=`for file in $$list; do echo $$file; done | \
-+	  sed -e "s|^$$srcdirstrip/||;t" \
-+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-+	case $$dist_files in \
-+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
-+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-+			   sort -u` ;; \
-+	esac; \
-+	for file in $$dist_files; do \
-+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-+	  if test -d $$d/$$file; then \
-+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-+	    if test -d "$(distdir)/$$file"; then \
-+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-+	    fi; \
-+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-+	    fi; \
-+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-+	  else \
-+	    test -f "$(distdir)/$$file" \
-+	    || cp -p $$d/$$file "$(distdir)/$$file" \
-+	    || exit 1; \
-+	  fi; \
-+	done
-+check-am: all-am
-+	$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
-+	$(MAKE) $(AM_MAKEFLAGS) check-local
-+check: check-am
-+all-am: Makefile $(SCRIPTS) $(HEADERS)
-+installdirs:
-+install: install-am
-+install-exec: install-exec-am
-+install-data: install-data-am
-+uninstall: uninstall-am
-+
-+install-am: all-am
-+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-+
-+installcheck: installcheck-am
-+install-strip:
-+	if test -z '$(STRIP)'; then \
-+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-+	      install; \
-+	else \
-+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
-+	fi
-+mostlyclean-generic:
-+
-+clean-generic:
-+
-+distclean-generic:
-+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-+
-+maintainer-clean-generic:
-+	@echo "This command is intended for maintainers to use"
-+	@echo "it deletes files that may require special tools to rebuild."
-+clean: clean-am
-+
-+clean-am: clean-checkPROGRAMS clean-generic clean-local mostlyclean-am
-+
-+distclean: distclean-am
-+	-rm -rf ./$(DEPDIR)
-+	-rm -f Makefile
-+distclean-am: clean-am distclean-compile distclean-generic \
-+	distclean-tags
-+
-+dvi: dvi-am
-+
-+dvi-am:
-+
-+html: html-am
-+
-+html-am:
-+
-+info: info-am
-+
-+info-am:
-+
-+install-data-am:
-+
-+install-dvi: install-dvi-am
-+
-+install-dvi-am:
-+
-+install-exec-am:
-+
-+install-html: install-html-am
-+
-+install-html-am:
-+
-+install-info: install-info-am
-+
-+install-info-am:
-+
-+install-man:
-+
-+install-pdf: install-pdf-am
-+
-+install-pdf-am:
-+
-+install-ps: install-ps-am
-+
-+install-ps-am:
-+
-+installcheck-am:
-+
-+maintainer-clean: maintainer-clean-am
-+	-rm -rf ./$(DEPDIR)
-+	-rm -f Makefile
-+maintainer-clean-am: distclean-am maintainer-clean-generic
-+
-+mostlyclean: mostlyclean-am
-+
-+mostlyclean-am: mostlyclean-compile mostlyclean-generic
-+
-+pdf: pdf-am
-+
-+pdf-am:
-+
-+ps: ps-am
-+
-+ps-am:
-+
-+uninstall-am:
-+
-+.MAKE: check-am install-am install-strip
-+
-+.PHONY: CTAGS GTAGS TAGS all all-am check check-am check-local clean \
-+	clean-checkPROGRAMS clean-generic clean-local cscopelist-am \
-+	ctags ctags-am distclean distclean-compile distclean-generic \
-+	distclean-tags distdir dvi dvi-am html html-am info info-am \
-+	install install-am install-data install-data-am install-dvi \
-+	install-dvi-am install-exec install-exec-am install-html \
-+	install-html-am install-info install-info-am install-man \
-+	install-pdf install-pdf-am install-ps install-ps-am \
-+	install-strip installcheck installcheck-am installdirs \
-+	maintainer-clean maintainer-clean-generic mostlyclean \
-+	mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
-+	tags tags-am uninstall uninstall-am
-+
-+
-+# This used to be required when Vex had a handwritten Makefile.  It
-+# shouldn't be needed any more, though.
-+
-+#----------------------------------------------------------------------------
-+# noinst_PROGRAMS and noinst_DSYMS targets
-+#----------------------------------------------------------------------------
-+
-+# On Darwin, for a program 'p', the DWARF debug info is stored in the
-+# directory 'p.dSYM'.  This must be generated after the executable is
-+# created, with 'dsymutil p'.  We could redefine LINK with a script that
-+# executes 'dsymutil' after linking, but that's a pain.  Instead we use this
-+# hook so that every time "make check" is run, we subsequently invoke
-+# 'dsymutil' on all the executables that lack a .dSYM directory, or that are
-+# newer than their corresponding .dSYM directory.
-+build-noinst_DSYMS: $(noinst_DSYMS)
-+	for f in $(noinst_DSYMS); do \
-+	  if [ ! -e $$f.dSYM  -o  $$f -nt $$f.dSYM ] ; then \
-+	      echo "dsymutil $$f"; \
-+	      dsymutil $$f; \
-+	  fi; \
-+	done
-+
-+# This is used by coregrind/Makefile.am and Makefile.tool.am for doing
-+# "in-place" installs.  It copies $(noinst_PROGRAMS) into $inplacedir.
-+# It needs to be depended on by an 'all-local' rule.
-+inplace-noinst_PROGRAMS: $(noinst_PROGRAMS)
-+	mkdir -p $(inplacedir); \
-+	for f in $(noinst_PROGRAMS) ; do \
-+	  rm -f $(inplacedir)/$$f; \
-+	  ln -f -s ../$(subdir)/$$f $(inplacedir); \
-+	done
-+
-+# Similar to inplace-noinst_PROGRAMS
-+inplace-noinst_DSYMS: build-noinst_DSYMS
-+	mkdir -p $(inplacedir); \
-+	for f in $(noinst_DSYMS); do \
-+	  rm -f $(inplacedir)/$$f.dSYM; \
-+	  ln -f -s ../$(subdir)/$$f.dSYM $(inplacedir); \
-+	done
-+
-+# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing
-+# "make install".  It copies $(noinst_PROGRAMS) into $prefix/lib/valgrind/.
-+# It needs to be depended on by an 'install-exec-local' rule.
-+install-noinst_PROGRAMS: $(noinst_PROGRAMS)
-+	$(mkinstalldirs) $(DESTDIR)$(pkglibdir); \
-+	for f in $(noinst_PROGRAMS); do \
-+	  $(INSTALL_PROGRAM) $$f $(DESTDIR)$(pkglibdir); \
-+	done
-+
-+# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing
-+# "make uninstall".  It removes $(noinst_PROGRAMS) from $prefix/lib/valgrind/.
-+# It needs to be depended on by an 'uninstall-local' rule.
-+uninstall-noinst_PROGRAMS:
-+	for f in $(noinst_PROGRAMS); do \
-+	  rm -f $(DESTDIR)$(pkglibdir)/$$f; \
-+	done
-+
-+# Similar to install-noinst_PROGRAMS.
-+# Nb: we don't use $(INSTALL_PROGRAM) here because it doesn't work with
-+# directories.  XXX: not sure whether the resulting permissions will be
-+# correct when using 'cp -R'...
-+install-noinst_DSYMS: build-noinst_DSYMS
-+	$(mkinstalldirs) $(DESTDIR)$(pkglibdir); \
-+	for f in $(noinst_DSYMS); do \
-+	  cp -R $$f.dSYM $(DESTDIR)$(pkglibdir); \
-+	done
-+
-+# Similar to uninstall-noinst_PROGRAMS.
-+uninstall-noinst_DSYMS:
-+	for f in $(noinst_DSYMS); do \
-+	  rm -f $(DESTDIR)$(pkglibdir)/$$f.dSYM; \
-+	done
-+
-+# This needs to be depended on by a 'clean-local' rule.
-+clean-noinst_DSYMS:
-+	for f in $(noinst_DSYMS); do \
-+	  rm -rf $$f.dSYM; \
-+	done
-+
-+check-local: build-noinst_DSYMS
-+
-+clean-local: clean-noinst_DSYMS
-+
-+# Tell versions [3.59,3.63) of GNU make to not export all variables.
-+# Otherwise a system limit (for SysV at least) may be exceeded.
-+.NOEXPORT:
-diff -rNu valgrind-3.11.0.orig/memcheck/tests/Makefile.in valgrind-3.11.0/memcheck/tests/Makefile.in
---- valgrind-3.11.0.orig/memcheck/tests/Makefile.in	2016-03-09 20:26:02.217923922 +0100
-+++ valgrind-3.11.0/memcheck/tests/Makefile.in	2016-03-09 20:49:06.995391762 +0100
-@@ -130,8 +130,9 @@
- # Platform-specific tests
- @VGCONF_PLATFORMS_INCLUDE_X86_LINUX_TRUE@am__append_16 = x86-linux
- @VGCONF_PLATFORMS_INCLUDE_AMD64_LINUX_TRUE@am__append_17 = amd64-linux
--@VGCONF_PLATFORMS_INCLUDE_X86_SOLARIS_TRUE@am__append_18 = x86-solaris
--@VGCONF_PLATFORMS_INCLUDE_AMD64_SOLARIS_TRUE@am__append_19 = amd64-solaris
-+@VGCONF_PLATFORMS_INCLUDE_ARM64_LINUX_TRUE@am__append_18 = arm64-linux
-+@VGCONF_PLATFORMS_INCLUDE_X86_SOLARIS_TRUE@am__append_19 = x86-solaris
-+@VGCONF_PLATFORMS_INCLUDE_AMD64_SOLARIS_TRUE@am__append_20 = amd64-solaris
- check_PROGRAMS = accounting$(EXEEXT) addressable$(EXEEXT) \
- 	atomic_incs$(EXEEXT) badaddrvalue$(EXEEXT) badfree$(EXEEXT) \
- 	badjump$(EXEEXT) badjump2$(EXEEXT) badloop$(EXEEXT) \
-@@ -191,14 +192,14 @@
- 	$(am__EXEEXT_5)
- 
- # Sun Studio assembler fails on "IDENT too long"
--@SOLARIS_SUN_STUDIO_AS_FALSE@am__append_20 = long_namespace_xml
--@DWARF4_TRUE@am__append_21 = dw4
--@HAVE_GNU_STPNCPY_TRUE@am__append_22 = stpncpy
--@HAVE_PTHREAD_SETNAME_NP_TRUE@am__append_23 = threadname 
--@HAVE_PTHREAD_BARRIER_TRUE@am__append_24 = reach_thread_register
--@VGCONF_OS_IS_SOLARIS_TRUE@am__append_25 = -D_XOPEN_SOURCE=500
--@VGCONF_OS_IS_SOLARIS_TRUE@am__append_26 = -std=c99 -D__EXTENSIONS__
--@VGCONF_OS_IS_SOLARIS_TRUE@am__append_27 = -D_XOPEN_SOURCE=500
-+@SOLARIS_SUN_STUDIO_AS_FALSE@am__append_21 = long_namespace_xml
-+@DWARF4_TRUE@am__append_22 = dw4
-+@HAVE_GNU_STPNCPY_TRUE@am__append_23 = stpncpy
-+@HAVE_PTHREAD_SETNAME_NP_TRUE@am__append_24 = threadname 
-+@HAVE_PTHREAD_BARRIER_TRUE@am__append_25 = reach_thread_register
-+@VGCONF_OS_IS_SOLARIS_TRUE@am__append_26 = -D_XOPEN_SOURCE=500
-+@VGCONF_OS_IS_SOLARIS_TRUE@am__append_27 = -std=c99 -D__EXTENSIONS__
-+@VGCONF_OS_IS_SOLARIS_TRUE@am__append_28 = -D_XOPEN_SOURCE=500
- subdir = memcheck/tests
- ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
- am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-@@ -1313,9 +1314,11 @@
- SUBDIRS = . $(am__append_8) $(am__append_9) $(am__append_10) \
- 	$(am__append_11) $(am__append_12) $(am__append_13) \
- 	$(am__append_14) $(am__append_15) $(am__append_16) \
--	$(am__append_17) $(am__append_18) $(am__append_19)
-+	$(am__append_17) $(am__append_18) $(am__append_19) \
-+	$(am__append_20)
- DIST_SUBDIRS = x86 amd64 ppc32 ppc64 s390x linux \
--		darwin solaris x86-linux amd64-linux x86-solaris amd64-solaris \
-+		darwin solaris x86-linux amd64-linux arm64-linux \
-+		x86-solaris amd64-solaris \
- 		common .
- 
- dist_noinst_SCRIPTS = \
-@@ -1580,7 +1583,7 @@
- descr_belowsp_LDADD = -lpthread
- err_disable3_LDADD = -lpthread
- err_disable4_LDADD = -lpthread
--err_disable4_CFLAGS = $(AM_CFLAGS) $(am__append_25)
-+err_disable4_CFLAGS = $(AM_CFLAGS) $(am__append_26)
- reach_thread_register_CFLAGS = $(AM_CFLAGS) -O2
- reach_thread_register_LDADD = -lpthread
- thread_alloca_LDADD = -lpthread
-@@ -1595,7 +1598,7 @@
- inltemplate_CXXFLAGS = $(AM_CXXFLAGS) @FLAG_W_NO_UNINITIALIZED@
- long_namespace_xml_SOURCES = long_namespace_xml.cpp
- manuel1_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_UNINITIALIZED@
--memalign2_CFLAGS = $(AM_CFLAGS) $(am__append_26)
-+memalign2_CFLAGS = $(AM_CFLAGS) $(am__append_27)
- memcmptest_CFLAGS = $(AM_CFLAGS) -fno-builtin-memcmp
- mismatches_SOURCES = mismatches.cpp
- mismatches_CXXFLAGS = $(AM_CXXFLAGS) @FLAG_W_NO_MISMATCHED_NEW_DELETE@
-@@ -1617,7 +1620,7 @@
- # because then we can't intercept it
- overlap_CFLAGS = $(AM_CFLAGS) -fno-builtin-memcpy -fno-builtin-strcpy
- resvn_stack_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_UNINITIALIZED@
--sendmsg_CFLAGS = $(AM_CFLAGS) $(am__append_27)
-+sendmsg_CFLAGS = $(AM_CFLAGS) $(am__append_28)
- @VGCONF_OS_IS_SOLARIS_TRUE@sendmsg_LDADD = -lsocket -lnsl
- str_tester_CFLAGS = $(AM_CFLAGS) -Wno-shadow \
- 			  @FLAG_W_NO_MEMSET_TRANSPOSED_ARGS@
-commit 366319c50f4d80b33c286f37b0228b3c0e626ffa
-Author: mjw <mjw@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Thu Mar 10 07:59:33 2016 +0000
-
-    Add arm64-linux to tests/platform_test.
-    
-    Prevent executing arm64-linux specific tests on other arches.
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15827 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/tests/platform_test b/tests/platform_test
-index 9653921..376f62e 100644
---- a/tests/platform_test
-+++ b/tests/platform_test
-@@ -12,7 +12,7 @@
- 
- all_platforms=
- all_platforms="$all_platforms x86-linux amd64-linux ppc32-linux ppc64-linux"
--all_platforms="$all_platforms arm-linux"
-+all_platforms="$all_platforms arm-linux arm64-linux"
- all_platforms="$all_platforms s390x-linux mips32-linux mips64-linux"
- all_platforms="$all_platforms x86-darwin amd64-darwin"
- all_platforms="$all_platforms x86-solaris amd64-solaris"
diff --git a/valgrind-3.11.0-arm64-sigpending.patch b/valgrind-3.11.0-arm64-sigpending.patch
deleted file mode 100644
index 2530d19..0000000
--- a/valgrind-3.11.0-arm64-sigpending.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-commit b78a32e41a8b5918c706b0ac1b8fbe02fcec854b
-Author: mjw <mjw@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Wed Sep 23 12:15:36 2015 +0000
-
-    Bug 353084 arm64 doesn't support sigpending system call.
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15676 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/coregrind/m_syswrap/syswrap-arm64-linux.c b/coregrind/m_syswrap/syswrap-arm64-linux.c
-index 6cf3ba5..8d3027d 100644
---- a/coregrind/m_syswrap/syswrap-arm64-linux.c
-+++ b/coregrind/m_syswrap/syswrap-arm64-linux.c
-@@ -959,6 +959,7 @@ static SyscallTableEntry syscall_main_table[] = {
-    LINX_(__NR_rt_sigsuspend,     sys_rt_sigsuspend),     // 133
-    LINXY(__NR_rt_sigaction,      sys_rt_sigaction),      // 134
-    LINXY(__NR_rt_sigprocmask,    sys_rt_sigprocmask),    // 135
-+   LINXY(__NR_rt_sigpending,     sys_rt_sigpending),     // 136
-    LINXY(__NR_rt_sigtimedwait,   sys_rt_sigtimedwait),   // 137
-    LINXY(__NR_rt_sigqueueinfo,   sys_rt_sigqueueinfo),   // 138
-    PLAX_(__NR_rt_sigreturn,      sys_rt_sigreturn),      // 139
-@@ -1231,7 +1232,6 @@ static SyscallTableEntry syscall_main_table[] = {
- //ZZ    LINXY(__NR_prctl,             sys_prctl),          // 172
- //ZZ    LINXY(__NR_rt_sigaction,      sys_rt_sigaction),   // 174
- //ZZ 
--//ZZ    LINXY(__NR_rt_sigpending,     sys_rt_sigpending),  // 176
- //ZZ    LINXY(__NR_rt_sigtimedwait,   sys_rt_sigtimedwait),// 177
- //ZZ 
- //ZZ    LINX_(__NR_chown,             sys_chown16),        // 182
diff --git a/valgrind-3.11.0-arm64-xattr.patch b/valgrind-3.11.0-arm64-xattr.patch
deleted file mode 100644
index 36c0883..0000000
--- a/valgrind-3.11.0-arm64-xattr.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-commit 9f20263f224cf85a81b16fe1570439cecf5ef48b
-Author: mjw <mjw@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Wed Sep 23 11:51:47 2015 +0000
-
-    Bug 353083 arm64 doesn't implement various xattr system calls.
-    
-    This enables setxattr, lsetxattr, fsetxattr, fgetxattr, removexattr,
-    lremovexattr, fremovexattr, listxattr, llistxattr and flistxattr on
-    arm64-linux.
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15675 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/coregrind/m_syswrap/syswrap-arm64-linux.c b/coregrind/m_syswrap/syswrap-arm64-linux.c
-index 6661d1d..6cf3ba5 100644
---- a/coregrind/m_syswrap/syswrap-arm64-linux.c
-+++ b/coregrind/m_syswrap/syswrap-arm64-linux.c
-@@ -855,8 +855,18 @@ PRE(sys_rt_sigreturn)
- // (unknown).
- 
- static SyscallTableEntry syscall_main_table[] = {
-+   LINX_(__NR_setxattr,          sys_setxattr),          // 5
-+   LINX_(__NR_lsetxattr,         sys_lsetxattr),         // 6
-+   LINX_(__NR_fsetxattr,         sys_fsetxattr),         // 7
-    LINXY(__NR_getxattr,          sys_getxattr),          // 8
-    LINXY(__NR_lgetxattr,         sys_lgetxattr),         // 9
-+   LINXY(__NR_fgetxattr,         sys_fgetxattr),         // 10
-+   LINXY(__NR_listxattr,         sys_listxattr),         // 11
-+   LINXY(__NR_llistxattr,        sys_llistxattr),        // 12
-+   LINXY(__NR_flistxattr,        sys_flistxattr),        // 13
-+   LINX_(__NR_removexattr,       sys_removexattr),       // 14
-+   LINX_(__NR_lremovexattr,      sys_lremovexattr),      // 15
-+   LINX_(__NR_fremovexattr,      sys_fremovexattr),      // 16
-    GENXY(__NR_getcwd,            sys_getcwd),            // 17
-    LINXY(__NR_eventfd2,          sys_eventfd2),          // 19
-    LINXY(__NR_epoll_create1,     sys_epoll_create1),     // 20
-@@ -1267,18 +1277,6 @@ static SyscallTableEntry syscall_main_table[] = {
- //ZZ //   GENX_(222,                    sys_ni_syscall),     // 222
- //ZZ //   PLAXY(223,                    sys_syscall223),     // 223 // sys_bproc?
- //ZZ 
--//ZZ    LINX_(__NR_setxattr,          sys_setxattr),       // 226
--//ZZ    LINX_(__NR_lsetxattr,         sys_lsetxattr),      // 227
--//ZZ    LINX_(__NR_fsetxattr,         sys_fsetxattr),      // 228
--//ZZ 
--//ZZ    LINXY(__NR_fgetxattr,         sys_fgetxattr),      // 231
--//ZZ    LINXY(__NR_listxattr,         sys_listxattr),      // 232
--//ZZ    LINXY(__NR_llistxattr,        sys_llistxattr),     // 233
--//ZZ    LINXY(__NR_flistxattr,        sys_flistxattr),     // 234
--//ZZ 
--//ZZ    LINX_(__NR_removexattr,       sys_removexattr),    // 235
--//ZZ    LINX_(__NR_lremovexattr,      sys_lremovexattr),   // 236
--//ZZ    LINX_(__NR_fremovexattr,      sys_fremovexattr),   // 237
- //ZZ    LINXY(__NR_tkill,             sys_tkill),          // 238 */Linux
- //ZZ    LINXY(__NR_sendfile64,        sys_sendfile64),     // 239
- //ZZ 
diff --git a/valgrind-3.11.0-aspacemgr.patch b/valgrind-3.11.0-aspacemgr.patch
deleted file mode 100644
index 0688022..0000000
--- a/valgrind-3.11.0-aspacemgr.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-commit b28a423827a1c7917c6f3f3eba23b9432077dfbd
-Author: florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Sat Jan 16 21:44:31 2016 +0000
-
-    In ML_(am_allocate_segname) do not set the reference count of the
-    slot to 1. Rather do that in add_segment which is where the segment
-    refering to that name actually comes into existence.
-    Properly handle the case in add_segment where the to-be-added segment
-    and one (or more) of the segments it replaces have the same name
-    This may occur when doing a mremap.
-    
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15761 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/coregrind/m_aspacemgr/aspacemgr-linux.c b/coregrind/m_aspacemgr/aspacemgr-linux.c
-index 0a8f675..f6c1a41 100644
---- a/coregrind/m_aspacemgr/aspacemgr-linux.c
-+++ b/coregrind/m_aspacemgr/aspacemgr-linux.c
-@@ -1445,6 +1445,15 @@ static void add_segment ( const NSegment* seg )
- 
-    split_nsegments_lo_and_hi( sStart, sEnd, &iLo, &iHi );
- 
-+   /* Increase the reference count of SEG's name. We need to do this
-+      *before* decreasing the reference count of the names of the replaced
-+      segments. Consider the case where the segment name of SEG and one of
-+      the replaced segments are the same. If the refcount of that name is 1,
-+      then decrementing first would put the slot for that name on the free
-+      list. Attempting to increment the refcount later would then fail
-+      because the slot is no longer allocated. */
-+   ML_(am_inc_refcount)(seg->fnIdx);
-+
-    /* Now iLo .. iHi inclusive is the range of segment indices which
-       seg will replace.  If we're replacing more than one segment,
-       slide those above the range down to fill the hole. Before doing
-diff --git a/coregrind/m_aspacemgr/aspacemgr-segnames.c b/coregrind/m_aspacemgr/aspacemgr-segnames.c
-index ef3d3ef..8e74356 100644
---- a/coregrind/m_aspacemgr/aspacemgr-segnames.c
-+++ b/coregrind/m_aspacemgr/aspacemgr-segnames.c
-@@ -309,7 +309,7 @@ ML_(am_allocate_segname)(const HChar *name)
-             freeslot_chain = next_freeslot;
-          else
-             put_slotindex(prev, next_freeslot);
--         put_refcount(ix, 1);
-+         put_refcount(ix, 0);
-          put_slotsize(ix, size);
-          VG_(strcpy)(segnames + ix, name);
-          ++num_segnames;
-@@ -336,7 +336,7 @@ ML_(am_allocate_segname)(const HChar *name)
- 
-    /* copy it in */
-    ix = segnames_used;
--   put_refcount(ix, 1);
-+   put_refcount(ix, 0);
-    put_slotsize(ix, len + 1);
-    VG_(strcpy)(segnames + ix, name);
-    segnames_used += need;
-commit e345eb50c0c5e96ac60b2bc21fbe9f281c20b9e6
-Author: florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Sat Jan 16 21:12:57 2016 +0000
-
-    Remove code that has no effect. Looks like a leftover from early
-    debugging days.
-    
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15760 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/coregrind/m_aspacemgr/aspacemgr-segnames.c b/coregrind/m_aspacemgr/aspacemgr-segnames.c
-index 761608d..ef3d3ef 100644
---- a/coregrind/m_aspacemgr/aspacemgr-segnames.c
-+++ b/coregrind/m_aspacemgr/aspacemgr-segnames.c
-@@ -250,9 +250,7 @@ dec_refcount(UInt ix)
-          UInt size = get_slotsize(ix);
-          /* Chain this slot in the freelist */
-          put_slotindex(ix, freeslot_chain);
--         get_slotindex(ix);
-          put_slotsize(ix + slotsize_size, size);
--         get_slotindex(ix);
-          freeslot_chain = ix;
-          --num_segnames;
-          if (0) VG_(am_show_nsegments)(0, "AFTER DECREASE rc -> 0");
diff --git a/valgrind-3.11.0-cxx-freeres.patch b/valgrind-3.11.0-cxx-freeres.patch
deleted file mode 100644
index 231655e..0000000
--- a/valgrind-3.11.0-cxx-freeres.patch
+++ /dev/null
@@ -1,639 +0,0 @@
-commit b5dde4a2ff59cc87390a33d85c7bf0ad6443cb6c
-Author: iraisr <iraisr@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Wed Mar 30 17:53:03 2016 +0000
-
-    Run __gnu_cxx::__freeres() cleanup function available
-    from libstdc++ when available, similar to existing __libc_freeres().
-    New option --run-cxx-freeres=<yes|no> can be used to change whether
-    this cleanup function is called or not.
-    
-    Note that __gnu_cxx::__freeres() is currently available
-    only in gcc 6. It is not yet decided what to do about
-    libstdc++ from gcc 5.
-    Tracked under https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69945
-    for libstdc++.
-    
-    Fixes BZ#345307 (partially).
-    
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15840 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/coregrind/m_clientstate.c b/coregrind/m_clientstate.c
-index 7cbc7c7..296d658 100644
---- a/coregrind/m_clientstate.c
-+++ b/coregrind/m_clientstate.c
-@@ -106,9 +106,9 @@ HChar* VG_(name_of_launcher) = NULL;
- Int VG_(fd_soft_limit) = -1;
- Int VG_(fd_hard_limit) = -1;
- 
--/* Useful addresses extracted from the client */
--/* Where is the __libc_freeres_wrapper routine we made? */
--Addr VG_(client___libc_freeres_wrapper) = 0;
-+/* Useful addresses extracted from the client. */
-+/* Where is the freeres_wrapper routine we made? */
-+Addr VG_(client_freeres_wrapper) = 0;
- 
- /* x86-linux only: where is glibc's _dl_sysinfo_int80 function?
-    Finding it isn't essential, but knowing where it is does sometimes
-diff --git a/coregrind/m_main.c b/coregrind/m_main.c
-index 54997bd..8cfaf82 100644
---- a/coregrind/m_main.c
-+++ b/coregrind/m_main.c
-@@ -36,6 +36,7 @@
- #include "pub_core_clientstate.h"
- #include "pub_core_aspacemgr.h"
- #include "pub_core_aspacehl.h"
-+#include "pub_core_clreq.h"
- #include "pub_core_commandline.h"
- #include "pub_core_debuglog.h"
- #include "pub_core_errormgr.h"
-@@ -176,6 +177,8 @@ static void usage_NORETURN ( Bool debug_help )
- "    --vgdb-shadow-registers=no|yes   let gdb see the shadow registers [no]\n"
- "    --vgdb-prefix=<prefix>    prefix for vgdb FIFOs [%s]\n"
- "    --run-libc-freeres=no|yes free up glibc memory at exit on Linux? [yes]\n"
-+"    --run-cxx-freeres=no|yes  free up libstdc++ memory at exit on Linux\n"
-+"                              and Solaris? [yes]\n"
- "    --sim-hints=hint1,hint2,...  activate unusual sim behaviours [none] \n"
- "         where hint is one of:\n"
- "           lax-ioctls lax-doors fuse-compatible enable-outer\n"
-@@ -644,6 +647,7 @@ void main_process_cmd_line_options ( /*OUT*/Bool* logging_to_fd,
-       else if VG_BOOL_CLO(arg, "--show-emwarns",   VG_(clo_show_emwarns)) {}
- 
-       else if VG_BOOL_CLO(arg, "--run-libc-freeres", VG_(clo_run_libc_freeres)) {}
-+      else if VG_BOOL_CLO(arg, "--run-cxx-freeres",  VG_(clo_run_cxx_freeres)) {}
-       else if VG_BOOL_CLO(arg, "--show-below-main",  VG_(clo_show_below_main)) {}
-       else if VG_BOOL_CLO(arg, "--time-stamp",       VG_(clo_time_stamp)) {}
-       else if VG_BOOL_CLO(arg, "--track-fds",        VG_(clo_track_fds)) {}
-@@ -2560,8 +2564,8 @@ Int valgrind_main ( Int argc, HChar **argv, HChar **envp )
-    So don't. 
- 
-    The final_tidyup call makes a bit of a nonsense of the ExitProcess
--   case, since it will run the libc_freeres function, thus allowing
--   other lurking threads to run again.  Hmm. */
-+   case, since it will run __gnu_cxx::__freeres and libc_freeres functions,
-+   thus allowing other lurking threads to run again.  Hmm. */
- 
- static 
- void shutdown_actions_NORETURN( ThreadId tid, 
-@@ -2584,8 +2588,8 @@ void shutdown_actions_NORETURN( ThreadId tid,
-       // jrs: Huh?  but they surely are already gone
-       VG_(reap_threads)(tid);
- 
--      // Clean the client up before the final report
--      // this causes the libc_freeres function to run
-+      // Clean the client up before the final report.
-+      // This causes __gnu_cxx::__freeres and libc_freeres functions to run.
-       final_tidyup(tid);
- 
-       /* be paranoid */
-@@ -2600,9 +2604,9 @@ void shutdown_actions_NORETURN( ThreadId tid,
-       // that none of the other threads ever run again.
-       vg_assert( VG_(count_living_threads)() >= 1 );
- 
--      // Clean the client up before the final report
--      // this causes the libc_freeres function to run
--      // perhaps this is unsafe, as per comment above
-+      // Clean the client up before the final report.
-+      // This causes __gnu_cxx::__freeres and libc_freeres functions to run.
-+      // Perhaps this is unsafe, as per comment above.
-       final_tidyup(tid);
- 
-       /* be paranoid */
-@@ -2742,63 +2746,141 @@ void shutdown_actions_NORETURN( ThreadId tid,
- /* -------------------- */
- 
- /* Final clean-up before terminating the process.  
--   Clean up the client by calling __libc_freeres() (if requested) 
--   This is Linux-specific?
--   GrP fixme glibc-specific, anyway
-+   Clean up the client by calling __gnu_cxx::__freeres() (if requested)
-+   and __libc_freeres() (if requested).
- */
- static void final_tidyup(ThreadId tid)
- {
--#if !defined(VGO_darwin)
--   Addr __libc_freeres_wrapper = VG_(client___libc_freeres_wrapper);
-+#if defined(VGO_linux) || defined(VGO_solaris)
-+   Addr freeres_wrapper = VG_(client_freeres_wrapper);
- 
-    vg_assert(VG_(is_running_thread)(tid));
--   
--   if ( !VG_(needs).libc_freeres ||
--        !VG_(clo_run_libc_freeres) ||
--        0 == __libc_freeres_wrapper )
--      return;			/* can't/won't do it */
-+
-+   if (freeres_wrapper == 0) {
-+      return; /* can't do it */
-+   }
-+
-+   Vg_FreeresToRun to_run = 0;
-+   if (VG_(needs).cxx_freeres && VG_(clo_run_cxx_freeres)) {
-+      to_run |= VG_RUN__GNU_CXX__FREERES;
-+   }
-+
-+   if (VG_(needs).libc_freeres && VG_(clo_run_libc_freeres)) {
-+      to_run |= VG_RUN__LIBC_FREERES;
-+   }
-+
-+   if (to_run == 0) {
-+      return; /* won't do it */
-+   }
- 
- #  if defined(VGP_ppc64be_linux)
--   Addr r2 = VG_(get_tocptr)( __libc_freeres_wrapper );
-+   Addr r2 = VG_(get_tocptr)(freeres_wrapper);
-    if (r2 == 0) {
-       VG_(message)(Vg_UserMsg, 
--                   "Caught __NR_exit, but can't run __libc_freeres()\n");
-+                   "Caught __NR_exit, but can't run __gnu_cxx::__freeres()\n");
-       VG_(message)(Vg_UserMsg, 
--                   "   since cannot establish TOC pointer for it.\n");
-+                   "   or __libc_freeres() since cannot establish TOC pointer "
-+                   "for it.\n");
-       return;
-    }
- #  endif
- 
-    if (VG_(clo_verbosity) > 2  ||
-        VG_(clo_trace_syscalls) ||
--       VG_(clo_trace_sched))
--      VG_(message)(Vg_DebugMsg, 
--		   "Caught __NR_exit; running __libc_freeres()\n");
-+       VG_(clo_trace_sched)) {
-+
-+      vg_assert(to_run > 0);
-+      vg_assert(to_run <= (VG_RUN__GNU_CXX__FREERES | VG_RUN__LIBC_FREERES));
-+
-+      const HChar *msgs[] = {"__gnu_cxx::__freeres()", "__libc_freeres()",
-+                             "__gnu_cxx::__freeres and __libc_freeres()"};
-+      VG_(message)(Vg_DebugMsg,
-+                   "Caught __NR_exit; running %s wrapper\n", msgs[to_run - 1]);
-+   }
-       
--   /* set thread context to point to libc_freeres_wrapper */
--   /* ppc64be-linux note: __libc_freeres_wrapper gives us the real
-+   /* set thread context to point to freeres_wrapper */
-+   /* ppc64be-linux note: freeres_wrapper gives us the real
-       function entry point, not a fn descriptor, so can use it
-       directly.  However, we need to set R2 (the toc pointer)
-       appropriately. */
--   VG_(set_IP)(tid, __libc_freeres_wrapper);
-+   VG_(set_IP)(tid, freeres_wrapper);
- #  if defined(VGP_ppc64be_linux)
-    VG_(threads)[tid].arch.vex.guest_GPR2 = r2;
- #  elif  defined(VGP_ppc64le_linux)
-    /* setting GPR2 but not really needed, GPR12 is needed */
--   VG_(threads)[tid].arch.vex.guest_GPR2  = __libc_freeres_wrapper;
--   VG_(threads)[tid].arch.vex.guest_GPR12 = __libc_freeres_wrapper;
-+   VG_(threads)[tid].arch.vex.guest_GPR2  = freeres_wrapper;
-+   VG_(threads)[tid].arch.vex.guest_GPR12 = freeres_wrapper;
- #  endif
-    /* mips-linux note: we need to set t9 */
- #  if defined(VGP_mips32_linux) || defined(VGP_mips64_linux)
--   VG_(threads)[tid].arch.vex.guest_r25 = __libc_freeres_wrapper;
-+   VG_(threads)[tid].arch.vex.guest_r25 = freeres_wrapper;
- #  endif
- 
-+   /* Pass a parameter to freeres_wrapper(). */
-+#  if defined(VGA_x86)
-+   Addr sp = VG_(threads)[tid].arch.vex.guest_ESP;
-+   sp = sp - sizeof(UWord);
-+   *((UWord *) sp) = to_run;
-+   VG_TRACK(post_mem_write, Vg_CoreClientReq, tid, sp, sizeof(UWord));
-+   VG_(threads)[tid].arch.vex.guest_ESP = sp;
-+   VG_TRACK(post_reg_write, Vg_CoreClientReq, tid,
-+            offsetof(VexGuestX86State, guest_ESP),
-+            sizeof(VG_(threads)[tid].arch.vex.guest_ESP));
-+#  elif defined(VGA_amd64)
-+   VG_(threads)[tid].arch.vex.guest_RDI = to_run;
-+   VG_TRACK(post_reg_write, Vg_CoreClientReq, tid,
-+            offsetof(VexGuestAMD64State, guest_RDI),
-+            sizeof(VG_(threads)[tid].arch.vex.guest_RDI));
-+#   elif defined(VGA_arm)
-+   VG_(threads)[tid].arch.vex.guest_R0 = to_run;
-+   VG_TRACK(post_reg_write, Vg_CoreClientReq, tid,
-+            offsetof(VexGuestARMState, guest_R0),
-+            sizeof(VG_(threads)[tid].arch.vex.guest_R0));
-+#  elif defined(VGA_arm64)
-+   VG_(threads)[tid].arch.vex.guest_X0 = to_run;
-+   VG_TRACK(post_reg_write, Vg_CoreClientReq, tid,
-+            offsetof(VexGuestARM64State, guest_X0),
-+            sizeof(VG_(threads)[tid].arch.vex.guest_X0));
-+#  elif defined(VGA_mips32)
-+   VG_(threads)[tid].arch.vex.guest_r4 = to_run;
-+   VG_TRACK(post_reg_write, Vg_CoreClientReq, tid,
-+            offsetof(VexGuestMIPS32State, guest_r4),
-+            sizeof(VG_(threads)[tid].arch.vex.guest_r4));
-+#  elif defined(VGA_mips64)
-+   VG_(threads)[tid].arch.vex.guest_r4 = to_run;
-+   VG_TRACK(post_reg_write, Vg_CoreClientReq, tid,
-+            offsetof(VexGuestMIPS64State, guest_r4),
-+            sizeof(VG_(threads)[tid].arch.vex.guest_r4));
-+#  elif defined(VGA_ppc32)
-+   VG_(threads)[tid].arch.vex.guest_GPR3 = to_run;
-+   VG_TRACK(post_reg_write, Vg_CoreClientReq, tid,
-+            offsetof(VexGuestPPC32State, guest_GPR3),
-+            sizeof(VG_(threads)[tid].arch.vex.guest_GPR3));
-+#  elif defined(VGA_ppc64be) || defined(VGA_ppc64le)
-+   VG_(threads)[tid].arch.vex.guest_GPR3 = to_run;
-+   VG_TRACK(post_reg_write, Vg_CoreClientReq, tid,
-+            offsetof(VexGuestPPC64State, guest_GPR3),
-+            sizeof(VG_(threads)[tid].arch.vex.guest_GPR3));
-+#  elif defined(VGA_s390x)
-+   VG_(threads)[tid].arch.vex.guest_r2 = to_run;
-+   VG_TRACK(post_reg_write, Vg_CoreClientReq, tid,
-+            offsetof(VexGuestS390XState, guest_r2),
-+            sizeof(VG_(threads)[tid].arch.vex.guest_r2));
-+#  elif defined(VGA_tilegx)
-+   VG_(threads)[tid].arch.vex.guest_r0 = to_run;
-+   VG_TRACK(post_reg_write, Vg_CoreClientReq, tid,
-+            offsetof(VexGuestTILEGXState, guest_r0),
-+            sizeof(VG_(threads)[tid].arch.vex.guest_r0));
-+#else
-+   I_die_here : architecture missing in m_main.c
-+#endif
-+
-    /* Block all blockable signals by copying the real block state into
--      the thread's block state*/
-+      the thread's block state */
-    VG_(sigprocmask)(VKI_SIG_BLOCK, NULL, &VG_(threads)[tid].sig_mask);
-    VG_(threads)[tid].tmp_sig_mask = VG_(threads)[tid].sig_mask;
- 
--   /* and restore handlers to default */
-+   /* and restore handlers to default. */
-    VG_(set_default_handler)(VKI_SIGSEGV);
-    VG_(set_default_handler)(VKI_SIGBUS);
-    VG_(set_default_handler)(VKI_SIGILL);
-@@ -2806,11 +2888,11 @@ static void final_tidyup(ThreadId tid)
- 
-    // We were exiting, so assert that...
-    vg_assert(VG_(is_exiting)(tid));
--   // ...but now we're not again
-+   // ...but now we're not again.
-    VG_(threads)[tid].exitreason = VgSrc_None;
- 
--   // run until client thread exits - ideally with LIBC_FREERES_DONE,
--   // but exit/exitgroup/signal will do
-+   // Run until client thread exits - ideally with FREERES_DONE,
-+   // but exit/exitgroup/signal will do.
-    VG_(scheduler)(tid);
- 
-    vg_assert(VG_(is_exiting)(tid));
-diff --git a/coregrind/m_options.c b/coregrind/m_options.c
-index 7e920e0..83d6018 100644
---- a/coregrind/m_options.c
-+++ b/coregrind/m_options.c
-@@ -121,6 +121,7 @@ Bool   VG_(clo_read_inline_info) = False; // Or should be put it to True by defa
- Bool   VG_(clo_read_var_info)  = False;
- XArray *VG_(clo_req_tsyms);  // array of strings
- Bool   VG_(clo_run_libc_freeres) = True;
-+Bool   VG_(clo_run_cxx_freeres) = True;
- Bool   VG_(clo_track_fds)      = False;
- Bool   VG_(clo_show_below_main)= False;
- Bool   VG_(clo_show_emwarns)   = False;
-diff --git a/coregrind/m_redir.c b/coregrind/m_redir.c
-index dae47f1..62cb45a 100644
---- a/coregrind/m_redir.c
-+++ b/coregrind/m_redir.c
-@@ -49,7 +49,7 @@
- #include "pub_core_machine.h"      // VG_(fnptr_to_fnentry)
- #include "pub_core_aspacemgr.h"    // VG_(am_find_nsegment)
- #include "pub_core_xarray.h"
--#include "pub_core_clientstate.h"  // VG_(client___libc_freeres_wrapper)
-+#include "pub_core_clientstate.h"  // VG_(client_freeres_wrapper)
- #include "pub_core_demangle.h"     // VG_(maybe_Z_demangle)
- #include "pub_core_libcproc.h"     // VG_(libdir)
- 
-@@ -1688,7 +1688,7 @@ void handle_maybe_load_notifier( const HChar* soname,
-       return;
- 
-    if (VG_(strcmp)(symbol, VG_STRINGIFY(VG_NOTIFY_ON_LOAD(freeres))) == 0)
--      VG_(client___libc_freeres_wrapper) = addr;
-+      VG_(client_freeres_wrapper) = addr;
-    else
-    if (VG_(strcmp)(symbol, VG_STRINGIFY(VG_NOTIFY_ON_LOAD(ifunc_wrapper))) == 0)
-       iFuncWrapper = addr;
-diff --git a/coregrind/m_scheduler/scheduler.c b/coregrind/m_scheduler/scheduler.c
-index 1234d56..9aa854d 100644
---- a/coregrind/m_scheduler/scheduler.c
-+++ b/coregrind/m_scheduler/scheduler.c
-@@ -1744,12 +1744,13 @@ static Bool os_client_request(ThreadId tid, UWord *args)
-    vg_assert(VG_(is_running_thread)(tid));
- 
-    switch(args[0]) {
--   case VG_USERREQ__LIBC_FREERES_DONE:
-+   case VG_USERREQ__FREERES_DONE:
-       /* This is equivalent to an exit() syscall, but we don't set the
- 	 exitcode (since it might already be set) */
-       if (0 || VG_(clo_trace_syscalls) || VG_(clo_trace_sched))
-          VG_(message)(Vg_DebugMsg, 
--                      "__libc_freeres() done; really quitting!\n");
-+                      "__gnu_cxx::__freeres() and __libc_freeres() wrapper "
-+                      "done; really quitting!\n");
-       VG_(threads)[tid].exitreason = VgSrc_ExitThread;
-       break;
- 
-diff --git a/coregrind/m_tooliface.c b/coregrind/m_tooliface.c
-index 6971a47..38bc7c2 100644
---- a/coregrind/m_tooliface.c
-+++ b/coregrind/m_tooliface.c
-@@ -88,6 +88,7 @@ VgNeeds VG_(needs) = {
-    .core_errors          = False,
-    .tool_errors          = False,
-    .libc_freeres         = False,
-+   .cxx_freeres          = False,
-    .superblock_discards  = False,
-    .command_line_options = False,
-    .client_requests      = False,
-@@ -216,6 +217,7 @@ Bool VG_(sanity_check_needs)(const HChar** failmsg)
- 
- // These ones don't require any tool-supplied functions
- NEEDS(libc_freeres)
-+NEEDS(cxx_freeres)
- NEEDS(core_errors)
- NEEDS(var_info)
- 
-diff --git a/coregrind/pub_core_clientstate.h b/coregrind/pub_core_clientstate.h
-index 215dfb2..ddd1c09 100644
---- a/coregrind/pub_core_clientstate.h
-+++ b/coregrind/pub_core_clientstate.h
-@@ -90,9 +90,9 @@ extern HChar* VG_(name_of_launcher);
- extern Int VG_(fd_soft_limit);
- extern Int VG_(fd_hard_limit);
- 
--/* Useful addresses extracted from the client */
--/* Where is the __libc_freeres_wrapper routine we made? */
--extern Addr VG_(client___libc_freeres_wrapper);
-+/* Useful addresses extracted from the client. */
-+/* Where is the freeres_wrapper routine we made? */
-+extern Addr VG_(client_freeres_wrapper);
- 
- /* x86-linux only: where is ld.so's _dl_sysinfo_int80 function?
-    Finding it isn't essential, but knowing where it is does sometimes
-diff --git a/coregrind/pub_core_clreq.h b/coregrind/pub_core_clreq.h
-index 45c48c3..ce1493c 100644
---- a/coregrind/pub_core_clreq.h
-+++ b/coregrind/pub_core_clreq.h
-@@ -41,8 +41,8 @@
- // used to be many more internal client requests.
- typedef
-    enum { 
--      /* Denote the finish of __libc_freeres_wrapper().  Also causes exit. */
--      VG_USERREQ__LIBC_FREERES_DONE = 0x3029,
-+      /* Denote the finish of freeres_wrapper().  Also causes exit. */
-+      VG_USERREQ__FREERES_DONE = 0x3029,
- 
-       /* Get the tool's malloc-wrapping functions */
-       VG_USERREQ__GET_MALLOCFUNCS   = 0x3030,
-@@ -55,6 +55,18 @@ typedef
- 
-    } Vg_InternalClientRequest;
- 
-+
-+/* Which freeres functions to run in the freeres_wrapper().
-+   It is possible to run both. */
-+typedef enum {
-+   /* Run __gnu_cxx::__freeres(). */
-+   VG_RUN__GNU_CXX__FREERES = 1,
-+
-+   /* Run __libc_freeres(). */
-+   VG_RUN__LIBC_FREERES = 2
-+
-+} Vg_FreeresToRun;
-+
- // Function for printing from code within Valgrind, but which runs on the
- // sim'd CPU.  Must be a function rather than macros so that va_list can
- // be used.
-diff --git a/coregrind/pub_core_options.h b/coregrind/pub_core_options.h
-index 2a45c6b..7a887fc 100644
---- a/coregrind/pub_core_options.h
-+++ b/coregrind/pub_core_options.h
-@@ -281,6 +281,13 @@ extern Bool  VG_(clo_track_fds);
-    cannot be overridden from the command line. */
- extern Bool  VG_(clo_run_libc_freeres);
- 
-+/* Should we run __gnu_cxx::__freeres at exit for C++ programs?
-+   Default: YES.  Note this is subservient to VG_(needs).cxx_freeres;
-+   if the latter says False, then the setting of VG_(clo_run_cxx_freeres)
-+   is ignored.  Ie if a tool says no, I don't want this to run, that
-+   cannot be overridden from the command line. */
-+extern Bool  VG_(clo_run_cxx_freeres);
-+
- /* Should we show VEX emulation warnings?  Default: NO */
- extern Bool VG_(clo_show_emwarns);
- 
-diff --git a/coregrind/pub_core_tooliface.h b/coregrind/pub_core_tooliface.h
-index 41da986..83758a8 100644
---- a/coregrind/pub_core_tooliface.h
-+++ b/coregrind/pub_core_tooliface.h
-@@ -81,6 +81,7 @@ extern VgDetails VG_(details);
- typedef
-    struct {
-       Bool libc_freeres;
-+      Bool cxx_freeres;
-       Bool core_errors;
-       Bool tool_errors;
-       Bool superblock_discards;
-diff --git a/coregrind/vg_preloaded.c b/coregrind/vg_preloaded.c
-index 2ea7a7a..2f53a7d 100644
---- a/coregrind/vg_preloaded.c
-+++ b/coregrind/vg_preloaded.c
-@@ -47,29 +47,47 @@
- #include "pub_core_debuginfo.h"  // Needed for pub_core_redir.h
- #include "pub_core_redir.h"      // For VG_NOTIFY_ON_LOAD
- 
--#if defined(VGO_linux)
-+#if defined(VGO_linux) || defined(VGO_solaris)
- 
- /* ---------------------------------------------------------------------
--   Hook for running __libc_freeres once the program exits.
-+   Hook for running __gnu_cxx::__freeres() and __libc_freeres() once
-+   the program exits.
-    ------------------------------------------------------------------ */
- 
--void VG_NOTIFY_ON_LOAD(freeres)( void );
--void VG_NOTIFY_ON_LOAD(freeres)( void )
-+void VG_NOTIFY_ON_LOAD(freeres)(Vg_FreeresToRun to_run);
-+void VG_NOTIFY_ON_LOAD(freeres)(Vg_FreeresToRun to_run)
- {
- #  if !defined(__UCLIBC__) \
-       && !defined(VGPV_arm_linux_android) \
-       && !defined(VGPV_x86_linux_android) \
-       && !defined(VGPV_mips32_linux_android) \
-       && !defined(VGPV_arm64_linux_android)
-+
-+   /* g++ mangled __gnu_cxx::__freeres yields -> _ZN9__gnu_cxx9__freeresEv */
-+   extern void _ZN9__gnu_cxx9__freeresEv(void) __attribute__((weak));
-+   if (((to_run & VG_RUN__GNU_CXX__FREERES) != 0) &&
-+       (_ZN9__gnu_cxx9__freeresEv != NULL)) {
-+      _ZN9__gnu_cxx9__freeresEv();
-+   }
-+
-+#  if defined(VGO_linux)
-+   /* __libc_freeres() not yet available on Solaris. */
-    extern void __libc_freeres(void);
--   __libc_freeres();
-+   if ((to_run & VG_RUN__LIBC_FREERES) != 0) {
-+      __libc_freeres();
-+   }
- #  endif
--   VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__LIBC_FREERES_DONE, 
--                                   0, 0, 0, 0, 0);
-+#  endif
-+
-+   VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__FREERES_DONE, 0, 0, 0, 0, 0);
-    /*NOTREACHED*/
-    *(volatile int *)0 = 'x';
- }
- 
-+#endif // VGO_linux || VGO_solaris
-+
-+#if defined(VGO_linux)
-+
- /* ---------------------------------------------------------------------
-    Wrapper for indirect functions which need to be redirected.
-    ------------------------------------------------------------------ */
-diff --git a/docs/xml/manual-core.xml b/docs/xml/manual-core.xml
-index 758e2f4..7628836 100644
---- a/docs/xml/manual-core.xml
-+++ b/docs/xml/manual-core.xml
-@@ -1930,6 +1930,37 @@ need to use them.</para>
-     </listitem>
-   </varlistentry>
- 
-+  <varlistentry id="opt.run-cxx-freeres" xreflabel="--run-cxx-freeres">
-+    <term>
-+      <option><![CDATA[--run-cxx-freeres=<yes|no> [default: yes] ]]></option>
-+    </term>
-+    <listitem>
-+      <para>This option is only relevant when running Valgrind on Linux
-+            or Solaris C++ programs.</para>
-+
-+      <para>The GNU Standard C++ library (<function>libstdc++.so</function>),
-+      which is used by all C++ programs compiled with g++, may allocate memory
-+      for its own uses. Usually it doesn't bother to free that memory when
-+      the program ends&mdash;there would be no point, since the kernel reclaims
-+      all process resources when a process exits anyway, so it would
-+      just slow things down.</para>
-+
-+      <para>The gcc authors realised that this behaviour causes leak
-+      checkers, such as Valgrind, to falsely report leaks in libstdc++, when
-+      a leak check is done at exit.  In order to avoid this, they
-+      provided a routine called <function>__gnu_cxx::__freeres</function>
-+      specifically to make libstdc++ release all memory it has allocated.
-+      Memcheck therefore tries to run
-+      <function>__gnu_cxx::__freeres</function> at exit.</para>
-+
-+      <para>For the sake of flexibility and unforeseen problems with
-+      <function>__gnu_cxx::__freeres</function>, option
-+      <option>--run-cxx-freeres=no</option> exists,
-+      although at the cost of possibly falsely reporting space leaks in
-+      <filename>libstdc++.so</filename>.</para>
-+    </listitem>
-+  </varlistentry>
-+
-   <varlistentry id="opt.sim-hints" xreflabel="--sim-hints">
-     <term>
-       <option><![CDATA[--sim-hints=hint1,hint2,... ]]></option>
-diff --git a/exp-dhat/dh_main.c b/exp-dhat/dh_main.c
-index e636ccb..3476cd9 100644
---- a/exp-dhat/dh_main.c
-+++ b/exp-dhat/dh_main.c
-@@ -1358,6 +1358,7 @@ static void dh_pre_clo_init(void)
- //zz
-    // Needs.
-    VG_(needs_libc_freeres)();
-+   VG_(needs_cxx_freeres)();
-    VG_(needs_command_line_options)(dh_process_cmd_line_option,
-                                    dh_print_usage,
-                                    dh_print_debug_usage);
-diff --git a/include/pub_tool_tooliface.h b/include/pub_tool_tooliface.h
-index 8df00b5..f7805e9 100644
---- a/include/pub_tool_tooliface.h
-+++ b/include/pub_tool_tooliface.h
-@@ -263,6 +263,9 @@ extern void VG_(details_bug_reports_to)   ( const HChar* bug_reports_to );
- /* Should __libc_freeres() be run?  Bugs in it can crash the tool. */
- extern void VG_(needs_libc_freeres) ( void );
- 
-+/* Should __gnu_cxx::__freeres() be run?  Bugs in it can crash the tool. */
-+extern void VG_(needs_cxx_freeres) ( void );
-+
- /* Want to have errors detected by Valgrind's core reported?  Includes:
-    - pthread API errors (many;  eg. unlocking a non-locked mutex) 
-      [currently disabled]
-diff --git a/massif/ms_main.c b/massif/ms_main.c
-index 66f9be9..628a37b 100644
---- a/massif/ms_main.c
-+++ b/massif/ms_main.c
-@@ -2569,6 +2569,7 @@ static void ms_pre_clo_init(void)
- 
-    // Needs.
-    VG_(needs_libc_freeres)();
-+   VG_(needs_cxx_freeres)();
-    VG_(needs_command_line_options)(ms_process_cmd_line_option,
-                                    ms_print_usage,
-                                    ms_print_debug_usage);
-diff --git a/memcheck/mc_main.c b/memcheck/mc_main.c
-index 99421f5..5464a06 100644
---- a/memcheck/mc_main.c
-+++ b/memcheck/mc_main.c
-@@ -7745,6 +7745,7 @@ static void mc_pre_clo_init(void)
-                                    MC_(print_extra_suppression_use),
-                                    MC_(update_extra_suppression_use));
-    VG_(needs_libc_freeres)        ();
-+   VG_(needs_cxx_freeres)         ();
-    VG_(needs_command_line_options)(mc_process_cmd_line_options,
-                                    mc_print_usage,
-                                    mc_print_debug_usage);
-diff --git a/none/tests/cmdline1.stdout.exp b/none/tests/cmdline1.stdout.exp
-index cc25a16..0faec69 100644
---- a/none/tests/cmdline1.stdout.exp
-+++ b/none/tests/cmdline1.stdout.exp
-@@ -90,6 +90,8 @@ usage: valgrind [options] prog-and-args
-     --vgdb-shadow-registers=no|yes   let gdb see the shadow registers [no]
-     --vgdb-prefix=<prefix>    prefix for vgdb FIFOs [.../vgdb-pipe]
-     --run-libc-freeres=no|yes free up glibc memory at exit on Linux? [yes]
-+    --run-cxx-freeres=no|yes  free up libstdc++ memory at exit on Linux
-+                              and Solaris? [yes]
-     --sim-hints=hint1,hint2,...  activate unusual sim behaviours [none] 
-          where hint is one of:
-            lax-ioctls lax-doors fuse-compatible enable-outer
-diff --git a/none/tests/cmdline2.stdout.exp b/none/tests/cmdline2.stdout.exp
-index 580fa19..b124f20 100644
---- a/none/tests/cmdline2.stdout.exp
-+++ b/none/tests/cmdline2.stdout.exp
-@@ -90,6 +90,8 @@ usage: valgrind [options] prog-and-args
-     --vgdb-shadow-registers=no|yes   let gdb see the shadow registers [no]
-     --vgdb-prefix=<prefix>    prefix for vgdb FIFOs [.../vgdb-pipe]
-     --run-libc-freeres=no|yes free up glibc memory at exit on Linux? [yes]
-+    --run-cxx-freeres=no|yes  free up libstdc++ memory at exit on Linux
-+                              and Solaris? [yes]
-     --sim-hints=hint1,hint2,...  activate unusual sim behaviours [none] 
-          where hint is one of:
-            lax-ioctls lax-doors fuse-compatible enable-outer
-commit 315cb2823de2e3006ec454b278a9f9e474520f57
-Author: iraisr <iraisr@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Fri Apr 8 21:29:15 2016 +0000
-
-    Follow up to bug 345307.
-    Passing parameter on x86 architecture was wrong in final_tidyup().
-    
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15854 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/coregrind/m_main.c b/coregrind/m_main.c
-index 8cfaf82..80f347e 100644
---- a/coregrind/m_main.c
-+++ b/coregrind/m_main.c
-@@ -2819,9 +2819,9 @@ static void final_tidyup(ThreadId tid)
-    /* Pass a parameter to freeres_wrapper(). */
- #  if defined(VGA_x86)
-    Addr sp = VG_(threads)[tid].arch.vex.guest_ESP;
--   sp = sp - sizeof(UWord);
-    *((UWord *) sp) = to_run;
-    VG_TRACK(post_mem_write, Vg_CoreClientReq, tid, sp, sizeof(UWord));
-+   sp = sp - sizeof(UWord);
-    VG_(threads)[tid].arch.vex.guest_ESP = sp;
-    VG_TRACK(post_reg_write, Vg_CoreClientReq, tid,
-             offsetof(VexGuestX86State, guest_ESP),
diff --git a/valgrind-3.11.0-deduppoolalloc.patch b/valgrind-3.11.0-deduppoolalloc.patch
deleted file mode 100644
index 46b64a0..0000000
--- a/valgrind-3.11.0-deduppoolalloc.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-commit 46809ccf0281e7556e55f50f25ad5c811fad6ba3
-Author: philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Sun Feb 14 22:14:19 2016 +0000
-
-    Fix Bug 359133 - m_deduppoolalloc.c:258 (vgPlain_allocEltDedupPA): Assertion 'eltSzB <= ddpa->poolSzB' failed.
-    
-    When the elt to allocate is bigger than the pool size, allocate
-    a specific pool only for this element.
-    
-    
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15787 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/coregrind/m_deduppoolalloc.c b/coregrind/m_deduppoolalloc.c
-index 92016d8..f7ebd27 100644
---- a/coregrind/m_deduppoolalloc.c
-+++ b/coregrind/m_deduppoolalloc.c
-@@ -255,7 +255,6 @@ const void* VG_(allocEltDedupPA) (DedupPoolAlloc *ddpa, SizeT eltSzB,
-    ht_node *ht_ins;
-    vg_assert(ddpa);
-    vg_assert(ddpa->ht_elements);
--   vg_assert (eltSzB <= ddpa->poolSzB);
- 
-    ddpa->nr_alloc_calls++;
- 
-@@ -272,15 +271,24 @@ const void* VG_(allocEltDedupPA) (DedupPoolAlloc *ddpa, SizeT eltSzB,
-       and insert it in the hash table of inserted elements. */
- 
-    // Add a new pool or grow pool if not enough space in the current pool
--   if (UNLIKELY(ddpa->curpool_free == NULL
--                || ddpa->curpool_free + eltSzB - 1 > ddpa->curpool_limit)) {
--      ddpa_add_new_pool_or_grow (ddpa);
-+   if (eltSzB + ddpa->eltAlign > ddpa->poolSzB) {
-+      // Element (+eltAlign for worst case) bigger than the pool size
-+      // => allocate a specific pool just for this element
-+      UChar *newpool = ddpa->alloc_fn (ddpa->cc, eltSzB + ddpa->eltAlign);
-+      /* add to our collection of pools */
-+      VG_(addToXA)( ddpa->pools, &newpool );
-+      elt_ins = ddpa_align (ddpa, newpool);
-+   } else {
-+      if (UNLIKELY(ddpa->curpool_free == NULL
-+                   || ddpa->curpool_free + eltSzB - 1 > ddpa->curpool_limit)) {
-+         ddpa_add_new_pool_or_grow (ddpa);
-+      }
-+      elt_ins = ddpa->curpool_free;
-+      ddpa->curpool_free = ddpa_align(ddpa, ddpa->curpool_free + eltSzB);
-    }
- 
--   elt_ins = ddpa->curpool_free;
--   VG_(memcpy)(elt_ins, elt, eltSzB);
--   ddpa->curpool_free = ddpa_align(ddpa, ddpa->curpool_free + eltSzB);
- 
-+   VG_(memcpy)(elt_ins, elt, eltSzB);
-    ht_ins = VG_(allocEltPA) (ddpa->ht_node_pa);
-    ht_ins->key = ht_elt.key;
-    ht_ins->eltSzB = eltSzB;
diff --git a/valgrind-3.11.0-drd_std_thread.patch b/valgrind-3.11.0-drd_std_thread.patch
deleted file mode 100644
index a103265..0000000
--- a/valgrind-3.11.0-drd_std_thread.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-commit ef3ac601dfcd45b2e27bd09b84e85607ebd5183f
-Author: bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Mon Jan 25 04:27:25 2016 +0000
-
-    configure.ac: Port to gcc 5
-    
-    Apparently gcc 5 behaves as follows:
-    $ gcc -dumpversion
-    5
-    
-    
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15773 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/configure.ac b/configure.ac
-index e93c882..d621dca 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -160,7 +160,7 @@ case "${is_clang}-${gcc_version}" in
-      icc-1[[3-9]].*)
- 	AC_MSG_RESULT([ok (ICC version ${gcc_version})])
- 	;;
--     notclang-[[3-9]].*|notclang-[[1-9][0-9]]*)
-+     notclang-[[3-9]]|notclang-[[3-9]].*|notclang-[[1-9][0-9]]*)
- 	AC_MSG_RESULT([ok (${gcc_version})])
- 	;;
-      clang-2.9|clang-[[3-9]].*|clang-[[1-9][0-9]]*)
-diff --git a/drd/tests/std_thread.cpp b/drd/tests/std_thread.cpp
-index 9275c3a..6af7455 100644
---- a/drd/tests/std_thread.cpp
-+++ b/drd/tests/std_thread.cpp
-@@ -21,6 +21,7 @@ int main(int argc, char** argv)
-   return 0;
- }
- 
-+#if defined(__GNUC__) && __GNUC__ -0 < 6
- //
- // From libstdc++-v3/src/c++11/thread.cc
- //
-@@ -65,3 +66,4 @@ namespace std
-     }
-   }
- }
-+#endif
-diff --git a/drd/tests/std_thread2.cpp b/drd/tests/std_thread2.cpp
-index 9861c61..7de4f9d 100644
---- a/drd/tests/std_thread2.cpp
-+++ b/drd/tests/std_thread2.cpp
-@@ -26,6 +26,7 @@ int main(int argc, char** argv)
-   return 0;
- }
- 
-+#if defined(__GNUC__) && __GNUC__ -0 < 6
- //
- // From libstdc++-v3/src/c++11/thread.cc
- //
-@@ -70,3 +71,4 @@ namespace std
-     }
-   }
- }
-+#endif
---- valgrind-3.11.0.orig/configure	2016-01-25 21:16:13.019563625 +0100
-+++ valgrind-3.11.0/configure	2016-01-25 21:17:31.120337140 +0100
-@@ -5453,7 +5453,7 @@
- 	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ok (ICC version ${gcc_version})" >&5
- $as_echo "ok (ICC version ${gcc_version})" >&6; }
- 	;;
--     notclang-[3-9].*|notclang-[1-9][0-9]*)
-+     notclang-[3-9]|notclang-[3-9].*|notclang-[1-9][0-9]*)
- 	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ok (${gcc_version})" >&5
- $as_echo "ok (${gcc_version})" >&6; }
- 	;;
diff --git a/valgrind-3.11.0-fclose.patch b/valgrind-3.11.0-fclose.patch
deleted file mode 100644
index d79fa93..0000000
--- a/valgrind-3.11.0-fclose.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-commit 8c8306308e05e92de228de57e832c85fb976124b
-Author: florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Tue Jan 12 14:32:05 2016 +0000
-
-    VG_(fclose) ought to close the file, you silly. Fixes BZ #357887.
-    
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15755 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/coregrind/m_libcprint.c b/coregrind/m_libcprint.c
-index 1283de5..ce2c038 100644
---- a/coregrind/m_libcprint.c
-+++ b/coregrind/m_libcprint.c
-@@ -359,6 +359,7 @@ void VG_(fclose)( VgFile *fp )
-    if (fp->num_chars)
-       VG_(write)(fp->fd, fp->buf, fp->num_chars);
- 
-+   VG_(close)(fp->fd);
-    VG_(free)(fp);
- }
- 
diff --git a/valgrind-3.11.0-futex.patch b/valgrind-3.11.0-futex.patch
deleted file mode 100644
index 50b4e9b..0000000
--- a/valgrind-3.11.0-futex.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-commit 9a447c6472947bce97e8b90b7f3f97bd7cd9f3ed
-Author: mjw <mjw@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Wed Feb 17 20:53:34 2016 +0000
-
-    Bug 359201 futex syscall skips argument 5 if op is FUTEX_WAIT_BITSET
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15793 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-commit f71fd226f26ab49a615d7886ff2aeadc9915c7c1
-Author: mjw <mjw@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Thu Feb 18 11:14:47 2016 +0000
-
-    Bug 359201 followup. futex skips argument 5 if op is FUTEX_WAIT_BITSET.
-    
-    The original fix in svn r15793 read argument 6 separately by using PRA6
-    unconditionally. This is wrong. We need to first check whether a
-    track_pre_reg_read callback is registered (only memcheck does).
-    The PRE_REG_READX macro already had this check. Just add the same
-    before calling PRA6. Thanks to Tom Hughes for noticing. Without this
-    helgrind/tests/cond_timedwait_test and drd/tests/pth_inconsistent_cond_wait
-    regtests would fail.
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15795 a5019735-40e9-0310-8
-
-diff --git a/coregrind/m_syswrap/syswrap-linux.c b/coregrind/m_syswrap/syswrap-linux.c
-index f796969..f2d1076 100644
---- a/coregrind/m_syswrap/syswrap-linux.c
-+++ b/coregrind/m_syswrap/syswrap-linux.c
-@@ -1154,13 +1154,17 @@ PRE(sys_futex)
-             return;
-       }
-       if (*(vki_u32 *)ARG1 != ARG3) {
--         PRE_REG_READ5(long, "futex",
-+         PRE_REG_READ4(long, "futex",
-                        vki_u32 *, futex, int, op, int, val,
--                       struct timespec *, utime, int, dummy);
-+                       struct timespec *, utime);
-       } else {
--         PRE_REG_READ6(long, "futex",
-+        /* Note argument 5 is unused, but argument 6 is used.
-+           So we cannot just PRE_REG_READ6. Read argument 6 separately.  */
-+         PRE_REG_READ4(long, "futex",
-                        vki_u32 *, futex, int, op, int, val,
--                       struct timespec *, utime, int, dummy, int, val3);
-+                       struct timespec *, utime);
-+         if (VG_(tdict).track_pre_reg_read)
-+            PRA6("futex",int,val3);
-       }
-       break;
-    case VKI_FUTEX_WAKE_BITSET:
diff --git a/valgrind-3.11.0-gdb-test-filters.patch b/valgrind-3.11.0-gdb-test-filters.patch
deleted file mode 100644
index 739c58c..0000000
--- a/valgrind-3.11.0-gdb-test-filters.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-commit c4ada110b0de0a56ec41ca0babc4effce4a4fc04
-Author: mjw <mjw@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Sun Apr 3 15:24:20 2016 +0000
-
-    Update gdbserver_tests filter for newer GDB version.
-    
-    - Newer gdb say Thread .... hit Breakpoint, we expect just Breakpoint.
-    - We expect "Program received" instead of "Thread .... received"
-    - Ordering of '  Thread .... (tid .' might differ between gdb version,
-      so remove all such lines except the "current" one (starts with '*').
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15844 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/gdbserver_tests/filter_gdb b/gdbserver_tests/filter_gdb
-index df9479f..7177720 100755
---- a/gdbserver_tests/filter_gdb
-+++ b/gdbserver_tests/filter_gdb
-@@ -62,6 +62,10 @@ sed -e '/^\ \ \ \ \.\.\.$/d'                                        |
- #	gdb might also try to show the "entry value" p=p@entry=0x...
- #	Some gdb versions don't show the source line:number after switching
- #		threads in #0  0x........ in do_burn ().
-+#	Newer gdb say Thread .... hit Breakpoint, we expect just Breakpoint.
-+#	We expect "Program received" instead of "Thread .... received"
-+#	Ordering of '  Thread .... (tid .' might differ between gdb version,
-+#	so remove all such lines except the "current" one (starts with '*').
- sed -e '/Remote debugging using/,/vgdb launched process attached/d'                                   \
-     -e '/filter_gdb BEGIN drop/,/filter_gdb END drop/d'                                               \
-     -e 's/^\[?1034hReading symbols/Reading symbols/'                                                \
-@@ -74,6 +78,8 @@ sed -e '/Remote debugging using/,/vgdb launched process attached/d'
-     -e '/\[Switching to Thread ....\]/d'                                                              \
-     -e 's/\(\[Switching to thread [1234] (Thread ....)\]\)#0/\1\n#0/'                                 \
-     -e 's/^\([ \* ] [0-9] Thread .... (tid [0-9] VgTs_WaitSys)  0x........ in\).*$/\1 syscall .../'   \
-+    -e 's/^Thread .... hit Breakpoint /Breakpoint /'                                                  \
-+    -e 's/^Thread .... received /Program received /'                                                  \
-     -e 's/#[0-9]\(  0x........ in sleeper_or_burner\)/#.\1/'                                          \
-     -e 's/\(#0  0x........ in do_burn ()\) at sleepers.c:41/\1/'                                      \
-     -e '/^Reading symbols from .*\.\.\.done\./d'                                                      \
-@@ -115,6 +121,7 @@ sed -e '/Remote debugging using/,/vgdb launched process attached/d'
-     -e 's/\(^Breakpoint 1, tls_ptr (p=0x........\) <tests[0-9+]*>\() at tls.c:55\)/\1\2/'         \
-     -e '/Id   Target Id         Frame/d'                                                              \
-     -e 's/^\([ \*] [1234] \) *Thread /\1Thread /'                                                     \
-+    -e 's/^  [0-9] Thread .... (tid [0-9] .*$//'                                                      \
-     -e 's/VgTs_WaitSys) 0x/VgTs_WaitSys)  0x/'                                                        \
-     -e '/Cannot access memory at address 0x......../d'                                                \
-     -e '/\[New Thread/d'                                                                              \
-diff --git a/gdbserver_tests/nlcontrolc.stdoutB.exp b/gdbserver_tests/nlcontrolc.stdoutB.exp
-index a1013ce..e334fd0 100644
---- a/gdbserver_tests/nlcontrolc.stdoutB.exp
-+++ b/gdbserver_tests/nlcontrolc.stdoutB.exp
-@@ -1,9 +1,6 @@
- Continuing.
- Program received signal SIGTRAP, Trace/breakpoint trap.
- 0x........ in syscall ...
--  4 Thread .... (tid 4 VgTs_WaitSys)  0x........ in syscall ...
--  3 Thread .... (tid 3 VgTs_WaitSys)  0x........ in syscall ...
--  2 Thread .... (tid 2 VgTs_WaitSys)  0x........ in syscall ...
- * 1 Thread .... (tid 1 VgTs_WaitSys)  0x........ in syscall ...
- $1 = 0
- $2 = 0
diff --git a/valgrind-3.11.0-isZeroU.patch b/valgrind-3.11.0-isZeroU.patch
deleted file mode 100644
index a58998f..0000000
--- a/valgrind-3.11.0-isZeroU.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-commit 770707cd209a94b9fe19273b68ddb1cb84191399
-Author: sewardj <sewardj@8f6e269a-dfd6-0310-a8e1-e2731360e62c>
-Date:   Mon Mar 21 19:29:20 2016 +0000
-
-    Make isZeroU handle the V256 case.  Fixes #356393.
-    
-    
-    git-svn-id: svn://svn.valgrind.org/vex/trunk@3213 8f6e269a-dfd6-0310-a8e1-e2731360e62c
-
-diff --git a/VEX/priv/ir_opt.c b/VEX/priv/ir_opt.c
-index 7a7246a..4266823 100644
---- a/VEX/priv/ir_opt.c
-+++ b/VEX/priv/ir_opt.c
-@@ -1223,6 +1223,7 @@ static Bool isZeroU ( IRExpr* e )
-       case Ico_U16:   return toBool( e->Iex.Const.con->Ico.U16 == 0);
-       case Ico_U32:   return toBool( e->Iex.Const.con->Ico.U32 == 0);
-       case Ico_U64:   return toBool( e->Iex.Const.con->Ico.U64 == 0);
-+      case Ico_V256:  return toBool( e->Iex.Const.con->Ico.V256 == 0x00000000);
-       default: vpanic("isZeroU");
-    }
- }
diff --git a/valgrind-3.11.0-is_stmt.patch b/valgrind-3.11.0-is_stmt.patch
deleted file mode 100644
index 35530d8..0000000
--- a/valgrind-3.11.0-is_stmt.patch
+++ /dev/null
@@ -1,254 +0,0 @@
-commit 434c7524413a8a47ae40e4b141f5821eabc506b7
-Author: iraisr <iraisr@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Fri Dec 4 13:14:10 2015 +0000
-
-    Dwarf line info reader now correctly interprets 'is_stmt' register
-    
-    Line numbers should correctly reflect all instructions belonging to a source line,
-    regardless of is_stmt value. Previously only instructions covered by
-    'is_stmt = 1' were attributed to a source line.
-    
-    Fixes BZ#356044
-    
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15741 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/coregrind/m_debuginfo/readdwarf.c b/coregrind/m_debuginfo/readdwarf.c
-index 88d49e9..a95bb3d 100644
---- a/coregrind/m_debuginfo/readdwarf.c
-+++ b/coregrind/m_debuginfo/readdwarf.c
-@@ -91,7 +91,6 @@ typedef struct
-   ULong  li_header_length;
-   UChar  li_min_insn_length;
-   UChar  li_max_ops_per_insn;
--  UChar  li_default_is_stmt;
-   Int    li_line_base;
-   UChar  li_line_range;
-   UChar  li_opcode_base;
-@@ -150,7 +149,6 @@ typedef struct
-   UInt  file;
-   UInt  line;
-   UInt  column;
--  Int   is_stmt;
-   Int   basic_block;
-   UChar end_sequence;
- } LineSMR;
-@@ -230,7 +228,7 @@ ULong read_initial_length_field ( DiCursor p_img, /*OUT*/Bool* is64 )
- static LineSMR state_machine_regs;
- 
- static 
--void reset_state_machine ( Int is_stmt )
-+void reset_state_machine ( void )
- {
-    if (0) VG_(printf)("smr.a := %p (reset)\n", NULL );
-    state_machine_regs.last_address = 0;
-@@ -240,7 +238,6 @@ void reset_state_machine ( Int is_stmt )
-    state_machine_regs.file = 1;
-    state_machine_regs.line = 1;
-    state_machine_regs.column = 0;
--   state_machine_regs.is_stmt = is_stmt;
-    state_machine_regs.basic_block = 0;
-    state_machine_regs.end_sequence = 0;
- }
-@@ -253,7 +250,7 @@ void reset_state_machine ( Int is_stmt )
- static 
- void process_extended_line_op( struct _DebugInfo* di,
-                                XArray* fndn_ix_xa,
--                               DiCursor* data, Int is_stmt)
-+                               DiCursor* data )
- {
-    UInt len = step_leb128U(data);
-    if (len == 0) {
-@@ -275,19 +272,17 @@ void process_extended_line_op( struct _DebugInfo* di,
-             reset_state_machine below */
-          state_machine_regs.end_sequence = 1; 
- 
--         if (state_machine_regs.is_stmt) {
--            if (state_machine_regs.last_address) {
--               ML_(addLineInfo) (
--                  di,
--                  safe_fndn_ix (fndn_ix_xa,
--                                state_machine_regs.last_file),
--                  di->text_debug_bias + state_machine_regs.last_address, 
--                  di->text_debug_bias + state_machine_regs.address, 
--                  state_machine_regs.last_line, 0
--               );
--            }
-+         if (state_machine_regs.last_address) {
-+            ML_(addLineInfo)(
-+               di,
-+               safe_fndn_ix(fndn_ix_xa,
-+                            state_machine_regs.last_file),
-+               di->text_debug_bias + state_machine_regs.last_address, 
-+               di->text_debug_bias + state_machine_regs.address, 
-+               state_machine_regs.last_line, 0
-+            );
-          }
--         reset_state_machine (is_stmt);
-+         reset_state_machine();
-          if (di->ddump_line)
-             VG_(printf)("  Extended opcode %d: End of Sequence\n\n", 
-                         (Int)op_code);
-@@ -446,29 +441,9 @@ void read_dwarf2_lineblock ( struct _DebugInfo* di,
-       info.li_max_ops_per_insn = 1;
-    }
- 
--   info.li_default_is_stmt = ML_(cur_step_UChar)(&external);
--   if (di->ddump_line)
--      VG_(printf)("  Initial value of 'is_stmt':  %d\n", 
--                  (Int)info.li_default_is_stmt);
--
--   /* Josef Weidendorfer (20021021) writes:
--
--      It seems to me that the Intel Fortran compiler generates bad
--      DWARF2 line info code: It sets "is_stmt" of the state machine in
--      the line info reader to be always false. Thus, there is never
--      a statement boundary generated and therefore never an instruction
--      range/line number mapping generated for valgrind.
--
--      Please have a look at the DWARF2 specification, Ch. 6.2
--      (x86.ddj.com/ftp/manuals/tools/dwarf.pdf).  Perhaps I understand
--      this wrong, but I don't think so.
--
--      I just had a look at the GDB DWARF2 reader...  They completely
--      ignore "is_stmt" when recording line info ;-) That's the reason
--      "objdump -S" works on files from the intel fortran compiler.
--
--      Therefore: */
--   info.li_default_is_stmt = True; 
-+   /* Register is_stmt is not tracked as we are interested only
-+      in pc -> line info mapping and not other debugger features. */
-+   /* default_is_stmt = */ ML_(cur_step_UChar)(&external);
- 
-    /* JRS: changed (UInt*) to (UChar*) */
-    info.li_line_base = ML_(cur_step_UChar)(&external);
-@@ -495,7 +470,7 @@ void read_dwarf2_lineblock ( struct _DebugInfo* di,
-    DiCursor end_of_sequence
-      = ML_(cur_plus)(data, info.li_length + (is64 ? 12 : 4));
- 
--   reset_state_machine (info.li_default_is_stmt);
-+   reset_state_machine();
- 
-    /* Read the contents of the Opcodes table.  */
-    DiCursor standard_opcodes = external;
-@@ -632,55 +607,49 @@ void read_dwarf2_lineblock ( struct _DebugInfo* di,
-                         (Int)op_code, advAddr, state_machine_regs.address,
-                         (Int)adv, (Int)state_machine_regs.line );
- 
--         if (state_machine_regs.is_stmt) {
--            /* only add a statement if there was a previous boundary */
--            if (state_machine_regs.last_address) {
--               ML_(addLineInfo)(
--                  di,
--                  safe_fndn_ix (fndn_ix_xa,
--                                state_machine_regs.last_file),
--                  di->text_debug_bias + state_machine_regs.last_address, 
--                  di->text_debug_bias + state_machine_regs.address, 
--                  state_machine_regs.last_line, 
--                  0
--               );
--            }
--            state_machine_regs.last_address = state_machine_regs.address;
--            state_machine_regs.last_file = state_machine_regs.file;
--            state_machine_regs.last_line = state_machine_regs.line;
-+         /* only add a statement if there was a previous boundary */
-+         if (state_machine_regs.last_address) {
-+            ML_(addLineInfo)(
-+               di,
-+               safe_fndn_ix(fndn_ix_xa,
-+                            state_machine_regs.last_file),
-+               di->text_debug_bias + state_machine_regs.last_address, 
-+               di->text_debug_bias + state_machine_regs.address, 
-+               state_machine_regs.last_line, 
-+               0
-+            );
-          }
-+         state_machine_regs.last_address = state_machine_regs.address;
-+         state_machine_regs.last_file = state_machine_regs.file;
-+         state_machine_regs.last_line = state_machine_regs.line;
-       }
- 
-       else { /* ! (op_code >= info.li_opcode_base) */
- 
-       switch (op_code) {
-          case DW_LNS_extended_op:
--            process_extended_line_op (
--                       di, fndn_ix_xa,
--                       &data, info.li_default_is_stmt);
-+            process_extended_line_op(di, fndn_ix_xa, &data);
-             break;
- 
-          case DW_LNS_copy:
-             if (0) VG_(printf)("1002: di->o %#lx, smr.a %#lx\n",
-                                (UWord)di->text_debug_bias,
-                                state_machine_regs.address );
--            if (state_machine_regs.is_stmt) {
--               /* only add a statement if there was a previous boundary */
--               if (state_machine_regs.last_address) {
--                  ML_(addLineInfo)(
--                     di,
--                     safe_fndn_ix (fndn_ix_xa,
--                                   state_machine_regs.last_file), 
--                     di->text_debug_bias + state_machine_regs.last_address, 
--                     di->text_debug_bias + state_machine_regs.address,
--                     state_machine_regs.last_line, 
--                     0
--                  );
--               }
--               state_machine_regs.last_address = state_machine_regs.address;
--               state_machine_regs.last_file = state_machine_regs.file;
--               state_machine_regs.last_line = state_machine_regs.line;
-+            /* only add a statement if there was a previous boundary */
-+            if (state_machine_regs.last_address) {
-+               ML_(addLineInfo)(
-+                  di,
-+                  safe_fndn_ix(fndn_ix_xa,
-+                               state_machine_regs.last_file), 
-+                  di->text_debug_bias + state_machine_regs.last_address, 
-+                  di->text_debug_bias + state_machine_regs.address,
-+                  state_machine_regs.last_line, 
-+                  0
-+               );
-             }
-+            state_machine_regs.last_address = state_machine_regs.address;
-+            state_machine_regs.last_file = state_machine_regs.file;
-+            state_machine_regs.last_line = state_machine_regs.line;
-             state_machine_regs.basic_block = 0; /* JRS added */
-             if (di->ddump_line)
-                VG_(printf)("  Copy\n");
-@@ -719,9 +688,6 @@ void read_dwarf2_lineblock ( struct _DebugInfo* di,
-             break;
-          }
-          case DW_LNS_negate_stmt: {
--            Int adv = state_machine_regs.is_stmt;
--            adv = ! adv;
--            state_machine_regs.is_stmt = adv;
-             if (di->ddump_line)
-                VG_(printf)("  DWARF2-line: negate_stmt\n");
-             break;
-diff --git a/coregrind/m_debuginfo/storage.c b/coregrind/m_debuginfo/storage.c
-index 7b2e26a..e6a9856 100644
---- a/coregrind/m_debuginfo/storage.c
-+++ b/coregrind/m_debuginfo/storage.c
-@@ -419,6 +419,21 @@ static void addLoc ( struct _DebugInfo* di, DiLoc* loc, UInt fndn_ix )
-    /* Zero-sized locs should have been ignored earlier */
-    vg_assert(loc->size > 0);
- 
-+   /* Check if the last entry has adjacent range for the same line. */
-+   if (di->loctab_used > 0) {
-+      DiLoc *previous = &di->loctab[di->loctab_used - 1];
-+      if ((previous->lineno == loc->lineno)
-+          && (previous->addr + previous->size == loc->addr)) {
-+         if (0)
-+            VG_(printf)("Merging previous: addr %#lx, size %d, line %d, "
-+                        "with current: addr %#lx, size %d, line %d.\n",
-+                        previous->addr, previous->size, previous->lineno,
-+                        loc->addr, loc->size, loc->lineno);
-+         previous->size += loc->size;
-+         return;
-+      }
-+   }
-+
-    if (di->loctab_used == di->loctab_size) {
-       UInt   new_sz;
-       DiLoc* new_loctab;
diff --git a/valgrind-3.11.0-libstdc++-supp.patch b/valgrind-3.11.0-libstdc++-supp.patch
deleted file mode 100644
index 2464431..0000000
--- a/valgrind-3.11.0-libstdc++-supp.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-commit 578a0ec2872203dd4a741f7a445056c80320e2c8
-Author: Mark Wielaard <mjw@redhat.com>
-Date:   Thu Mar 10 21:36:00 2016 +0100
-
-    Add libstdc++.supp for still reachable leaks from global memory cache.
-    
-    Contributed by Björn "besser82" Esser <fedora@besser82.io>.
-
-diff --git a/configure.ac b/configure.ac
-index 888a308..01012e1 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1060,6 +1060,9 @@ if test "$VGCONF_OS" != "solaris"; then
-     DEFAULT_SUPP="exp-sgcheck.supp ${DEFAULT_SUPP}"
- fi
- 
-+# Suppression file for libstdc++ until we solve KDE#345307
-+DEFAULT_SUPP="libstdc++.supp ${DEFAULT_SUPP}"
-+
- 
- #----------------------------------------------------------------------------
- # Platform variants?
-diff --git a/libstdc++.supp b/libstdc++.supp
-new file mode 100644
-index 0000000..f04f90d
---- /dev/null
-+++ b/libstdc++.supp
-@@ -0,0 +1,68 @@
-+
-+# Some programs are using the C++ STL and string classes.
-+# Valgrind reports 'still reachable' memory leaks involving these classes
-+# at the exit of the program, but there should be none.
-+#
-+# Many implementations of the C++ standard libraries use their own memory
-+# pool allocators.  Memory for quite a number of destructed objects is not
-+# immediately freed and given back to the OS, but kept in the pool(s) for
-+# later re-use.  The fact that the pools are not freed at the exit of the
-+# program cause Valgrind to report this memory as still reachable.
-+#
-+# The behavior not to free pools at the exit could be called a bug of the
-+# library though.
-+#
-+# Using GCC, you can force the STL to use malloc and to free memory as soon
-+# as possible by globally disabling memory caching.  Beware! Doing so will
-+# probably slow down your program, sometimes drastically.
-+#
-+# There are other ways to disable memory pooling: using the malloc_alloc
-+# template with your objects (not portable, but should work for GCC) or
-+# even writing your own memory allocators.   But beware: allocators belong
-+# to the more messy parts of the STL and people went to great lengths to
-+# make the STL portable across platforms.  Chances are good that your
-+# solution will work on your platform, but not on others.
-+#
-+# 72,704 bytes in 1 blocks are still reachable in loss record 1 of 1
-+#       at 0x4C28D06: malloc (vg_replace_malloc.c:299)
-+#       by 0x50C317F: ??? (in /usr/lib64/libstdc++.so.6.0.21)
-+#       by 0x400F759: call_init.part.0 (dl-init.c:72)
-+#       by 0x400F86A: call_init (dl-init.c:30)
-+#       by 0x400F86A: _dl_init (dl-init.c:120)
-+#       by 0x4000CB9: ??? (in /usr/lib64/ld-2.22.so)
-+#
-+# HEAP SUMMARY:
-+#     in use at exit: 72,704 bytes in 1 blocks
-+#   total heap usage: 4 allocs, 3 frees, 72,864 bytes allocated
-+#
-+# LEAK SUMMARY:
-+#    definitely lost: 0 bytes in 0 blocks
-+#    indirectly lost: 0 bytes in 0 blocks
-+#      possibly lost: 0 bytes in 0 blocks
-+#    still reachable: 72,704 bytes in 1 blocks
-+#         suppressed: 0 bytes in 0 blocks
-+
-+{
-+   malloc-leaks-cxx-stl-string-classes
-+   Memcheck:Leak
-+   match-leak-kinds: reachable
-+   fun:malloc
-+   obj:*/*lib*/libstdc++.so*
-+   fun:call_init.part.0
-+   fun:call_init
-+   fun:_dl_init
-+   obj:/usr/*lib*/ld-2.*.so
-+}
-+{
-+  malloc-leaks-cxx-stl-string-classes-debug
-+  Memcheck:Leak
-+  match-leak-kinds: reachable
-+  fun:malloc
-+  fun:pool
-+  fun:__static_initialization_and_destruction_0
-+  fun:_GLOBAL__sub_I_eh_alloc.cc
-+  fun:call_init.part.0
-+  fun:call_init
-+  fun:_dl_init
-+  obj:/usr/*lib*/ld-2.*.so
-+}
-diff -ru valgrind-3.11.0.orig/configure valgrind-3.11.0/configure
---- valgrind-3.11.0.orig/configure	2016-03-10 22:08:46.236519482 +0100
-+++ valgrind-3.11.0/configure	2016-03-10 22:09:01.550443864 +0100
-@@ -7073,6 +7073,9 @@
-     DEFAULT_SUPP="exp-sgcheck.supp ${DEFAULT_SUPP}"
- fi
- 
-+# Suppression file for libstdc++ until we solve KDE#345307
-+DEFAULT_SUPP="libstdc++.supp ${DEFAULT_SUPP}"
-+
- 
- #----------------------------------------------------------------------------
- # Platform variants?
diff --git a/valgrind-3.11.0-no-rdrand.patch b/valgrind-3.11.0-no-rdrand.patch
deleted file mode 100644
index cb4a49c..0000000
--- a/valgrind-3.11.0-no-rdrand.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-commit 1ab61656f71e94ce12b68de87f1e28cf3dc0c18c
-Author: mjw <mjw@8f6e269a-dfd6-0310-a8e1-e2731360e62c>
-Date:   Thu Oct 1 12:31:19 2015 +0000
-
-    Don't advertise RDRAND in cpuid for Core-i7-4910-like avx2 machine.
-    
-    Bug#353370. In amd64g_dirtyhelper_CPUID_avx2 we set the RDRAND bit
-    but we don't implement support for RDRAND. Turn the bit off so programs
-    don't try to use RDRAND when running under valgrind.
-    
-    git-svn-id: svn://svn.valgrind.org/vex/trunk@3197 8f6e269a-dfd6-0310-a8e1-e2731360e62c
-
-diff --git a/VEX/priv/guest_amd64_helpers.c b/VEX/priv/guest_amd64_helpers.c
-index e77d753..ab53e15 100644
---- a/VEX/priv/guest_amd64_helpers.c
-+++ b/VEX/priv/guest_amd64_helpers.c
-@@ -3101,7 +3101,8 @@ void amd64g_dirtyhelper_CPUID_avx2 ( VexGuestAMD64State* st )
-          SET_ABCD(0x0000000d, 0x756e6547, 0x6c65746e, 0x49656e69);
-          break;
-       case 0x00000001:
--         SET_ABCD(0x000306c3, 0x02100800, 0x7ffafbff, 0xbfebfbff);
-+         /* Don't advertise RDRAND support, bit 30 in ECX.  */
-+         SET_ABCD(0x000306c3, 0x02100800, 0x3ffafbff, 0xbfebfbff);
-          break;
-       case 0x00000002:
-          SET_ABCD(0x76036301, 0x00f0b6ff, 0x00000000, 0x00c10000);
diff --git a/valgrind-3.11.0-pcmpxstrx-0x70-0x19.patch b/valgrind-3.11.0-pcmpxstrx-0x70-0x19.patch
deleted file mode 100644
index 1b32b66..0000000
--- a/valgrind-3.11.0-pcmpxstrx-0x70-0x19.patch
+++ /dev/null
@@ -1,350 +0,0 @@
-commit b4ead6dd41c3234b491c803fe513580363f38998
-Author: sewardj <sewardj@8f6e269a-dfd6-0310-a8e1-e2731360e62c>
-Date:   Wed Jul 20 16:35:55 2016 +0000
-
-    Enable PCMPxSTRx cases 0x70 and 0x19.  Fixes #359952.
-    
-    
-    git-svn-id: svn://svn.valgrind.org/vex/trunk@3228 8f6e269a-dfd6-0310-a8e1-e2731360e62c
-
-diff --git a/VEX/priv/guest_amd64_toIR.c b/VEX/priv/guest_amd64_toIR.c
-index 936d16f..4c9a122 100644
---- a/VEX/priv/guest_amd64_toIR.c
-+++ b/VEX/priv/guest_amd64_toIR.c
-@@ -18671,10 +18671,11 @@ static Long dis_PCMPxSTRx ( const VexAbiInfo* vbi, Prefix pfx,
-       case 0x12: case 0x14: case 0x18: case 0x1A:
-       case 0x30: case 0x34: case 0x38: case 0x3A:
-       case 0x40: case 0x42: case 0x44: case 0x46: case 0x4A:
-+      case 0x70:
-          break;
-       // the 16-bit character versions of the above
-       case 0x01: case 0x03: case 0x09: case 0x0B: case 0x0D:
--      case 0x13:                       case 0x1B:
-+                 case 0x13: case 0x19: case 0x1B:
-                             case 0x39: case 0x3B:
-                             case 0x45:            case 0x4B:
-          break;
-diff --git a/VEX/priv/guest_generic_x87.c b/VEX/priv/guest_generic_x87.c
-index 2c9b25b..9a3c603 100644
---- a/VEX/priv/guest_generic_x87.c
-+++ b/VEX/priv/guest_generic_x87.c
-@@ -799,6 +799,7 @@ Bool compute_PCMPxSTRx ( /*OUT*/V128* resV,
-       case 0x12: case 0x14: case 0x18: case 0x1A:
-       case 0x30: case 0x34: case 0x38: case 0x3A:
-       case 0x40: case 0x42: case 0x44: case 0x46: case 0x4A:
-+      case 0x70:
-          break;
-       default:
-          return False;
-@@ -1047,7 +1048,7 @@ Bool compute_PCMPxSTRx_wide ( /*OUT*/V128* resV,
-       unvalidated cases in the code base. */
-    switch (imm8) {
-       case 0x01: case 0x03: case 0x09: case 0x0B: case 0x0D:
--      case 0x13:            case 0x1B:
-+                 case 0x13: case 0x19: case 0x1B:
-                             case 0x39: case 0x3B:
-                  case 0x45:            case 0x4B:
-          break;
-commit b5ca153e38556e9e4bef0a79c99e3ab6a7e47056
-Author: sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Wed Jul 20 16:37:09 2016 +0000
-
-    Add test cases for PCMPxSTRx cases 0x70 and 0x19.  Pertains to #359952.
-    
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15910 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/none/tests/amd64/pcmpstr64.c b/none/tests/amd64/pcmpstr64.c
-index 0694012..2b48c72 100644
---- a/none/tests/amd64/pcmpstr64.c
-+++ b/none/tests/amd64/pcmpstr64.c
-@@ -207,6 +207,7 @@ Bool pcmpXstrX_WRK ( /*OUT*/V128* resV,
-       case 0x12: case 0x14: case 0x18: case 0x1A:
-       case 0x30: case 0x34: case 0x38: case 0x3A:
-       case 0x40: case 0x42: case 0x44: case 0x46: case 0x4A:
-+      case 0x70:
-          break;
-       default:
-          return False;
-@@ -1971,6 +1972,86 @@ void istri_14 ( void )
- 
- //////////////////////////////////////////////////////////
- //                                                      //
-+//                       ISTRI_70                       //
-+//                                                      //
-+//////////////////////////////////////////////////////////
-+
-+UInt h_pcmpistri_70 ( V128* argL, V128* argR )
-+{
-+   V128 block[2];
-+   memcpy(&block[0], argL, sizeof(V128));
-+   memcpy(&block[1], argR, sizeof(V128));
-+   ULong res, flags;
-+   __asm__ __volatile__(
-+      "subq      $1024,  %%rsp"             "\n\t"
-+      "movdqu    0(%2),  %%xmm2"            "\n\t"
-+      "movdqu    16(%2), %%xmm11"           "\n\t"
-+      "pcmpistri $0x70,  %%xmm2, %%xmm11"   "\n\t"
-+      "pushfq"                              "\n\t"
-+      "popq      %%rdx"                     "\n\t"
-+      "movq      %%rcx,  %0"                "\n\t"
-+      "movq      %%rdx,  %1"                "\n\t"
-+      "addq      $1024,  %%rsp"             "\n\t"
-+      : /*out*/ "=r"(res), "=r"(flags) : "r"/*in*/(&block[0])
-+      : "rcx","rdx","xmm0","xmm2","xmm11","cc","memory"
-+   );
-+   return ((flags & 0x8D5) << 16) | (res & 0xFFFF);
-+}
-+
-+UInt s_pcmpistri_70 ( V128* argLU, V128* argRU )
-+{
-+   V128 resV;
-+   UInt resOSZACP, resECX;
-+   Bool ok
-+      = pcmpXstrX_WRK( &resV, &resOSZACP, argLU, argRU,
-+                       zmask_from_V128(argLU),
-+                       zmask_from_V128(argRU),
-+                       0x70, False/*!isSTRM*/
-+        );
-+   assert(ok);
-+   resECX = resV.uInt[0];
-+   return (resOSZACP << 16) | resECX;
-+}
-+
-+void istri_70 ( void )
-+{
-+   char* wot = "70";
-+   UInt(*h)(V128*,V128*) = h_pcmpistri_70;
-+   UInt(*s)(V128*,V128*) = s_pcmpistri_70;
-+
-+   try_istri(wot,h,s, "abcdacbdabcdabcd", "000000000000000a"); 
-+   try_istri(wot,h,s, "abcdabcdabcdabcd", "000000000000000b"); 
-+   try_istri(wot,h,s, "abcdabcdabcdabcd", "00000000000000ab"); 
-+   try_istri(wot,h,s, "abcdabc0abcdabcd", "000000000000abcd"); 
-+
-+   try_istri(wot,h,s, "abcdabcdabcdabcd", "000000000000abcd"); 
-+   try_istri(wot,h,s, "0bcdabcdabcdabcd", "000000000000abcd"); 
-+   try_istri(wot,h,s, "abcdabcdabcda0cd", "000000000000abcd"); 
-+   try_istri(wot,h,s, "abcdabcdabcdab0d", "000000000000abcd"); 
-+   try_istri(wot,h,s, "abcdabcdabcdabc0", "000000000000abcd"); 
-+
-+   try_istri(wot,h,s, "abcdabcdabcdabcd", "000000000000abcd"); 
-+   try_istri(wot,h,s, "abcdabcdabcdabcd", "000000000000a0cd"); 
-+   try_istri(wot,h,s, "abcdabcdabcdabcd", "000000000000ab0d"); 
-+   try_istri(wot,h,s, "abcdabcdabcdabcd", "000000000000abc0"); 
-+
-+   try_istri(wot,h,s, "0000000000000000", "0000000000000000"); 
-+   try_istri(wot,h,s, "aaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaa"); 
-+
-+   try_istri(wot,h,s, "0000abcdabcdabcd", "000000000000abcd"); 
-+   try_istri(wot,h,s, "0000abcdabcdabcd", "000000000000dcba"); 
-+   try_istri(wot,h,s, "0000abcdabcdabcd", "000000000000bbbb"); 
-+   try_istri(wot,h,s, "0000abcdabcdabcd", "000000000000baba"); 
-+
-+   try_istri(wot,h,s, "0000abcdabcdabcd", "00000000000baba0"); 
-+
-+   try_istri(wot,h,s, "0ddc0ffeebadf00d", "00000000cafebabe"); 
-+   try_istri(wot,h,s, "0ddc0ffeebadfeed", "00000000cafebabe"); 
-+}
-+
-+
-+//////////////////////////////////////////////////////////
-+//                                                      //
- //                         main                         //
- //                                                      //
- //////////////////////////////////////////////////////////
-@@ -1995,5 +2076,6 @@ int main ( void )
-    istri_0E();
-    istri_14();
-    istri_34();
-+   istri_70();
-    return 0;
- }
-diff --git a/none/tests/amd64/pcmpstr64.stdout.exp b/none/tests/amd64/pcmpstr64.stdout.exp
-index 4921586..55d7fe0 100644
---- a/none/tests/amd64/pcmpstr64.stdout.exp
-+++ b/none/tests/amd64/pcmpstr64.stdout.exp
-@@ -458,3 +458,25 @@ istri 34  163887ec041a9b72 fcd75adb9b3e895a -> 08410000 08410000
- istri 34  fc937cbfbf53f8e2 0d136bcb024d3fb7 -> 08810000 08810000 
- istri 34  2ca34182c29a82ab 302ebd646775ab54 -> 08810000 08810000 
- istri 34  3f2987608c11be6f a9ecb661f8e0a8cb -> 08c10000 08c10000 
-+istri 70  abcdacbdabcdabcd 000000000000000a -> 0881000e 0881000e 
-+istri 70  abcdabcdabcdabcd 000000000000000b -> 0881000f 0881000f 
-+istri 70  abcdabcdabcdabcd 00000000000000ab -> 0881000d 0881000d 
-+istri 70  abcdabc0abcdabcd 000000000000abcd -> 00c00010 00c00010 
-+istri 70  abcdabcdabcdabcd 000000000000abcd -> 00800010 00800010 
-+istri 70  0bcdabcdabcdabcd 000000000000abcd -> 00c00010 00c00010 
-+istri 70  abcdabcdabcda0cd 000000000000abcd -> 00c00010 00c00010 
-+istri 70  abcdabcdabcdab0d 000000000000abcd -> 00c00010 00c00010 
-+istri 70  abcdabcdabcdabc0 000000000000abcd -> 00c00010 00c00010 
-+istri 70  abcdabcdabcdabcd 000000000000abcd -> 00800010 00800010 
-+istri 70  abcdabcdabcdabcd 000000000000a0cd -> 0081000f 0081000f 
-+istri 70  abcdabcdabcdabcd 000000000000ab0d -> 0081000f 0081000f 
-+istri 70  abcdabcdabcdabcd 000000000000abc0 -> 0881000f 0881000f 
-+istri 70  0000000000000000 0000000000000000 -> 00c00010 00c00010 
-+istri 70  aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa -> 00000010 00000010 
-+istri 70  0000abcdabcdabcd 000000000000abcd -> 00c00010 00c00010 
-+istri 70  0000abcdabcdabcd 000000000000dcba -> 00c00010 00c00010 
-+istri 70  0000abcdabcdabcd 000000000000bbbb -> 08c1000b 08c1000b 
-+istri 70  0000abcdabcdabcd 000000000000baba -> 08c10009 08c10009 
-+istri 70  0000abcdabcdabcd 00000000000baba0 -> 08c1000b 08c1000b 
-+istri 70  0ddc0ffeebadf00d 00000000cafebabe -> 08c10000 08c10000 
-+istri 70  0ddc0ffeebadfeed 00000000cafebabe -> 08c10004 08c10004 
-diff --git a/none/tests/amd64/pcmpstr64w.c b/none/tests/amd64/pcmpstr64w.c
-index 858cfd8..6a1adad 100644
---- a/none/tests/amd64/pcmpstr64w.c
-+++ b/none/tests/amd64/pcmpstr64w.c
-@@ -209,7 +209,7 @@ Bool pcmpXstrX_WRK_wide ( /*OUT*/V128* resV,
-       unvalidated cases in the code base. */
-    switch (imm8) {
-       case 0x01: case 0x03: case 0x09: case 0x0B: case 0x0D:
--      case 0x13:            case 0x1B:
-+                 case 0x13: case 0x19: case 0x1B:
-                             case 0x39: case 0x3B:
-                  case 0x45:            case 0x4B:
-          break;
-@@ -1255,6 +1255,99 @@ void istri_39 ( void )
- 
- //////////////////////////////////////////////////////////
- //                                                      //
-+//                       ISTRI_19                       //
-+//                                                      //
-+//////////////////////////////////////////////////////////
-+
-+UInt h_pcmpistri_19 ( V128* argL, V128* argR )
-+{
-+   V128 block[2];
-+   memcpy(&block[0], argL, sizeof(V128));
-+   memcpy(&block[1], argR, sizeof(V128));
-+   ULong res, flags;
-+   __asm__ __volatile__(
-+      "subq      $1024,  %%rsp"             "\n\t"
-+      "movdqu    0(%2),  %%xmm2"            "\n\t"
-+      "movdqu    16(%2), %%xmm11"           "\n\t"
-+      "pcmpistri $0x19,  %%xmm2, %%xmm11"   "\n\t"
-+      "pushfq"                              "\n\t"
-+      "popq      %%rdx"                     "\n\t"
-+      "movq      %%rcx,  %0"                "\n\t"
-+      "movq      %%rdx,  %1"                "\n\t"
-+      "addq      $1024,  %%rsp"             "\n\t"
-+      : /*out*/ "=r"(res), "=r"(flags) : "r"/*in*/(&block[0])
-+      : "rcx","rdx","xmm0","xmm2","xmm11","cc","memory"
-+   );
-+   return ((flags & 0x8D5) << 16) | (res & 0xFFFF);
-+}
-+
-+UInt s_pcmpistri_19 ( V128* argLU, V128* argRU )
-+{
-+   V128 resV;
-+   UInt resOSZACP, resECX;
-+   Bool ok
-+      = pcmpXstrX_WRK_wide( &resV, &resOSZACP, argLU, argRU,
-+			    zmask_from_V128(argLU),
-+			    zmask_from_V128(argRU),
-+			    0x19, False/*!isSTRM*/
-+        );
-+   assert(ok);
-+   resECX = resV.uInt[0];
-+   return (resOSZACP << 16) | resECX;
-+}
-+
-+void istri_19 ( void )
-+{
-+   char* wot = "19";
-+   UInt(*h)(V128*,V128*) = h_pcmpistri_19;
-+   UInt(*s)(V128*,V128*) = s_pcmpistri_19;
-+
-+   try_istri(wot,h,s, "0000000000000000", "0000000000000000");
-+
-+   try_istri(wot,h,s, "aaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaa");
-+   try_istri(wot,h,s, "aaaa2aaaaaaaaaaa", "aaaaaaaaaaaaaaaa");
-+   try_istri(wot,h,s, "aaaaaaaaa2aaaaaa", "aaaaaaaaaaaaaaaa");
-+   try_istri(wot,h,s, "aaaaaaaaaaaaa2aa", "aaaaaaaaaaaaaaaa");
-+
-+   try_istri(wot,h,s, "aaaaaaaaaaaaaaaa", "aaaa2aaaaaaaaaaa");
-+   try_istri(wot,h,s, "aaaaaaaaaaaaaaaa", "aaaaaaaaa2aaaaaa");
-+   try_istri(wot,h,s, "aaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaa2a");
-+
-+   try_istri(wot,h,s, "aaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaa");
-+   try_istri(wot,h,s, "baaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaa");
-+   try_istri(wot,h,s, "b9aaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaa");
-+   try_istri(wot,h,s, "b9baaaaaaaaaaaaa", "aaaaaaaaaaaaaaaa");
-+
-+   try_istri(wot,h,s, "b9baaaaaaaaaaaaa", "aaaaaaaaaaaaaaaa");
-+   try_istri(wot,h,s, "b9baaaaaaaaaaaaa", "aaaaaaaaaaaa7aaa");
-+   try_istri(wot,h,s, "b9baaaaaaaaaaaaa", "aaaaaaaa2aaa4aaa");
-+
-+   try_istri(wot,h,s, "aaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaa");
-+
-+   try_istri(wot,h,s, "aaaaaaaaaaaa00aa", "aaaaaaaaaaaaaaaa");
-+   try_istri(wot,h,s, "aaaaaaaaaaaaaaaa", "aaaaaaaaaaaa00aa");
-+   try_istri(wot,h,s, "aaaaaaaaaaaa00aa", "aaaaaaaaaaaa00aa");
-+
-+   try_istri(wot,h,s, "aaaaaaaa00aaaaaa", "aaaaaaaaaaaaaaaa");
-+   try_istri(wot,h,s, "aaaaaaaaaaaaaaaa", "aaaaaaaaaaaa00aa");
-+   try_istri(wot,h,s, "aaaaaaaa00aaaaaa", "aaaaaaaaaaaa00aa");
-+
-+   try_istri(wot,h,s, "aaaaaaaaaaaa00aa", "aaaaaaaaaaaaaaaa");
-+   try_istri(wot,h,s, "aaaaaaaaaaaaaaaa", "aaaaaaaa00aaaaaa");
-+   try_istri(wot,h,s, "aaaaaaaaaaaa00aa", "aaaaaaaa00aaaaaa");
-+
-+   try_istri(wot,h,s, "0000000000000000", "aaaaaaaa00aaaaaa");
-+   try_istri(wot,h,s, "8000000000000000", "aaaaaaaa00aaaaaa");
-+   try_istri(wot,h,s, "0000000000000001", "aaaaaaaa00aaaaaa");
-+
-+   try_istri(wot,h,s, "0000000000000000", "aaaaaaaaaaaaaaaa");
-+   try_istri(wot,h,s, "aaaaaaaaaaaaaaaa", "0000000000000000");
-+}
-+
-+
-+
-+//////////////////////////////////////////////////////////
-+//                                                      //
- //                         main                         //
- //                                                      //
- //////////////////////////////////////////////////////////
-@@ -1271,5 +1364,6 @@ int main ( void )
-    istri_45();
-    istri_01();
-    istri_39();
-+   istri_19();
-    return 0;
- }
-diff --git a/none/tests/amd64/pcmpstr64w.stdout.exp b/none/tests/amd64/pcmpstr64w.stdout.exp
-index 77d555d..c18184c 100644
---- a/none/tests/amd64/pcmpstr64w.stdout.exp
-+++ b/none/tests/amd64/pcmpstr64w.stdout.exp
-@@ -258,3 +258,33 @@ istri 39  8000000000000000 aaaaaaaa00aaaaaa -> 00c10003 00c10003
- istri 39  0000000000000001 aaaaaaaa00aaaaaa -> 08c10000 08c10000 
- istri 39  0000000000000000 aaaaaaaaaaaaaaaa -> 00400008 00400008 
- istri 39  aaaaaaaaaaaaaaaa 0000000000000000 -> 08810000 08810000 
-+istri 19  0000000000000000 0000000000000000 -> 00c00008 00c00008 
-+istri 19  aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa -> 00000008 00000008 
-+istri 19  aaaa2aaaaaaaaaaa aaaaaaaaaaaaaaaa -> 00010005 00010005 
-+istri 19  aaaaaaaaa2aaaaaa aaaaaaaaaaaaaaaa -> 00010003 00010003 
-+istri 19  aaaaaaaaaaaaa2aa aaaaaaaaaaaaaaaa -> 00010001 00010001 
-+istri 19  aaaaaaaaaaaaaaaa aaaa2aaaaaaaaaaa -> 00010005 00010005 
-+istri 19  aaaaaaaaaaaaaaaa aaaaaaaaa2aaaaaa -> 00010003 00010003 
-+istri 19  aaaaaaaaaaaaaaaa aaaaaaaaaaaaaa2a -> 08010000 08010000 
-+istri 19  aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa -> 00000008 00000008 
-+istri 19  baaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa -> 00010007 00010007 
-+istri 19  b9aaaaaaaaaaaaaa aaaaaaaaaaaaaaaa -> 00010007 00010007 
-+istri 19  b9baaaaaaaaaaaaa aaaaaaaaaaaaaaaa -> 00010006 00010006 
-+istri 19  b9baaaaaaaaaaaaa aaaaaaaaaaaaaaaa -> 00010006 00010006 
-+istri 19  b9baaaaaaaaaaaaa aaaaaaaaaaaa7aaa -> 00010001 00010001 
-+istri 19  b9baaaaaaaaaaaaa aaaaaaaa2aaa4aaa -> 00010001 00010001 
-+istri 19  aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa -> 00000008 00000008 
-+istri 19  aaaaaaaaaaaa00aa aaaaaaaaaaaaaaaa -> 00410001 00410001 
-+istri 19  aaaaaaaaaaaaaaaa aaaaaaaaaaaa00aa -> 00810001 00810001 
-+istri 19  aaaaaaaaaaaa00aa aaaaaaaaaaaa00aa -> 00c00008 00c00008 
-+istri 19  aaaaaaaa00aaaaaa aaaaaaaaaaaaaaaa -> 00410003 00410003 
-+istri 19  aaaaaaaaaaaaaaaa aaaaaaaaaaaa00aa -> 00810001 00810001 
-+istri 19  aaaaaaaa00aaaaaa aaaaaaaaaaaa00aa -> 00c10001 00c10001 
-+istri 19  aaaaaaaaaaaa00aa aaaaaaaaaaaaaaaa -> 00410001 00410001 
-+istri 19  aaaaaaaaaaaaaaaa aaaaaaaa00aaaaaa -> 00810003 00810003 
-+istri 19  aaaaaaaaaaaa00aa aaaaaaaa00aaaaaa -> 00c10001 00c10001 
-+istri 19  0000000000000000 aaaaaaaa00aaaaaa -> 08c10000 08c10000 
-+istri 19  8000000000000000 aaaaaaaa00aaaaaa -> 08c10000 08c10000 
-+istri 19  0000000000000001 aaaaaaaa00aaaaaa -> 08c10000 08c10000 
-+istri 19  0000000000000000 aaaaaaaaaaaaaaaa -> 08410000 08410000 
-+istri 19  aaaaaaaaaaaaaaaa 0000000000000000 -> 08810000 08810000 
diff --git a/valgrind-3.11.0-ppc-bcd-addsub.patch b/valgrind-3.11.0-ppc-bcd-addsub.patch
deleted file mode 100644
index 04f45f6..0000000
--- a/valgrind-3.11.0-ppc-bcd-addsub.patch
+++ /dev/null
@@ -1,383 +0,0 @@
-Fix without v-bit test program changes which changed too much since 3.11.0.
-
-commit 568f3ab3f7a4c074fe9ce6f4f395fb25b6fa375b
-Author: carll <carll@8f6e269a-dfd6-0310-a8e1-e2731360e62c>
-Date:   Tue Apr 26 19:52:56 2016 +0000
-
-    Power PC  Fix V bit error in 128-bit BCD add and subtract instructions
-    
-    The original code was using the bcdadd / bcdsub instruction on the operand
-    shadow bits to calculate the shadow bits for the result.  This introduced
-    non-zero bits shadow bits in the result.   The shadow bits for these
-    instructions should be set to all valid or all invalid.  If one of the
-    argument shadow bits was one, then all of the shadow bits of the result should
-    be one.  Otherwise the result shadow bits should be zero.
-    
-    This patch fixes the above bug in memcheck/mc_translate.c
-    
-    Fixing the above bug broke the v-bit test.  The issue is the v-bit tester
-    assumes the shadow bits for the operands of a given Iop can be set to one
-    for testing purposes.  The implementation of the bcdadd and bcdsub was passing
-    a constant value for the variable ps.  The ps value is an argument to the
-    instruction that specifies how to set the sign code of the result.  The
-    implementation of the instructions was changed to issue the instruction with
-    ps=0.  Then the result of the instruction is updated in the VEX code if ps=1.
-    This changed also results in cleaning up the vbit test code.
-    
-    This patch also fixes the issues with the v-bit test program.
-    
-    Bugzilla 360035
-    
-    
-    git-svn-id: svn://svn.valgrind.org/vex/trunk@3218 8f6e269a-dfd6-0310-a8e1-e2731360e62c
-
-diff --git a/VEX/priv/guest_ppc_toIR.c b/VEX/priv/guest_ppc_toIR.c
-index 034a766..44304df 100644
---- a/VEX/priv/guest_ppc_toIR.c
-+++ b/VEX/priv/guest_ppc_toIR.c
-@@ -21297,6 +21297,43 @@ static Bool dis_av_quad ( UInt theInstr )
-    return True;
- }
- 
-+static IRExpr * bcd_sign_code_adjust( UInt ps, IRExpr * tmp)
-+{
-+   /* The Iop_BCDAdd and Iop_BCDSub will result in the corresponding Power PC
-+    * instruction being issued with ps = 0.  If ps = 1, the sign code, which
-+    * is in the least significant four bits of the result, needs to be updated
-+    * per the ISA:
-+    *
-+    *    If PS=0, the sign code of the result is set to 0b1100.
-+    *    If PS=1, the sign code of the result is set to 0b1111.
-+    *
-+    * Note, the ps value is NOT being passed down to the instruction issue
-+    * because passing a constant via triop() breaks the vbit-test test.  The
-+    * vbit-tester assumes it can set non-zero shadow bits for the triop()
-+    * arguments.  Thus they have to be expressions not a constant.
-+    */
-+   IRTemp mask  = newTemp(Ity_I64);
-+   IRExpr *rtn;
-+
-+   if ( ps == 0 ) {
-+      /* sign code is correct, just return it.  */
-+      rtn = tmp;
-+
-+   } else {
-+      /* check if lower four bits are 0b1100, if so, change to 0b1111 */
-+      assign( mask, unop( Iop_1Sto64,
-+                          binop( Iop_CmpEQ64, mkU64( 0xC ),
-+                                 binop( Iop_And64, mkU64( 0xF ),
-+                                        unop( Iop_V128to64, tmp ) ) ) ) );
-+      rtn = binop( Iop_64HLtoV128,
-+                   unop( Iop_V128HIto64, tmp ),
-+                   binop( Iop_Or64,
-+                          binop( Iop_And64, mkU64( 0xF ), mkexpr( mask ) ),
-+                          unop( Iop_V128to64, tmp ) ) );
-+   }
-+
-+   return rtn;
-+}
- 
- /*
-   AltiVec BCD Arithmetic instructions.
-@@ -21329,15 +21366,19 @@ static Bool dis_av_bcd ( UInt theInstr )
-    switch (opc2) {
-    case 0x1:  // bcdadd
-      DIP("bcdadd. v%d,v%d,v%d,%u\n", vRT_addr, vRA_addr, vRB_addr, ps);
--     assign( dst, triop( Iop_BCDAdd, mkexpr( vA ),
--                         mkexpr( vB ), mkU8( ps ) ) );
-+     assign( dst, bcd_sign_code_adjust( ps,
-+                                        binop( Iop_BCDAdd,
-+                                               mkexpr( vA ),
-+                                               mkexpr( vB ) ) ) );
-      putVReg( vRT_addr, mkexpr(dst));
-      return True;
- 
-    case 0x41:  // bcdsub
-      DIP("bcdsub. v%d,v%d,v%d,%u\n", vRT_addr, vRA_addr, vRB_addr, ps);
--     assign( dst, triop( Iop_BCDSub, mkexpr( vA ),
--                         mkexpr( vB ), mkU8( ps ) ) );
-+     assign( dst, bcd_sign_code_adjust( ps,
-+                                        binop( Iop_BCDSub,
-+                                               mkexpr( vA ),
-+                                               mkexpr( vB ) ) ) );
-      putVReg( vRT_addr, mkexpr(dst));
-      return True;
- 
-diff --git a/VEX/priv/host_ppc_defs.c b/VEX/priv/host_ppc_defs.c
-index 13b193c..06487b5 100644
---- a/VEX/priv/host_ppc_defs.c
-+++ b/VEX/priv/host_ppc_defs.c
-@@ -1415,15 +1415,14 @@ PPCInstr* PPCInstr_AvHashV128Binary ( PPCAvOp op, HReg dst,
-    i->Pin.AvHashV128Binary.s_field = s_field;
-    return i;
- }
--PPCInstr* PPCInstr_AvBCDV128Trinary ( PPCAvOp op, HReg dst,
--                                      HReg src1, HReg src2, PPCRI* ps ) {
-+PPCInstr* PPCInstr_AvBCDV128Binary ( PPCAvOp op, HReg dst,
-+                                     HReg src1, HReg src2 ) {
-    PPCInstr* i = LibVEX_Alloc_inline(sizeof(PPCInstr));
--   i->tag      = Pin_AvBCDV128Trinary;
--   i->Pin.AvBCDV128Trinary.op   = op;
--   i->Pin.AvBCDV128Trinary.dst  = dst;
--   i->Pin.AvBCDV128Trinary.src1 = src1;
--   i->Pin.AvBCDV128Trinary.src2 = src2;
--   i->Pin.AvBCDV128Trinary.ps   = ps;
-+   i->tag      = Pin_AvBCDV128Binary;
-+   i->Pin.AvBCDV128Binary.op   = op;
-+   i->Pin.AvBCDV128Binary.dst  = dst;
-+   i->Pin.AvBCDV128Binary.src1 = src1;
-+   i->Pin.AvBCDV128Binary.src2 = src2;
-    return i;
- }
- 
-@@ -2038,15 +2037,13 @@ void ppPPCInstr ( const PPCInstr* i, Bool mode64 )
-       ppPPCRI(i->Pin.AvHashV128Binary.s_field);
-       return;
- 
--   case Pin_AvBCDV128Trinary:
--      vex_printf("%s(w) ", showPPCAvOp(i->Pin.AvBCDV128Trinary.op));
--      ppHRegPPC(i->Pin.AvBCDV128Trinary.dst);
-+   case Pin_AvBCDV128Binary:
-+      vex_printf("%s(w) ", showPPCAvOp(i->Pin.AvBCDV128Binary.op));
-+      ppHRegPPC(i->Pin.AvBCDV128Binary.dst);
-       vex_printf(",");
--      ppHRegPPC(i->Pin.AvBCDV128Trinary.src1);
-+      ppHRegPPC(i->Pin.AvBCDV128Binary.src1);
-       vex_printf(",");
--      ppHRegPPC(i->Pin.AvBCDV128Trinary.src2);
--      vex_printf(",");
--      ppPPCRI(i->Pin.AvBCDV128Trinary.ps);
-+      ppHRegPPC(i->Pin.AvBCDV128Binary.src2);
-       return;
- 
-    case Pin_Dfp64Unary:
-@@ -2511,11 +2508,10 @@ void getRegUsage_PPCInstr ( HRegUsage* u, const PPCInstr* i, Bool mode64 )
-       addHRegUse(u, HRmRead,  i->Pin.AvHashV128Binary.src);
-       addRegUsage_PPCRI(u,    i->Pin.AvHashV128Binary.s_field);
-       return;
--   case Pin_AvBCDV128Trinary:
--      addHRegUse(u, HRmWrite, i->Pin.AvBCDV128Trinary.dst);
--      addHRegUse(u, HRmRead,  i->Pin.AvBCDV128Trinary.src1);
--      addHRegUse(u, HRmRead,  i->Pin.AvBCDV128Trinary.src2);
--      addRegUsage_PPCRI(u,    i->Pin.AvBCDV128Trinary.ps);
-+   case Pin_AvBCDV128Binary:
-+      addHRegUse(u, HRmWrite, i->Pin.AvBCDV128Binary.dst);
-+      addHRegUse(u, HRmRead,  i->Pin.AvBCDV128Binary.src1);
-+      addHRegUse(u, HRmRead,  i->Pin.AvBCDV128Binary.src2);
-       return;
-    case Pin_Dfp64Unary:
-       addHRegUse(u, HRmWrite, i->Pin.Dfp64Unary.dst);
-@@ -2844,11 +2840,10 @@ void mapRegs_PPCInstr ( HRegRemap* m, PPCInstr* i, Bool mode64 )
-       mapReg(m, &i->Pin.AvHashV128Binary.dst);
-       mapReg(m, &i->Pin.AvHashV128Binary.src);
-       return;
--   case Pin_AvBCDV128Trinary:
--      mapReg(m, &i->Pin.AvBCDV128Trinary.dst);
--      mapReg(m, &i->Pin.AvBCDV128Trinary.src1);
--      mapReg(m, &i->Pin.AvBCDV128Trinary.src2);
--      mapRegs_PPCRI(m, i->Pin.AvBCDV128Trinary.ps);
-+   case Pin_AvBCDV128Binary:
-+      mapReg(m, &i->Pin.AvBCDV128Binary.dst);
-+      mapReg(m, &i->Pin.AvBCDV128Binary.src1);
-+      mapReg(m, &i->Pin.AvBCDV128Binary.src2);
-       return;
-    case Pin_Dfp64Unary:
-       mapReg(m, &i->Pin.Dfp64Unary.dst);
-@@ -5104,20 +5099,22 @@ Int emit_PPCInstr ( /*MB_MOD*/Bool* is_profInc,
-       p = mkFormVX( p, 4, v_dst, v_src, s_field->Pri.Imm, opc2, endness_host );
-       goto done;
-    }
--   case Pin_AvBCDV128Trinary: {
--      UInt v_dst  = vregEnc(i->Pin.AvBCDV128Trinary.dst);
--      UInt v_src1 = vregEnc(i->Pin.AvBCDV128Trinary.src1);
--      UInt v_src2 = vregEnc(i->Pin.AvBCDV128Trinary.src2);
--      PPCRI* ps   = i->Pin.AvBCDV128Trinary.ps;
-+   case Pin_AvBCDV128Binary: {
-+      UInt v_dst  = vregEnc(i->Pin.AvBCDV128Binary.dst);
-+      UInt v_src1 = vregEnc(i->Pin.AvBCDV128Binary.src1);
-+      UInt v_src2 = vregEnc(i->Pin.AvBCDV128Binary.src2);
-+      UInt ps = 0;    /* Issue the instruction with ps=0.  The IR code will
-+                       * fix up the result if ps=1.
-+                       */
-       UInt opc2;
--      switch (i->Pin.AvBCDV128Trinary.op) {
-+      switch (i->Pin.AvBCDV128Binary.op) {
-       case Pav_BCDAdd:   opc2 =  1; break; // bcdadd
-       case Pav_BCDSub:   opc2 = 65; break; // bcdsub
-       default:
-          goto bad;
-       }
-       p = mkFormVXR( p, 4, v_dst, v_src1, v_src2,
--                     0x1, (ps->Pri.Imm << 9) | opc2, endness_host );
-+                     0x1, ps | opc2, endness_host );
-       goto done;
-    }
-    case Pin_AvBin32Fx4: {
-diff --git a/VEX/priv/host_ppc_defs.h b/VEX/priv/host_ppc_defs.h
-index c04c994..0b1939d 100644
---- a/VEX/priv/host_ppc_defs.h
-+++ b/VEX/priv/host_ppc_defs.h
-@@ -499,7 +499,7 @@ typedef
-       Pin_AvCipherV128Unary,  /* AV Vector unary Cipher */
-       Pin_AvCipherV128Binary, /* AV Vector binary Cipher */
-       Pin_AvHashV128Binary, /* AV Vector binary Hash */
--      Pin_AvBCDV128Trinary, /* BCD Arithmetic */
-+      Pin_AvBCDV128Binary,  /* BCD Arithmetic */
-       Pin_Dfp64Unary,   /* DFP64  unary op */
-       Pin_Dfp128Unary,  /* DFP128 unary op */
-       Pin_DfpShift,     /* Decimal floating point shift by immediate value */
-@@ -867,8 +867,7 @@ typedef
-             HReg       dst;
-             HReg      src1;
-             HReg      src2;
--            PPCRI*      ps;
--         } AvBCDV128Trinary;
-+         } AvBCDV128Binary;
-          struct {
-             PPCAvOp   op;
-             HReg      dst;
-@@ -1063,9 +1062,8 @@ extern PPCInstr* PPCInstr_AvCipherV128Binary ( PPCAvOp op, HReg dst,
-                                                HReg srcL, HReg srcR );
- extern PPCInstr* PPCInstr_AvHashV128Binary ( PPCAvOp op, HReg dst,
-                                              HReg src, PPCRI* s_field );
--extern PPCInstr* PPCInstr_AvBCDV128Trinary ( PPCAvOp op, HReg dst,
--                                             HReg src1, HReg src2,
--                                             PPCRI* ps );
-+extern PPCInstr* PPCInstr_AvBCDV128Binary ( PPCAvOp op, HReg dst,
-+                                            HReg src1, HReg src2 );
- extern PPCInstr* PPCInstr_Dfp64Unary  ( PPCFpOp op, HReg dst, HReg src );
- extern PPCInstr* PPCInstr_Dfp64Binary ( PPCFpOp op, HReg dst, HReg srcL,
-                                         HReg srcR );
-diff --git a/VEX/priv/host_ppc_isel.c b/VEX/priv/host_ppc_isel.c
-index 11a9943..5a701ed 100644
---- a/VEX/priv/host_ppc_isel.c
-+++ b/VEX/priv/host_ppc_isel.c
-@@ -5392,25 +5392,25 @@ static HReg iselVecExpr_wrk ( ISelEnv* env, IRExpr* e, IREndness IEndianess )
-          addInstr(env, PPCInstr_AvHashV128Binary(op, dst, arg1, s_field));
-          return dst;
-       }
--      default:
--         break;
--      } /* switch (e->Iex.Binop.op) */
--   } /* if (e->tag == Iex_Binop) */
- 
--   if (e->tag == Iex_Triop) {
--      IRTriop *triop = e->Iex.Triop.details;
--      switch (triop->op) {
-       case Iop_BCDAdd:op = Pav_BCDAdd; goto do_AvBCDV128;
-       case Iop_BCDSub:op = Pav_BCDSub; goto do_AvBCDV128;
-       do_AvBCDV128: {
--         HReg arg1 = iselVecExpr(env, triop->arg1, IEndianess);
--         HReg arg2 = iselVecExpr(env, triop->arg2, IEndianess);
-+         HReg arg1 = iselVecExpr(env, e->Iex.Binop.arg1, IEndianess);
-+         HReg arg2 = iselVecExpr(env, e->Iex.Binop.arg2, IEndianess);
-          HReg dst  = newVRegV(env);
--         PPCRI* ps = iselWordExpr_RI(env, triop->arg3, IEndianess);
--         addInstr(env, PPCInstr_AvBCDV128Trinary(op, dst, arg1, arg2, ps));
-+         addInstr(env, PPCInstr_AvBCDV128Binary(op, dst, arg1, arg2));
-          return dst;
-       }
- 
-+      default:
-+         break;
-+      } /* switch (e->Iex.Binop.op) */
-+   } /* if (e->tag == Iex_Binop) */
-+
-+   if (e->tag == Iex_Triop) {
-+      IRTriop *triop = e->Iex.Triop.details;
-+      switch (triop->op) {
-       case Iop_Add32Fx4: fpop = Pavfp_ADDF; goto do_32Fx4_with_rm;
-       case Iop_Sub32Fx4: fpop = Pavfp_SUBF; goto do_32Fx4_with_rm;
-       case Iop_Mul32Fx4: fpop = Pavfp_MULF; goto do_32Fx4_with_rm;
-diff --git a/VEX/priv/ir_defs.c b/VEX/priv/ir_defs.c
-index 4a7b770..8fdfcab 100644
---- a/VEX/priv/ir_defs.c
-+++ b/VEX/priv/ir_defs.c
-@@ -3122,7 +3122,8 @@ void typeOfPrimop ( IROp op,
- 
-       case Iop_BCDAdd:
-       case Iop_BCDSub:
--         TERNARY(Ity_V128,Ity_V128, Ity_I8, Ity_V128);
-+         BINARY(Ity_V128, Ity_V128, Ity_V128);
-+
-       case Iop_QDMull16Sx4: case Iop_QDMull32Sx2:
-          BINARY(Ity_I64, Ity_I64, Ity_V128);
- 
-commit c8da12c274b2d94c42c07676139378b57fa7b31b
-Author: carll <carll@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Tue Apr 26 19:53:56 2016 +0000
-
-    Power PC  Fix V bit error in 128-bit BCD add and subtract instructions
-    
-    The original code was using the bcdadd / bcdsub instruction on the operand
-    shadow bits to calculate the shadow bits for the result.  This introduced
-    non-zero bits shadow bits in the result.   The shadow bits for these
-    instructions should be set to all valid or all invalid.  If one of the
-    argument shadow bits was one, then all of the shadow bits of the result should
-    be one.  Otherwise the result shadow bits should be zero.
-    
-    This patch fixes the above bug in memcheck/mc_translate.c
-    
-    Fixing the above bug broke the v-bit test.  The issue is the v-bit tester
-    assumes the shadow bits for the operands of a given Iop can be set to one
-    for testing purposes.  The implementation of the bcdadd and bcdsub was passing
-    a constant value for the variable ps.  The ps value is an argument to the
-    instruction that specifies how to set the sign code of the result.  The
-    implementation of the instructions was changed to issue the instruction with
-    ps=0.  Then the result of the instruction is updated in the VEX code if ps=1.
-    This changed also results in cleaning up the vbit test code.
-    
-    This patch also fixes the issues with the v-bit test program.
-    
-    Valgrind commit 3218
-    
-    Bugzilla 360035
-    
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15871 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/memcheck/mc_translate.c b/memcheck/mc_translate.c
-index c239e46..d50b53d 100644
---- a/memcheck/mc_translate.c
-+++ b/memcheck/mc_translate.c
-@@ -852,6 +852,17 @@ static IRAtom* mkPCastTo( MCEnv* mce, IRType dst_ty, IRAtom* vbits )
-                                        unop(Iop_CmpNEZ64, tmp4));
-          break;
-       }
-+      case Ity_V128: {
-+         /* Chop it in half, OR the halves together, and compare that
-+          * with zero.
-+          */
-+         IRAtom* tmp2 = assignNew('V', mce, Ity_I64, unop(Iop_V128HIto64, vbits));
-+         IRAtom* tmp3 = assignNew('V', mce, Ity_I64, unop(Iop_V128to64, vbits));
-+         IRAtom* tmp4 = assignNew('V', mce, Ity_I64, binop(Iop_Or64, tmp2, tmp3));
-+         tmp1         = assignNew('V', mce, Ity_I1,
-+                                       unop(Iop_CmpNEZ64, tmp4));
-+         break;
-+      }
-       default:
-          ppIRType(src_ty);
-          VG_(tool_panic)("mkPCastTo(1)");
-@@ -2888,11 +2899,6 @@ IRAtom* expr2vbits_Triop ( MCEnv* mce,
-       case Iop_SetElem32x2:
-          complainIfUndefined(mce, atom2, NULL);
-          return assignNew('V', mce, Ity_I64, triop(op, vatom1, atom2, vatom3));
--      /* BCDIops */
--      case Iop_BCDAdd:
--      case Iop_BCDSub:
--         complainIfUndefined(mce, atom3, NULL);
--         return assignNew('V', mce, Ity_V128, triop(op, vatom1, vatom2, atom3));
- 
-       /* Vector FP with rounding mode as the first arg */
-       case Iop_Add64Fx2:
-@@ -3723,6 +3729,10 @@ IRAtom* expr2vbits_Binop ( MCEnv* mce,
-          complainIfUndefined(mce, atom2, NULL);
-          return assignNew('V', mce, Ity_V128, binop(op, vatom1, atom2));
- 
-+      case Iop_BCDAdd:
-+      case Iop_BCDSub:
-+         return mkLazy2(mce, Ity_V128, vatom1, vatom2);
-+
-       /* SHA Iops */
-       case Iop_SHA256:
-       case Iop_SHA512:
diff --git a/valgrind-3.11.0-ppc64-128bit-mod-carry.patch b/valgrind-3.11.0-ppc64-128bit-mod-carry.patch
deleted file mode 100644
index 3d986e5..0000000
--- a/valgrind-3.11.0-ppc64-128bit-mod-carry.patch
+++ /dev/null
@@ -1,1923 +0,0 @@
-commit e92c94c87913d9c257d1577493fdfd6b346b1a67
-Author: carll <carll@8f6e269a-dfd6-0310-a8e1-e2731360e62c>
-Date:   Tue Feb 16 21:20:24 2016 +0000
-
-    128bit modulo and carry instruction fix
-    
-    This patch fixes an issue with caculating the carry to the next 32-bit
-    chunk for the 128-bit add and subract instructions: vaddcuq, vadduqm,
-    vsubcuq, vsubuqm, vaddecuq, vaddeuqm, vsubecuq, vsubeuqm
-    
-    Valgrind Bugzilla 359472
-    
-    
-    git-svn-id: svn://svn.valgrind.org/vex/trunk@3209 8f6e269a-dfd6-0310-a8e1-e2731360e62c
-
-diff --git a/VEX/priv/guest_ppc_toIR.c b/VEX/priv/guest_ppc_toIR.c
-index 6a0b6d8..21a0692 100644
---- a/VEX/priv/guest_ppc_toIR.c
-+++ b/VEX/priv/guest_ppc_toIR.c
-@@ -17968,6 +17968,7 @@ static IRTemp _get_quad_modulo_or_carry(IRExpr * vecA, IRExpr * vecB,
-    IRTemp _vecA_32   = IRTemp_INVALID;
-    IRTemp _vecB_32   = IRTemp_INVALID;
-    IRTemp res_32     = IRTemp_INVALID;
-+   IRTemp res_64     = IRTemp_INVALID;
-    IRTemp result     = IRTemp_INVALID;
-    IRTemp tmp_result = IRTemp_INVALID;
-    IRTemp carry      = IRTemp_INVALID;
-@@ -17977,10 +17978,15 @@ static IRTemp _get_quad_modulo_or_carry(IRExpr * vecA, IRExpr * vecB,
-    IRExpr * _vecA_high64 = unop( Iop_V128HIto64, vecA );
-    IRExpr * _vecB_high64 = unop( Iop_V128HIto64, vecB );
- 
-+   carry = newTemp(Ity_I32);
-+   assign( carry, cin );
-+
-    for (i = 0; i < 4; i++) {
-       _vecA_32 = newTemp(Ity_I32);
-       _vecB_32 = newTemp(Ity_I32);
-       res_32   = newTemp(Ity_I32);
-+      res_64   = newTemp(Ity_I64);
-+
-       switch (i) {
-       case 0:
-          assign(_vecA_32, unop( Iop_64to32, _vecA_low64 ) );
-@@ -18000,13 +18006,25 @@ static IRTemp _get_quad_modulo_or_carry(IRExpr * vecA, IRExpr * vecB,
-          break;
-       }
- 
--      assign(res_32, binop( Iop_Add32,
--                            binop( Iop_Add32,
--                                   binop ( Iop_Add32,
--                                           mkexpr(_vecA_32),
--                                           mkexpr(_vecB_32) ),
--                                   (i == 0) ? mkU32(0) : mkexpr(carry) ),
--                            (i == 0) ? cin : mkU32(0) ) );
-+      assign( res_64, binop( Iop_Add64,
-+                             binop ( Iop_Add64,
-+                                     binop( Iop_32HLto64,
-+                                            mkU32( 0 ),
-+                                            mkexpr(_vecA_32) ),
-+                                     binop( Iop_32HLto64,
-+                                            mkU32( 0 ),
-+                                            mkexpr(_vecB_32) ) ),
-+                             binop( Iop_32HLto64,
-+                                    mkU32( 0 ),
-+                                    mkexpr( carry ) ) ) );
-+
-+      /* Calculate the carry to the next higher 32 bits. */
-+      carry = newTemp(Ity_I32);
-+      assign(carry, unop( Iop_64HIto32, mkexpr( res_64 ) ) );
-+
-+      /* result is the lower 32-bits */
-+      assign(res_32, unop( Iop_64to32, mkexpr( res_64 ) ) );
-+
-       if (modulo) {
-          result = newTemp(Ity_V128);
-          assign(result, binop( Iop_OrV128,
-@@ -18023,10 +18041,6 @@ static IRTemp _get_quad_modulo_or_carry(IRExpr * vecA, IRExpr * vecB,
-          tmp_result = newTemp(Ity_V128);
-          assign(tmp_result, mkexpr(result));
-       }
--      carry = newTemp(Ity_I32);
--      assign(carry, unop(Iop_1Uto32, binop( Iop_CmpLT32U,
--                                            mkexpr(res_32),
--                                            mkexpr(_vecA_32 ) ) ) );
-    }
-    if (modulo)
-       return result;
-commit 211840304bbac0dcda454ef41c557d8bcfdc6c78
-Author: carll <carll@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Tue Feb 16 21:23:52 2016 +0000
-
-    Power PPC 128bit modulo and carry instruction fix
-    
-    VEX commit 3209 fixed: an issue with caculating the carry to the next 32-bit
-    chunk for the Power PPC 128-bit add and subract instructions: vaddcuq, vadduqm,
-    vsubcuq, vsubuqm, vaddecuq, vaddeuqm, vsubecuq, vsubeuqm
-    
-    The corresponding test case didn't catch the issue.  This commit adds data
-    values to the test that verify the issue is fixed.
-    
-    Valgrind Bugzilla 359472
-    
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15790 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/none/tests/ppc64/jm_vec_isa_2_07.stdout.exp b/none/tests/ppc64/jm_vec_isa_2_07.stdout.exp
-index 9b5c24f..099491d 100644
---- a/none/tests/ppc64/jm_vec_isa_2_07.stdout.exp
-+++ b/none/tests/ppc64/jm_vec_isa_2_07.stdout.exp
-@@ -2,224 +2,1173 @@ mfvsrd: 0102030405060708 => 0102030405060708
- mfvsrd: 090a0b0c0e0d0e0f => 090a0b0c0e0d0e0f
- mfvsrd: f1f2f3f4f5f6f7f8 => f1f2f3f4f5f6f7f8
- mfvsrd: f9fafbfcfefdfeff => f9fafbfcfefdfeff
-+mfvsrd: 00007fffffffffff => 00007fffffffffff
-+mfvsrd: ffff000000000000 => ffff000000000000
-+mfvsrd: 0000800000000000 => 0000800000000000
-+mfvsrd: 0000000000000000 => 0000000000000000
-+mfvsrd: ffffffffffffffff => ffffffffffffffff
- 
- mfvsrwz: 0102030405060708 => 0000000005060708
- mfvsrwz: 090a0b0c0e0d0e0f => 000000000e0d0e0f
- mfvsrwz: f1f2f3f4f5f6f7f8 => 00000000f5f6f7f8
- mfvsrwz: f9fafbfcfefdfeff => 00000000fefdfeff
-+mfvsrwz: 00007fffffffffff => 00000000ffffffff
-+mfvsrwz: ffff000000000000 => 0000000000000000
-+mfvsrwz: 0000800000000000 => 0000000000000000
-+mfvsrwz: 0000000000000000 => 0000000000000000
-+mfvsrwz: ffffffffffffffff => 00000000ffffffff
- 
- mtvsrd: 0102030405060708 => 0102030405060708
- mtvsrd: 090a0b0c0e0d0e0f => 090a0b0c0e0d0e0f
- mtvsrd: f1f2f3f4f5f6f7f8 => f1f2f3f4f5f6f7f8
- mtvsrd: f9fafbfcfefdfeff => f9fafbfcfefdfeff
-+mtvsrd: 00007fffffffffff => 00007fffffffffff
-+mtvsrd: ffff000000000000 => ffff000000000000
-+mtvsrd: 0000800000000000 => 0000800000000000
-+mtvsrd: 0000000000000000 => 0000000000000000
-+mtvsrd: ffffffffffffffff => ffffffffffffffff
- 
- mtvsrwz: 05060708 => 0000000005060708
- mtvsrwz: 0e0d0e0f => 000000000e0d0e0f
- mtvsrwz: f5f6f7f8 => 00000000f5f6f7f8
- mtvsrwz: fefdfeff => 00000000fefdfeff
-+mtvsrwz: ffffffff => 00000000ffffffff
-+mtvsrwz: 00000000 => 0000000000000000
-+mtvsrwz: 00000000 => 0000000000000000
-+mtvsrwz: 00000000 => 0000000000000000
-+mtvsrwz: ffffffff => 00000000ffffffff
- 
- mtfprwa: 05060708 => 0000000005060708
- mtfprwa: 0e0d0e0f => 000000000e0d0e0f
- mtfprwa: f5f6f7f8 => fffffffff5f6f7f8
- mtfprwa: fefdfeff => fffffffffefdfeff
-+mtfprwa: ffffffff => ffffffffffffffff
-+mtfprwa: 00000000 => 0000000000000000
-+mtfprwa: 00000000 => 0000000000000000
-+mtfprwa: 00000000 => 0000000000000000
-+mtfprwa: ffffffff => ffffffffffffffff
- 
- vaddudm: 0102030405060708 @@ 0102030405060708  ==> 020406080a0c0e10
- 	090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f  ==> 121416181c1a1c1e
- vaddudm: 0102030405060708 @@ f1f2f3f4f5f6f7f8  ==> f2f4f6f8fafcff00
- 	090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff  ==> 030507090d0b0d0e
-+vaddudm: 0102030405060708 @@ 00007fffffffffff  ==> 0102830405060707
-+	090a0b0c0e0d0e0f @@ ffff000000000000  ==> 09090b0c0e0d0e0f
-+vaddudm: 0102030405060708 @@ 0000800000000000  ==> 0102830405060708
-+	090a0b0c0e0d0e0f @@ 0000000000000000  ==> 090a0b0c0e0d0e0f
-+vaddudm: 0102030405060708 @@ ffffffffffffffff  ==> 0102030405060707
-+	090a0b0c0e0d0e0f @@ 0000000000000051  ==> 090a0b0c0e0d0e60
- vaddudm: f1f2f3f4f5f6f7f8 @@ 0102030405060708  ==> f2f4f6f8fafcff00
- 	f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f  ==> 030507090d0b0d0e
- vaddudm: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8  ==> e3e5e7e9ebedeff0
- 	f9fafbfcfefdfeff @@ f9fafbfcfefdfeff  ==> f3f5f7f9fdfbfdfe
-+vaddudm: f1f2f3f4f5f6f7f8 @@ 00007fffffffffff  ==> f1f373f4f5f6f7f7
-+	f9fafbfcfefdfeff @@ ffff000000000000  ==> f9f9fbfcfefdfeff
-+vaddudm: f1f2f3f4f5f6f7f8 @@ 0000800000000000  ==> f1f373f4f5f6f7f8
-+	f9fafbfcfefdfeff @@ 0000000000000000  ==> f9fafbfcfefdfeff
-+vaddudm: f1f2f3f4f5f6f7f8 @@ ffffffffffffffff  ==> f1f2f3f4f5f6f7f7
-+	f9fafbfcfefdfeff @@ 0000000000000051  ==> f9fafbfcfefdff50
-+vaddudm: 00007fffffffffff @@ 0102030405060708  ==> 0102830405060707
-+	ffff000000000000 @@ 090a0b0c0e0d0e0f  ==> 09090b0c0e0d0e0f
-+vaddudm: 00007fffffffffff @@ f1f2f3f4f5f6f7f8  ==> f1f373f4f5f6f7f7
-+	ffff000000000000 @@ f9fafbfcfefdfeff  ==> f9f9fbfcfefdfeff
-+vaddudm: 00007fffffffffff @@ 00007fffffffffff  ==> 0000fffffffffffe
-+	ffff000000000000 @@ ffff000000000000  ==> fffe000000000000
-+vaddudm: 00007fffffffffff @@ 0000800000000000  ==> 0000ffffffffffff
-+	ffff000000000000 @@ 0000000000000000  ==> ffff000000000000
-+vaddudm: 00007fffffffffff @@ ffffffffffffffff  ==> 00007ffffffffffe
-+	ffff000000000000 @@ 0000000000000051  ==> ffff000000000051
-+vaddudm: 0000800000000000 @@ 0102030405060708  ==> 0102830405060708
-+	0000000000000000 @@ 090a0b0c0e0d0e0f  ==> 090a0b0c0e0d0e0f
-+vaddudm: 0000800000000000 @@ f1f2f3f4f5f6f7f8  ==> f1f373f4f5f6f7f8
-+	0000000000000000 @@ f9fafbfcfefdfeff  ==> f9fafbfcfefdfeff
-+vaddudm: 0000800000000000 @@ 00007fffffffffff  ==> 0000ffffffffffff
-+	0000000000000000 @@ ffff000000000000  ==> ffff000000000000
-+vaddudm: 0000800000000000 @@ 0000800000000000  ==> 0001000000000000
-+	0000000000000000 @@ 0000000000000000  ==> 0000000000000000
-+vaddudm: 0000800000000000 @@ ffffffffffffffff  ==> 00007fffffffffff
-+	0000000000000000 @@ 0000000000000051  ==> 0000000000000051
-+vaddudm: ffffffffffffffff @@ 0102030405060708  ==> 0102030405060707
-+	0000000000000051 @@ 090a0b0c0e0d0e0f  ==> 090a0b0c0e0d0e60
-+vaddudm: ffffffffffffffff @@ f1f2f3f4f5f6f7f8  ==> f1f2f3f4f5f6f7f7
-+	0000000000000051 @@ f9fafbfcfefdfeff  ==> f9fafbfcfefdff50
-+vaddudm: ffffffffffffffff @@ 00007fffffffffff  ==> 00007ffffffffffe
-+	0000000000000051 @@ ffff000000000000  ==> ffff000000000051
-+vaddudm: ffffffffffffffff @@ 0000800000000000  ==> 00007fffffffffff
-+	0000000000000051 @@ 0000000000000000  ==> 0000000000000051
-+vaddudm: ffffffffffffffff @@ ffffffffffffffff  ==> fffffffffffffffe
-+	0000000000000051 @@ 0000000000000051  ==> 00000000000000a2
- 
- vsubudm: 0102030405060708 @@ 0102030405060708  ==> 0000000000000000
- 	090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f  ==> 0000000000000000
- vsubudm: 0102030405060708 @@ f1f2f3f4f5f6f7f8  ==> 0f0f0f0f0f0f0f10
- 	090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff  ==> 0f0f0f0f0f0f0f10
-+vsubudm: 0102030405060708 @@ 00007fffffffffff  ==> 0101830405060709
-+	090a0b0c0e0d0e0f @@ ffff000000000000  ==> 090b0b0c0e0d0e0f
-+vsubudm: 0102030405060708 @@ 0000800000000000  ==> 0101830405060708
-+	090a0b0c0e0d0e0f @@ 0000000000000000  ==> 090a0b0c0e0d0e0f
-+vsubudm: 0102030405060708 @@ ffffffffffffffff  ==> 0102030405060709
-+	090a0b0c0e0d0e0f @@ 0000000000000051  ==> 090a0b0c0e0d0dbe
- vsubudm: f1f2f3f4f5f6f7f8 @@ 0102030405060708  ==> f0f0f0f0f0f0f0f0
- 	f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f  ==> f0f0f0f0f0f0f0f0
- vsubudm: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8  ==> 0000000000000000
- 	f9fafbfcfefdfeff @@ f9fafbfcfefdfeff  ==> 0000000000000000
-+vsubudm: f1f2f3f4f5f6f7f8 @@ 00007fffffffffff  ==> f1f273f4f5f6f7f9
-+	f9fafbfcfefdfeff @@ ffff000000000000  ==> f9fbfbfcfefdfeff
-+vsubudm: f1f2f3f4f5f6f7f8 @@ 0000800000000000  ==> f1f273f4f5f6f7f8
-+	f9fafbfcfefdfeff @@ 0000000000000000  ==> f9fafbfcfefdfeff
-+vsubudm: f1f2f3f4f5f6f7f8 @@ ffffffffffffffff  ==> f1f2f3f4f5f6f7f9
-+	f9fafbfcfefdfeff @@ 0000000000000051  ==> f9fafbfcfefdfeae
-+vsubudm: 00007fffffffffff @@ 0102030405060708  ==> fefe7cfbfaf9f8f7
-+	ffff000000000000 @@ 090a0b0c0e0d0e0f  ==> f6f4f4f3f1f2f1f1
-+vsubudm: 00007fffffffffff @@ f1f2f3f4f5f6f7f8  ==> 0e0d8c0b0a090807
-+	ffff000000000000 @@ f9fafbfcfefdfeff  ==> 0604040301020101
-+vsubudm: 00007fffffffffff @@ 00007fffffffffff  ==> 0000000000000000
-+	ffff000000000000 @@ ffff000000000000  ==> 0000000000000000
-+vsubudm: 00007fffffffffff @@ 0000800000000000  ==> ffffffffffffffff
-+	ffff000000000000 @@ 0000000000000000  ==> ffff000000000000
-+vsubudm: 00007fffffffffff @@ ffffffffffffffff  ==> 0000800000000000
-+	ffff000000000000 @@ 0000000000000051  ==> fffeffffffffffaf
-+vsubudm: 0000800000000000 @@ 0102030405060708  ==> fefe7cfbfaf9f8f8
-+	0000000000000000 @@ 090a0b0c0e0d0e0f  ==> f6f5f4f3f1f2f1f1
-+vsubudm: 0000800000000000 @@ f1f2f3f4f5f6f7f8  ==> 0e0d8c0b0a090808
-+	0000000000000000 @@ f9fafbfcfefdfeff  ==> 0605040301020101
-+vsubudm: 0000800000000000 @@ 00007fffffffffff  ==> 0000000000000001
-+	0000000000000000 @@ ffff000000000000  ==> 0001000000000000
-+vsubudm: 0000800000000000 @@ 0000800000000000  ==> 0000000000000000
-+	0000000000000000 @@ 0000000000000000  ==> 0000000000000000
-+vsubudm: 0000800000000000 @@ ffffffffffffffff  ==> 0000800000000001
-+	0000000000000000 @@ 0000000000000051  ==> ffffffffffffffaf
-+vsubudm: ffffffffffffffff @@ 0102030405060708  ==> fefdfcfbfaf9f8f7
-+	0000000000000051 @@ 090a0b0c0e0d0e0f  ==> f6f5f4f3f1f2f242
-+vsubudm: ffffffffffffffff @@ f1f2f3f4f5f6f7f8  ==> 0e0d0c0b0a090807
-+	0000000000000051 @@ f9fafbfcfefdfeff  ==> 0605040301020152
-+vsubudm: ffffffffffffffff @@ 00007fffffffffff  ==> ffff800000000000
-+	0000000000000051 @@ ffff000000000000  ==> 0001000000000051
-+vsubudm: ffffffffffffffff @@ 0000800000000000  ==> ffff7fffffffffff
-+	0000000000000051 @@ 0000000000000000  ==> 0000000000000051
-+vsubudm: ffffffffffffffff @@ ffffffffffffffff  ==> 0000000000000000
-+	0000000000000051 @@ 0000000000000051  ==> 0000000000000000
- 
- vmaxud: 0102030405060708 @@ 0102030405060708  ==> 0102030405060708
- 	090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f  ==> 090a0b0c0e0d0e0f
- vmaxud: 0102030405060708 @@ f1f2f3f4f5f6f7f8  ==> f1f2f3f4f5f6f7f8
- 	090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff  ==> f9fafbfcfefdfeff
-+vmaxud: 0102030405060708 @@ 00007fffffffffff  ==> 0102030405060708
-+	090a0b0c0e0d0e0f @@ ffff000000000000  ==> ffff000000000000
-+vmaxud: 0102030405060708 @@ 0000800000000000  ==> 0102030405060708
-+	090a0b0c0e0d0e0f @@ 0000000000000000  ==> 090a0b0c0e0d0e0f
-+vmaxud: 0102030405060708 @@ ffffffffffffffff  ==> ffffffffffffffff
-+	090a0b0c0e0d0e0f @@ 0000000000000051  ==> 090a0b0c0e0d0e0f
- vmaxud: f1f2f3f4f5f6f7f8 @@ 0102030405060708  ==> f1f2f3f4f5f6f7f8
- 	f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f  ==> f9fafbfcfefdfeff
- vmaxud: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8  ==> f1f2f3f4f5f6f7f8
- 	f9fafbfcfefdfeff @@ f9fafbfcfefdfeff  ==> f9fafbfcfefdfeff
-+vmaxud: f1f2f3f4f5f6f7f8 @@ 00007fffffffffff  ==> f1f2f3f4f5f6f7f8
-+	f9fafbfcfefdfeff @@ ffff000000000000  ==> ffff000000000000
-+vmaxud: f1f2f3f4f5f6f7f8 @@ 0000800000000000  ==> f1f2f3f4f5f6f7f8
-+	f9fafbfcfefdfeff @@ 0000000000000000  ==> f9fafbfcfefdfeff
-+vmaxud: f1f2f3f4f5f6f7f8 @@ ffffffffffffffff  ==> ffffffffffffffff
-+	f9fafbfcfefdfeff @@ 0000000000000051  ==> f9fafbfcfefdfeff
-+vmaxud: 00007fffffffffff @@ 0102030405060708  ==> 0102030405060708
-+	ffff000000000000 @@ 090a0b0c0e0d0e0f  ==> ffff000000000000
-+vmaxud: 00007fffffffffff @@ f1f2f3f4f5f6f7f8  ==> f1f2f3f4f5f6f7f8
-+	ffff000000000000 @@ f9fafbfcfefdfeff  ==> ffff000000000000
-+vmaxud: 00007fffffffffff @@ 00007fffffffffff  ==> 00007fffffffffff
-+	ffff000000000000 @@ ffff000000000000  ==> ffff000000000000
-+vmaxud: 00007fffffffffff @@ 0000800000000000  ==> 0000800000000000
-+	ffff000000000000 @@ 0000000000000000  ==> ffff000000000000
-+vmaxud: 00007fffffffffff @@ ffffffffffffffff  ==> ffffffffffffffff
-+	ffff000000000000 @@ 0000000000000051  ==> ffff000000000000
-+vmaxud: 0000800000000000 @@ 0102030405060708  ==> 0102030405060708
-+	0000000000000000 @@ 090a0b0c0e0d0e0f  ==> 090a0b0c0e0d0e0f
-+vmaxud: 0000800000000000 @@ f1f2f3f4f5f6f7f8  ==> f1f2f3f4f5f6f7f8
-+	0000000000000000 @@ f9fafbfcfefdfeff  ==> f9fafbfcfefdfeff
-+vmaxud: 0000800000000000 @@ 00007fffffffffff  ==> 0000800000000000
-+	0000000000000000 @@ ffff000000000000  ==> ffff000000000000
-+vmaxud: 0000800000000000 @@ 0000800000000000  ==> 0000800000000000
-+	0000000000000000 @@ 0000000000000000  ==> 0000000000000000
-+vmaxud: 0000800000000000 @@ ffffffffffffffff  ==> ffffffffffffffff
-+	0000000000000000 @@ 0000000000000051  ==> 0000000000000051
-+vmaxud: ffffffffffffffff @@ 0102030405060708  ==> ffffffffffffffff
-+	0000000000000051 @@ 090a0b0c0e0d0e0f  ==> 090a0b0c0e0d0e0f
-+vmaxud: ffffffffffffffff @@ f1f2f3f4f5f6f7f8  ==> ffffffffffffffff
-+	0000000000000051 @@ f9fafbfcfefdfeff  ==> f9fafbfcfefdfeff
-+vmaxud: ffffffffffffffff @@ 00007fffffffffff  ==> ffffffffffffffff
-+	0000000000000051 @@ ffff000000000000  ==> ffff000000000000
-+vmaxud: ffffffffffffffff @@ 0000800000000000  ==> ffffffffffffffff
-+	0000000000000051 @@ 0000000000000000  ==> 0000000000000051
-+vmaxud: ffffffffffffffff @@ ffffffffffffffff  ==> ffffffffffffffff
-+	0000000000000051 @@ 0000000000000051  ==> 0000000000000051
- 
- vmaxsd: 0102030405060708 @@ 0102030405060708  ==> 0102030405060708
- 	090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f  ==> 090a0b0c0e0d0e0f
- vmaxsd: 0102030405060708 @@ f1f2f3f4f5f6f7f8  ==> 0102030405060708
- 	090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff  ==> 090a0b0c0e0d0e0f
-+vmaxsd: 0102030405060708 @@ 00007fffffffffff  ==> 0102030405060708
-+	090a0b0c0e0d0e0f @@ ffff000000000000  ==> 090a0b0c0e0d0e0f
-+vmaxsd: 0102030405060708 @@ 0000800000000000  ==> 0102030405060708
-+	090a0b0c0e0d0e0f @@ 0000000000000000  ==> 090a0b0c0e0d0e0f
-+vmaxsd: 0102030405060708 @@ ffffffffffffffff  ==> 0102030405060708
-+	090a0b0c0e0d0e0f @@ 0000000000000051  ==> 090a0b0c0e0d0e0f
- vmaxsd: f1f2f3f4f5f6f7f8 @@ 0102030405060708  ==> 0102030405060708
- 	f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f  ==> 090a0b0c0e0d0e0f
- vmaxsd: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8  ==> f1f2f3f4f5f6f7f8
- 	f9fafbfcfefdfeff @@ f9fafbfcfefdfeff  ==> f9fafbfcfefdfeff
-+vmaxsd: f1f2f3f4f5f6f7f8 @@ 00007fffffffffff  ==> 00007fffffffffff
-+	f9fafbfcfefdfeff @@ ffff000000000000  ==> ffff000000000000
-+vmaxsd: f1f2f3f4f5f6f7f8 @@ 0000800000000000  ==> 0000800000000000
-+	f9fafbfcfefdfeff @@ 0000000000000000  ==> 0000000000000000
-+vmaxsd: f1f2f3f4f5f6f7f8 @@ ffffffffffffffff  ==> ffffffffffffffff
-+	f9fafbfcfefdfeff @@ 0000000000000051  ==> 0000000000000051
-+vmaxsd: 00007fffffffffff @@ 0102030405060708  ==> 0102030405060708
-+	ffff000000000000 @@ 090a0b0c0e0d0e0f  ==> 090a0b0c0e0d0e0f
-+vmaxsd: 00007fffffffffff @@ f1f2f3f4f5f6f7f8  ==> 00007fffffffffff
-+	ffff000000000000 @@ f9fafbfcfefdfeff  ==> ffff000000000000
-+vmaxsd: 00007fffffffffff @@ 00007fffffffffff  ==> 00007fffffffffff
-+	ffff000000000000 @@ ffff000000000000  ==> ffff000000000000
-+vmaxsd: 00007fffffffffff @@ 0000800000000000  ==> 0000800000000000
-+	ffff000000000000 @@ 0000000000000000  ==> 0000000000000000
-+vmaxsd: 00007fffffffffff @@ ffffffffffffffff  ==> 00007fffffffffff
-+	ffff000000000000 @@ 0000000000000051  ==> 0000000000000051
-+vmaxsd: 0000800000000000 @@ 0102030405060708  ==> 0102030405060708
-+	0000000000000000 @@ 090a0b0c0e0d0e0f  ==> 090a0b0c0e0d0e0f
-+vmaxsd: 0000800000000000 @@ f1f2f3f4f5f6f7f8  ==> 0000800000000000
-+	0000000000000000 @@ f9fafbfcfefdfeff  ==> 0000000000000000
-+vmaxsd: 0000800000000000 @@ 00007fffffffffff  ==> 0000800000000000
-+	0000000000000000 @@ ffff000000000000  ==> 0000000000000000
-+vmaxsd: 0000800000000000 @@ 0000800000000000  ==> 0000800000000000
-+	0000000000000000 @@ 0000000000000000  ==> 0000000000000000
-+vmaxsd: 0000800000000000 @@ ffffffffffffffff  ==> 0000800000000000
-+	0000000000000000 @@ 0000000000000051  ==> 0000000000000051
-+vmaxsd: ffffffffffffffff @@ 0102030405060708  ==> 0102030405060708
-+	0000000000000051 @@ 090a0b0c0e0d0e0f  ==> 090a0b0c0e0d0e0f
-+vmaxsd: ffffffffffffffff @@ f1f2f3f4f5f6f7f8  ==> ffffffffffffffff
-+	0000000000000051 @@ f9fafbfcfefdfeff  ==> 0000000000000051
-+vmaxsd: ffffffffffffffff @@ 00007fffffffffff  ==> 00007fffffffffff
-+	0000000000000051 @@ ffff000000000000  ==> 0000000000000051
-+vmaxsd: ffffffffffffffff @@ 0000800000000000  ==> 0000800000000000
-+	0000000000000051 @@ 0000000000000000  ==> 0000000000000051
-+vmaxsd: ffffffffffffffff @@ ffffffffffffffff  ==> ffffffffffffffff
-+	0000000000000051 @@ 0000000000000051  ==> 0000000000000051
- 
- vminud: 0102030405060708 @@ 0102030405060708  ==> 0102030405060708
- 	090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f  ==> 090a0b0c0e0d0e0f
- vminud: 0102030405060708 @@ f1f2f3f4f5f6f7f8  ==> 0102030405060708
- 	090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff  ==> 090a0b0c0e0d0e0f
-+vminud: 0102030405060708 @@ 00007fffffffffff  ==> 00007fffffffffff
-+	090a0b0c0e0d0e0f @@ ffff000000000000  ==> 090a0b0c0e0d0e0f
-+vminud: 0102030405060708 @@ 0000800000000000  ==> 0000800000000000
-+	090a0b0c0e0d0e0f @@ 0000000000000000  ==> 0000000000000000
-+vminud: 0102030405060708 @@ ffffffffffffffff  ==> 0102030405060708
-+	090a0b0c0e0d0e0f @@ 0000000000000051  ==> 0000000000000051
- vminud: f1f2f3f4f5f6f7f8 @@ 0102030405060708  ==> 0102030405060708
- 	f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f  ==> 090a0b0c0e0d0e0f
- vminud: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8  ==> f1f2f3f4f5f6f7f8
- 	f9fafbfcfefdfeff @@ f9fafbfcfefdfeff  ==> f9fafbfcfefdfeff
-+vminud: f1f2f3f4f5f6f7f8 @@ 00007fffffffffff  ==> 00007fffffffffff
-+	f9fafbfcfefdfeff @@ ffff000000000000  ==> f9fafbfcfefdfeff
-+vminud: f1f2f3f4f5f6f7f8 @@ 0000800000000000  ==> 0000800000000000
-+	f9fafbfcfefdfeff @@ 0000000000000000  ==> 0000000000000000
-+vminud: f1f2f3f4f5f6f7f8 @@ ffffffffffffffff  ==> f1f2f3f4f5f6f7f8
-+	f9fafbfcfefdfeff @@ 0000000000000051  ==> 0000000000000051
-+vminud: 00007fffffffffff @@ 0102030405060708  ==> 00007fffffffffff
-+	ffff000000000000 @@ 090a0b0c0e0d0e0f  ==> 090a0b0c0e0d0e0f
-+vminud: 00007fffffffffff @@ f1f2f3f4f5f6f7f8  ==> 00007fffffffffff
-+	ffff000000000000 @@ f9fafbfcfefdfeff  ==> f9fafbfcfefdfeff
-+vminud: 00007fffffffffff @@ 00007fffffffffff  ==> 00007fffffffffff
-+	ffff000000000000 @@ ffff000000000000  ==> ffff000000000000
-+vminud: 00007fffffffffff @@ 0000800000000000  ==> 00007fffffffffff
-+	ffff000000000000 @@ 0000000000000000  ==> 0000000000000000
-+vminud: 00007fffffffffff @@ ffffffffffffffff  ==> 00007fffffffffff
-+	ffff000000000000 @@ 0000000000000051  ==> 0000000000000051
-+vminud: 0000800000000000 @@ 0102030405060708  ==> 0000800000000000
-+	0000000000000000 @@ 090a0b0c0e0d0e0f  ==> 0000000000000000
-+vminud: 0000800000000000 @@ f1f2f3f4f5f6f7f8  ==> 0000800000000000
-+	0000000000000000 @@ f9fafbfcfefdfeff  ==> 0000000000000000
-+vminud: 0000800000000000 @@ 00007fffffffffff  ==> 00007fffffffffff
-+	0000000000000000 @@ ffff000000000000  ==> 0000000000000000
-+vminud: 0000800000000000 @@ 0000800000000000  ==> 0000800000000000
-+	0000000000000000 @@ 0000000000000000  ==> 0000000000000000
-+vminud: 0000800000000000 @@ ffffffffffffffff  ==> 0000800000000000
-+	0000000000000000 @@ 0000000000000051  ==> 0000000000000000
-+vminud: ffffffffffffffff @@ 0102030405060708  ==> 0102030405060708
-+	0000000000000051 @@ 090a0b0c0e0d0e0f  ==> 0000000000000051
-+vminud: ffffffffffffffff @@ f1f2f3f4f5f6f7f8  ==> f1f2f3f4f5f6f7f8
-+	0000000000000051 @@ f9fafbfcfefdfeff  ==> 0000000000000051
-+vminud: ffffffffffffffff @@ 00007fffffffffff  ==> 00007fffffffffff
-+	0000000000000051 @@ ffff000000000000  ==> 0000000000000051
-+vminud: ffffffffffffffff @@ 0000800000000000  ==> 0000800000000000
-+	0000000000000051 @@ 0000000000000000  ==> 0000000000000000
-+vminud: ffffffffffffffff @@ ffffffffffffffff  ==> ffffffffffffffff
-+	0000000000000051 @@ 0000000000000051  ==> 0000000000000051
- 
- vminsd: 0102030405060708 @@ 0102030405060708  ==> 0102030405060708
- 	090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f  ==> 090a0b0c0e0d0e0f
- vminsd: 0102030405060708 @@ f1f2f3f4f5f6f7f8  ==> f1f2f3f4f5f6f7f8
- 	090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff  ==> f9fafbfcfefdfeff
-+vminsd: 0102030405060708 @@ 00007fffffffffff  ==> 00007fffffffffff
-+	090a0b0c0e0d0e0f @@ ffff000000000000  ==> ffff000000000000
-+vminsd: 0102030405060708 @@ 0000800000000000  ==> 0000800000000000
-+	090a0b0c0e0d0e0f @@ 0000000000000000  ==> 0000000000000000
-+vminsd: 0102030405060708 @@ ffffffffffffffff  ==> ffffffffffffffff
-+	090a0b0c0e0d0e0f @@ 0000000000000051  ==> 0000000000000051
- vminsd: f1f2f3f4f5f6f7f8 @@ 0102030405060708  ==> f1f2f3f4f5f6f7f8
- 	f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f  ==> f9fafbfcfefdfeff
- vminsd: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8  ==> f1f2f3f4f5f6f7f8
- 	f9fafbfcfefdfeff @@ f9fafbfcfefdfeff  ==> f9fafbfcfefdfeff
-+vminsd: f1f2f3f4f5f6f7f8 @@ 00007fffffffffff  ==> f1f2f3f4f5f6f7f8
-+	f9fafbfcfefdfeff @@ ffff000000000000  ==> f9fafbfcfefdfeff
-+vminsd: f1f2f3f4f5f6f7f8 @@ 0000800000000000  ==> f1f2f3f4f5f6f7f8
-+	f9fafbfcfefdfeff @@ 0000000000000000  ==> f9fafbfcfefdfeff
-+vminsd: f1f2f3f4f5f6f7f8 @@ ffffffffffffffff  ==> f1f2f3f4f5f6f7f8
-+	f9fafbfcfefdfeff @@ 0000000000000051  ==> f9fafbfcfefdfeff
-+vminsd: 00007fffffffffff @@ 0102030405060708  ==> 00007fffffffffff
-+	ffff000000000000 @@ 090a0b0c0e0d0e0f  ==> ffff000000000000
-+vminsd: 00007fffffffffff @@ f1f2f3f4f5f6f7f8  ==> f1f2f3f4f5f6f7f8
-+	ffff000000000000 @@ f9fafbfcfefdfeff  ==> f9fafbfcfefdfeff
-+vminsd: 00007fffffffffff @@ 00007fffffffffff  ==> 00007fffffffffff
-+	ffff000000000000 @@ ffff000000000000  ==> ffff000000000000
-+vminsd: 00007fffffffffff @@ 0000800000000000  ==> 00007fffffffffff
-+	ffff000000000000 @@ 0000000000000000  ==> ffff000000000000
-+vminsd: 00007fffffffffff @@ ffffffffffffffff  ==> ffffffffffffffff
-+	ffff000000000000 @@ 0000000000000051  ==> ffff000000000000
-+vminsd: 0000800000000000 @@ 0102030405060708  ==> 0000800000000000
-+	0000000000000000 @@ 090a0b0c0e0d0e0f  ==> 0000000000000000
-+vminsd: 0000800000000000 @@ f1f2f3f4f5f6f7f8  ==> f1f2f3f4f5f6f7f8
-+	0000000000000000 @@ f9fafbfcfefdfeff  ==> f9fafbfcfefdfeff
-+vminsd: 0000800000000000 @@ 00007fffffffffff  ==> 00007fffffffffff
-+	0000000000000000 @@ ffff000000000000  ==> ffff000000000000
-+vminsd: 0000800000000000 @@ 0000800000000000  ==> 0000800000000000
-+	0000000000000000 @@ 0000000000000000  ==> 0000000000000000
-+vminsd: 0000800000000000 @@ ffffffffffffffff  ==> ffffffffffffffff
-+	0000000000000000 @@ 0000000000000051  ==> 0000000000000000
-+vminsd: ffffffffffffffff @@ 0102030405060708  ==> ffffffffffffffff
-+	0000000000000051 @@ 090a0b0c0e0d0e0f  ==> 0000000000000051
-+vminsd: ffffffffffffffff @@ f1f2f3f4f5f6f7f8  ==> f1f2f3f4f5f6f7f8
-+	0000000000000051 @@ f9fafbfcfefdfeff  ==> f9fafbfcfefdfeff
-+vminsd: ffffffffffffffff @@ 00007fffffffffff  ==> ffffffffffffffff
-+	0000000000000051 @@ ffff000000000000  ==> ffff000000000000
-+vminsd: ffffffffffffffff @@ 0000800000000000  ==> ffffffffffffffff
-+	0000000000000051 @@ 0000000000000000  ==> 0000000000000000
-+vminsd: ffffffffffffffff @@ ffffffffffffffff  ==> ffffffffffffffff
-+	0000000000000051 @@ 0000000000000051  ==> 0000000000000051
- 
- vcmpequd: 0102030405060708 @@ 0102030405060708  ==> ffffffffffffffff
- 	090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f  ==> ffffffffffffffff
- vcmpequd: 0102030405060708 @@ f1f2f3f4f5f6f7f8  ==> 0000000000000000
- 	090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff  ==> 0000000000000000
-+vcmpequd: 0102030405060708 @@ 00007fffffffffff  ==> 0000000000000000
-+	090a0b0c0e0d0e0f @@ ffff000000000000  ==> 0000000000000000
-+vcmpequd: 0102030405060708 @@ 0000800000000000  ==> 0000000000000000
-+	090a0b0c0e0d0e0f @@ 0000000000000000  ==> 0000000000000000
-+vcmpequd: 0102030405060708 @@ ffffffffffffffff  ==> 0000000000000000
-+	090a0b0c0e0d0e0f @@ 0000000000000051  ==> 0000000000000000
- vcmpequd: f1f2f3f4f5f6f7f8 @@ 0102030405060708  ==> 0000000000000000
- 	f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f  ==> 0000000000000000
- vcmpequd: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8  ==> ffffffffffffffff
- 	f9fafbfcfefdfeff @@ f9fafbfcfefdfeff  ==> ffffffffffffffff
-+vcmpequd: f1f2f3f4f5f6f7f8 @@ 00007fffffffffff  ==> 0000000000000000
-+	f9fafbfcfefdfeff @@ ffff000000000000  ==> 0000000000000000
-+vcmpequd: f1f2f3f4f5f6f7f8 @@ 0000800000000000  ==> 0000000000000000
-+	f9fafbfcfefdfeff @@ 0000000000000000  ==> 0000000000000000
-+vcmpequd: f1f2f3f4f5f6f7f8 @@ ffffffffffffffff  ==> 0000000000000000
-+	f9fafbfcfefdfeff @@ 0000000000000051  ==> 0000000000000000
-+vcmpequd: 00007fffffffffff @@ 0102030405060708  ==> 0000000000000000
-+	ffff000000000000 @@ 090a0b0c0e0d0e0f  ==> 0000000000000000
-+vcmpequd: 00007fffffffffff @@ f1f2f3f4f5f6f7f8  ==> 0000000000000000
-+	ffff000000000000 @@ f9fafbfcfefdfeff  ==> 0000000000000000
-+vcmpequd: 00007fffffffffff @@ 00007fffffffffff  ==> ffffffffffffffff
-+	ffff000000000000 @@ ffff000000000000  ==> ffffffffffffffff
-+vcmpequd: 00007fffffffffff @@ 0000800000000000  ==> 0000000000000000
-+	ffff000000000000 @@ 0000000000000000  ==> 0000000000000000
-+vcmpequd: 00007fffffffffff @@ ffffffffffffffff  ==> 0000000000000000
-+	ffff000000000000 @@ 0000000000000051  ==> 0000000000000000
-+vcmpequd: 0000800000000000 @@ 0102030405060708  ==> 0000000000000000
-+	0000000000000000 @@ 090a0b0c0e0d0e0f  ==> 0000000000000000
-+vcmpequd: 0000800000000000 @@ f1f2f3f4f5f6f7f8  ==> 0000000000000000
-+	0000000000000000 @@ f9fafbfcfefdfeff  ==> 0000000000000000
-+vcmpequd: 0000800000000000 @@ 00007fffffffffff  ==> 0000000000000000
-+	0000000000000000 @@ ffff000000000000  ==> 0000000000000000
-+vcmpequd: 0000800000000000 @@ 0000800000000000  ==> ffffffffffffffff
-+	0000000000000000 @@ 0000000000000000  ==> ffffffffffffffff
-+vcmpequd: 0000800000000000 @@ ffffffffffffffff  ==> 0000000000000000
-+	0000000000000000 @@ 0000000000000051  ==> 0000000000000000
-+vcmpequd: ffffffffffffffff @@ 0102030405060708  ==> 0000000000000000
-+	0000000000000051 @@ 090a0b0c0e0d0e0f  ==> 0000000000000000
-+vcmpequd: ffffffffffffffff @@ f1f2f3f4f5f6f7f8  ==> 0000000000000000
-+	0000000000000051 @@ f9fafbfcfefdfeff  ==> 0000000000000000
-+vcmpequd: ffffffffffffffff @@ 00007fffffffffff  ==> 0000000000000000
-+	0000000000000051 @@ ffff000000000000  ==> 0000000000000000
-+vcmpequd: ffffffffffffffff @@ 0000800000000000  ==> 0000000000000000
-+	0000000000000051 @@ 0000000000000000  ==> 0000000000000000
-+vcmpequd: ffffffffffffffff @@ ffffffffffffffff  ==> ffffffffffffffff
-+	0000000000000051 @@ 0000000000000051  ==> ffffffffffffffff
- 
- vcmpgtud: 0102030405060708 @@ 0102030405060708  ==> 0000000000000000
- 	090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f  ==> 0000000000000000
- vcmpgtud: 0102030405060708 @@ f1f2f3f4f5f6f7f8  ==> 0000000000000000
- 	090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff  ==> 0000000000000000
-+vcmpgtud: 0102030405060708 @@ 00007fffffffffff  ==> ffffffffffffffff
-+	090a0b0c0e0d0e0f @@ ffff000000000000  ==> 0000000000000000
-+vcmpgtud: 0102030405060708 @@ 0000800000000000  ==> ffffffffffffffff
-+	090a0b0c0e0d0e0f @@ 0000000000000000  ==> ffffffffffffffff
-+vcmpgtud: 0102030405060708 @@ ffffffffffffffff  ==> 0000000000000000
-+	090a0b0c0e0d0e0f @@ 0000000000000051  ==> ffffffffffffffff
- vcmpgtud: f1f2f3f4f5f6f7f8 @@ 0102030405060708  ==> ffffffffffffffff
- 	f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f  ==> ffffffffffffffff
- vcmpgtud: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8  ==> 0000000000000000
- 	f9fafbfcfefdfeff @@ f9fafbfcfefdfeff  ==> 0000000000000000
-+vcmpgtud: f1f2f3f4f5f6f7f8 @@ 00007fffffffffff  ==> ffffffffffffffff
-+	f9fafbfcfefdfeff @@ ffff000000000000  ==> 0000000000000000
-+vcmpgtud: f1f2f3f4f5f6f7f8 @@ 0000800000000000  ==> ffffffffffffffff
-+	f9fafbfcfefdfeff @@ 0000000000000000  ==> ffffffffffffffff
-+vcmpgtud: f1f2f3f4f5f6f7f8 @@ ffffffffffffffff  ==> 0000000000000000
-+	f9fafbfcfefdfeff @@ 0000000000000051  ==> ffffffffffffffff
-+vcmpgtud: 00007fffffffffff @@ 0102030405060708  ==> 0000000000000000
-+	ffff000000000000 @@ 090a0b0c0e0d0e0f  ==> ffffffffffffffff
-+vcmpgtud: 00007fffffffffff @@ f1f2f3f4f5f6f7f8  ==> 0000000000000000
-+	ffff000000000000 @@ f9fafbfcfefdfeff  ==> ffffffffffffffff
-+vcmpgtud: 00007fffffffffff @@ 00007fffffffffff  ==> 0000000000000000
-+	ffff000000000000 @@ ffff000000000000  ==> 0000000000000000
-+vcmpgtud: 00007fffffffffff @@ 0000800000000000  ==> 0000000000000000
-+	ffff000000000000 @@ 0000000000000000  ==> ffffffffffffffff
-+vcmpgtud: 00007fffffffffff @@ ffffffffffffffff  ==> 0000000000000000
-+	ffff000000000000 @@ 0000000000000051  ==> ffffffffffffffff
-+vcmpgtud: 0000800000000000 @@ 0102030405060708  ==> 0000000000000000
-+	0000000000000000 @@ 090a0b0c0e0d0e0f  ==> 0000000000000000
-+vcmpgtud: 0000800000000000 @@ f1f2f3f4f5f6f7f8  ==> 0000000000000000
-+	0000000000000000 @@ f9fafbfcfefdfeff  ==> 0000000000000000
-+vcmpgtud: 0000800000000000 @@ 00007fffffffffff  ==> ffffffffffffffff
-+	0000000000000000 @@ ffff000000000000  ==> 0000000000000000
-+vcmpgtud: 0000800000000000 @@ 0000800000000000  ==> 0000000000000000
-+	0000000000000000 @@ 0000000000000000  ==> 0000000000000000
-+vcmpgtud: 0000800000000000 @@ ffffffffffffffff  ==> 0000000000000000
-+	0000000000000000 @@ 0000000000000051  ==> 0000000000000000
-+vcmpgtud: ffffffffffffffff @@ 0102030405060708  ==> ffffffffffffffff
-+	0000000000000051 @@ 090a0b0c0e0d0e0f  ==> 0000000000000000
-+vcmpgtud: ffffffffffffffff @@ f1f2f3f4f5f6f7f8  ==> ffffffffffffffff
-+	0000000000000051 @@ f9fafbfcfefdfeff  ==> 0000000000000000
-+vcmpgtud: ffffffffffffffff @@ 00007fffffffffff  ==> ffffffffffffffff
-+	0000000000000051 @@ ffff000000000000  ==> 0000000000000000
-+vcmpgtud: ffffffffffffffff @@ 0000800000000000  ==> ffffffffffffffff
-+	0000000000000051 @@ 0000000000000000  ==> ffffffffffffffff
-+vcmpgtud: ffffffffffffffff @@ ffffffffffffffff  ==> 0000000000000000
-+	0000000000000051 @@ 0000000000000051  ==> 0000000000000000
- 
- vcmpgtsd: 0102030405060708 @@ 0102030405060708  ==> 0000000000000000
- 	090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f  ==> 0000000000000000
- vcmpgtsd: 0102030405060708 @@ f1f2f3f4f5f6f7f8  ==> ffffffffffffffff
- 	090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff  ==> ffffffffffffffff
-+vcmpgtsd: 0102030405060708 @@ 00007fffffffffff  ==> ffffffffffffffff
-+	090a0b0c0e0d0e0f @@ ffff000000000000  ==> ffffffffffffffff
-+vcmpgtsd: 0102030405060708 @@ 0000800000000000  ==> ffffffffffffffff
-+	090a0b0c0e0d0e0f @@ 0000000000000000  ==> ffffffffffffffff
-+vcmpgtsd: 0102030405060708 @@ ffffffffffffffff  ==> ffffffffffffffff
-+	090a0b0c0e0d0e0f @@ 0000000000000051  ==> ffffffffffffffff
- vcmpgtsd: f1f2f3f4f5f6f7f8 @@ 0102030405060708  ==> 0000000000000000
- 	f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f  ==> 0000000000000000
- vcmpgtsd: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8  ==> 0000000000000000
- 	f9fafbfcfefdfeff @@ f9fafbfcfefdfeff  ==> 0000000000000000
-+vcmpgtsd: f1f2f3f4f5f6f7f8 @@ 00007fffffffffff  ==> 0000000000000000
-+	f9fafbfcfefdfeff @@ ffff000000000000  ==> 0000000000000000
-+vcmpgtsd: f1f2f3f4f5f6f7f8 @@ 0000800000000000  ==> 0000000000000000
-+	f9fafbfcfefdfeff @@ 0000000000000000  ==> 0000000000000000
-+vcmpgtsd: f1f2f3f4f5f6f7f8 @@ ffffffffffffffff  ==> 0000000000000000
-+	f9fafbfcfefdfeff @@ 0000000000000051  ==> 0000000000000000
-+vcmpgtsd: 00007fffffffffff @@ 0102030405060708  ==> 0000000000000000
-+	ffff000000000000 @@ 090a0b0c0e0d0e0f  ==> 0000000000000000
-+vcmpgtsd: 00007fffffffffff @@ f1f2f3f4f5f6f7f8  ==> ffffffffffffffff
-+	ffff000000000000 @@ f9fafbfcfefdfeff  ==> ffffffffffffffff
-+vcmpgtsd: 00007fffffffffff @@ 00007fffffffffff  ==> 0000000000000000
-+	ffff000000000000 @@ ffff000000000000  ==> 0000000000000000
-+vcmpgtsd: 00007fffffffffff @@ 0000800000000000  ==> 0000000000000000
-+	ffff000000000000 @@ 0000000000000000  ==> 0000000000000000
-+vcmpgtsd: 00007fffffffffff @@ ffffffffffffffff  ==> ffffffffffffffff
-+	ffff000000000000 @@ 0000000000000051  ==> 0000000000000000
-+vcmpgtsd: 0000800000000000 @@ 0102030405060708  ==> 0000000000000000
-+	0000000000000000 @@ 090a0b0c0e0d0e0f  ==> 0000000000000000
-+vcmpgtsd: 0000800000000000 @@ f1f2f3f4f5f6f7f8  ==> ffffffffffffffff
-+	0000000000000000 @@ f9fafbfcfefdfeff  ==> ffffffffffffffff
-+vcmpgtsd: 0000800000000000 @@ 00007fffffffffff  ==> ffffffffffffffff
-+	0000000000000000 @@ ffff000000000000  ==> ffffffffffffffff
-+vcmpgtsd: 0000800000000000 @@ 0000800000000000  ==> 0000000000000000
-+	0000000000000000 @@ 0000000000000000  ==> 0000000000000000
-+vcmpgtsd: 0000800000000000 @@ ffffffffffffffff  ==> ffffffffffffffff
-+	0000000000000000 @@ 0000000000000051  ==> 0000000000000000
-+vcmpgtsd: ffffffffffffffff @@ 0102030405060708  ==> 0000000000000000
-+	0000000000000051 @@ 090a0b0c0e0d0e0f  ==> 0000000000000000
-+vcmpgtsd: ffffffffffffffff @@ f1f2f3f4f5f6f7f8  ==> ffffffffffffffff
-+	0000000000000051 @@ f9fafbfcfefdfeff  ==> ffffffffffffffff
-+vcmpgtsd: ffffffffffffffff @@ 00007fffffffffff  ==> 0000000000000000
-+	0000000000000051 @@ ffff000000000000  ==> ffffffffffffffff
-+vcmpgtsd: ffffffffffffffff @@ 0000800000000000  ==> 0000000000000000
-+	0000000000000051 @@ 0000000000000000  ==> ffffffffffffffff
-+vcmpgtsd: ffffffffffffffff @@ ffffffffffffffff  ==> 0000000000000000
-+	0000000000000051 @@ 0000000000000051  ==> 0000000000000000
- 
- vrld: 0102030405060708 @@ 0102030405060708  ==> 0203040506070801
- 	090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f  ==> 0586070687078485
- vrld: 0102030405060708 @@ f1f2f3f4f5f6f7f8  ==> 0801020304050607
- 	090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff  ==> 8485058607068707
-+vrld: 0102030405060708 @@ 00007fffffffffff  ==> 0081018202830384
-+	090a0b0c0e0d0e0f @@ ffff000000000000  ==> 090a0b0c0e0d0e0f
-+vrld: 0102030405060708 @@ 0000800000000000  ==> 0102030405060708
-+	090a0b0c0e0d0e0f @@ 0000000000000000  ==> 090a0b0c0e0d0e0f
-+vrld: 0102030405060708 @@ ffffffffffffffff  ==> 0081018202830384
-+	090a0b0c0e0d0e0f @@ 0000000000000051  ==> 16181c1a1c1e1214
- vrld: f1f2f3f4f5f6f7f8 @@ 0102030405060708  ==> f2f3f4f5f6f7f8f1
- 	f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f  ==> 7dfe7f7eff7ffcfd
- vrld: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8  ==> f8f1f2f3f4f5f6f7
- 	f9fafbfcfefdfeff @@ f9fafbfcfefdfeff  ==> fcfd7dfe7f7eff7f
-+vrld: f1f2f3f4f5f6f7f8 @@ 00007fffffffffff  ==> 78f979fa7afb7bfc
-+	f9fafbfcfefdfeff @@ ffff000000000000  ==> f9fafbfcfefdfeff
-+vrld: f1f2f3f4f5f6f7f8 @@ 0000800000000000  ==> f1f2f3f4f5f6f7f8
-+	f9fafbfcfefdfeff @@ 0000000000000000  ==> f9fafbfcfefdfeff
-+vrld: f1f2f3f4f5f6f7f8 @@ ffffffffffffffff  ==> 78f979fa7afb7bfc
-+	f9fafbfcfefdfeff @@ 0000000000000051  ==> f7f9fdfbfdfff3f5
-+vrld: 00007fffffffffff @@ 0102030405060708  ==> 007fffffffffff00
-+	ffff000000000000 @@ 090a0b0c0e0d0e0f  ==> 8000000000007fff
-+vrld: 00007fffffffffff @@ f1f2f3f4f5f6f7f8  ==> ff00007fffffffff
-+	ffff000000000000 @@ f9fafbfcfefdfeff  ==> 7fff800000000000
-+vrld: 00007fffffffffff @@ 00007fffffffffff  ==> 80003fffffffffff
-+	ffff000000000000 @@ ffff000000000000  ==> ffff000000000000
-+vrld: 00007fffffffffff @@ 0000800000000000  ==> 00007fffffffffff
-+	ffff000000000000 @@ 0000000000000000  ==> ffff000000000000
-+vrld: 00007fffffffffff @@ ffffffffffffffff  ==> 80003fffffffffff
-+	ffff000000000000 @@ 0000000000000051  ==> 000000000001fffe
-+vrld: 0000800000000000 @@ 0102030405060708  ==> 0080000000000000
-+	0000000000000000 @@ 090a0b0c0e0d0e0f  ==> 0000000000000000
-+vrld: 0000800000000000 @@ f1f2f3f4f5f6f7f8  ==> 0000008000000000
-+	0000000000000000 @@ f9fafbfcfefdfeff  ==> 0000000000000000
-+vrld: 0000800000000000 @@ 00007fffffffffff  ==> 0000400000000000
-+	0000000000000000 @@ ffff000000000000  ==> 0000000000000000
-+vrld: 0000800000000000 @@ 0000800000000000  ==> 0000800000000000
-+	0000000000000000 @@ 0000000000000000  ==> 0000000000000000
-+vrld: 0000800000000000 @@ ffffffffffffffff  ==> 0000400000000000
-+	0000000000000000 @@ 0000000000000051  ==> 0000000000000000
-+vrld: ffffffffffffffff @@ 0102030405060708  ==> ffffffffffffffff
-+	0000000000000051 @@ 090a0b0c0e0d0e0f  ==> 0000000000288000
-+vrld: ffffffffffffffff @@ f1f2f3f4f5f6f7f8  ==> ffffffffffffffff
-+	0000000000000051 @@ f9fafbfcfefdfeff  ==> 8000000000000028
-+vrld: ffffffffffffffff @@ 00007fffffffffff  ==> ffffffffffffffff
-+	0000000000000051 @@ ffff000000000000  ==> 0000000000000051
-+vrld: ffffffffffffffff @@ 0000800000000000  ==> ffffffffffffffff
-+	0000000000000051 @@ 0000000000000000  ==> 0000000000000051
-+vrld: ffffffffffffffff @@ ffffffffffffffff  ==> ffffffffffffffff
-+	0000000000000051 @@ 0000000000000051  ==> 0000000000a20000
- 
- vsld: 0102030405060708 @@ 0102030405060708  ==> 0203040506070800
- 	090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f  ==> 0586070687078000
- vsld: 0102030405060708 @@ f1f2f3f4f5f6f7f8  ==> 0800000000000000
- 	090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff  ==> 8000000000000000
-+vsld: 0102030405060708 @@ 00007fffffffffff  ==> 0000000000000000
-+	090a0b0c0e0d0e0f @@ ffff000000000000  ==> 090a0b0c0e0d0e0f
-+vsld: 0102030405060708 @@ 0000800000000000  ==> 0102030405060708
-+	090a0b0c0e0d0e0f @@ 0000000000000000  ==> 090a0b0c0e0d0e0f
-+vsld: 0102030405060708 @@ ffffffffffffffff  ==> 0000000000000000
-+	090a0b0c0e0d0e0f @@ 0000000000000051  ==> 16181c1a1c1e0000
- vsld: f1f2f3f4f5f6f7f8 @@ 0102030405060708  ==> f2f3f4f5f6f7f800
- 	f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f  ==> 7dfe7f7eff7f8000
- vsld: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8  ==> f800000000000000
- 	f9fafbfcfefdfeff @@ f9fafbfcfefdfeff  ==> 8000000000000000
-+vsld: f1f2f3f4f5f6f7f8 @@ 00007fffffffffff  ==> 0000000000000000
-+	f9fafbfcfefdfeff @@ ffff000000000000  ==> f9fafbfcfefdfeff
-+vsld: f1f2f3f4f5f6f7f8 @@ 0000800000000000  ==> f1f2f3f4f5f6f7f8
-+	f9fafbfcfefdfeff @@ 0000000000000000  ==> f9fafbfcfefdfeff
-+vsld: f1f2f3f4f5f6f7f8 @@ ffffffffffffffff  ==> 0000000000000000
-+	f9fafbfcfefdfeff @@ 0000000000000051  ==> f7f9fdfbfdfe0000
-+vsld: 00007fffffffffff @@ 0102030405060708  ==> 007fffffffffff00
-+	ffff000000000000 @@ 090a0b0c0e0d0e0f  ==> 8000000000000000
-+vsld: 00007fffffffffff @@ f1f2f3f4f5f6f7f8  ==> ff00000000000000
-+	ffff000000000000 @@ f9fafbfcfefdfeff  ==> 0000000000000000
-+vsld: 00007fffffffffff @@ 00007fffffffffff  ==> 8000000000000000
-+	ffff000000000000 @@ ffff000000000000  ==> ffff000000000000
-+vsld: 00007fffffffffff @@ 0000800000000000  ==> 00007fffffffffff
-+	ffff000000000000 @@ 0000000000000000  ==> ffff000000000000
-+vsld: 00007fffffffffff @@ ffffffffffffffff  ==> 8000000000000000
-+	ffff000000000000 @@ 0000000000000051  ==> 0000000000000000
-+vsld: 0000800000000000 @@ 0102030405060708  ==> 0080000000000000
-+	0000000000000000 @@ 090a0b0c0e0d0e0f  ==> 0000000000000000
-+vsld: 0000800000000000 @@ f1f2f3f4f5f6f7f8  ==> 0000000000000000
-+	0000000000000000 @@ f9fafbfcfefdfeff  ==> 0000000000000000
-+vsld: 0000800000000000 @@ 00007fffffffffff  ==> 0000000000000000
-+	0000000000000000 @@ ffff000000000000  ==> 0000000000000000
-+vsld: 0000800000000000 @@ 0000800000000000  ==> 0000800000000000
-+	0000000000000000 @@ 0000000000000000  ==> 0000000000000000
-+vsld: 0000800000000000 @@ ffffffffffffffff  ==> 0000000000000000
-+	0000000000000000 @@ 0000000000000051  ==> 0000000000000000
-+vsld: ffffffffffffffff @@ 0102030405060708  ==> ffffffffffffff00
-+	0000000000000051 @@ 090a0b0c0e0d0e0f  ==> 0000000000288000
-+vsld: ffffffffffffffff @@ f1f2f3f4f5f6f7f8  ==> ff00000000000000
-+	0000000000000051 @@ f9fafbfcfefdfeff  ==> 8000000000000000
-+vsld: ffffffffffffffff @@ 00007fffffffffff  ==> 8000000000000000
-+	0000000000000051 @@ ffff000000000000  ==> 0000000000000051
-+vsld: ffffffffffffffff @@ 0000800000000000  ==> ffffffffffffffff
-+	0000000000000051 @@ 0000000000000000  ==> 0000000000000051
-+vsld: ffffffffffffffff @@ ffffffffffffffff  ==> 8000000000000000
-+	0000000000000051 @@ 0000000000000051  ==> 0000000000a20000
- 
- vsrad: 0102030405060708 @@ 0102030405060708  ==> 0001020304050607
- 	090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f  ==> 0000121416181c1a
- vsrad: 0102030405060708 @@ f1f2f3f4f5f6f7f8  ==> 0000000000000001
- 	090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff  ==> 0000000000000000
-+vsrad: 0102030405060708 @@ 00007fffffffffff  ==> 0000000000000000
-+	090a0b0c0e0d0e0f @@ ffff000000000000  ==> 090a0b0c0e0d0e0f
-+vsrad: 0102030405060708 @@ 0000800000000000  ==> 0102030405060708
-+	090a0b0c0e0d0e0f @@ 0000000000000000  ==> 090a0b0c0e0d0e0f
-+vsrad: 0102030405060708 @@ ffffffffffffffff  ==> 0000000000000000
-+	090a0b0c0e0d0e0f @@ 0000000000000051  ==> 0000048505860706
- vsrad: f1f2f3f4f5f6f7f8 @@ 0102030405060708  ==> fff1f2f3f4f5f6f7
- 	f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f  ==> fffff3f5f7f9fdfb
- vsrad: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8  ==> fffffffffffffff1
- 	f9fafbfcfefdfeff @@ f9fafbfcfefdfeff  ==> ffffffffffffffff
-+vsrad: f1f2f3f4f5f6f7f8 @@ 00007fffffffffff  ==> ffffffffffffffff
-+	f9fafbfcfefdfeff @@ ffff000000000000  ==> f9fafbfcfefdfeff
-+vsrad: f1f2f3f4f5f6f7f8 @@ 0000800000000000  ==> f1f2f3f4f5f6f7f8
-+	f9fafbfcfefdfeff @@ 0000000000000000  ==> f9fafbfcfefdfeff
-+vsrad: f1f2f3f4f5f6f7f8 @@ ffffffffffffffff  ==> ffffffffffffffff
-+	f9fafbfcfefdfeff @@ 0000000000000051  ==> fffffcfd7dfe7f7e
-+vsrad: 00007fffffffffff @@ 0102030405060708  ==> 0000007fffffffff
-+	ffff000000000000 @@ 090a0b0c0e0d0e0f  ==> fffffffe00000000
-+vsrad: 00007fffffffffff @@ f1f2f3f4f5f6f7f8  ==> 0000000000000000
-+	ffff000000000000 @@ f9fafbfcfefdfeff  ==> ffffffffffffffff
-+vsrad: 00007fffffffffff @@ 00007fffffffffff  ==> 0000000000000000
-+	ffff000000000000 @@ ffff000000000000  ==> ffff000000000000
-+vsrad: 00007fffffffffff @@ 0000800000000000  ==> 00007fffffffffff
-+	ffff000000000000 @@ 0000000000000000  ==> ffff000000000000
-+vsrad: 00007fffffffffff @@ ffffffffffffffff  ==> 0000000000000000
-+	ffff000000000000 @@ 0000000000000051  ==> ffffffff80000000
-+vsrad: 0000800000000000 @@ 0102030405060708  ==> 0000008000000000
-+	0000000000000000 @@ 090a0b0c0e0d0e0f  ==> 0000000000000000
-+vsrad: 0000800000000000 @@ f1f2f3f4f5f6f7f8  ==> 0000000000000000
-+	0000000000000000 @@ f9fafbfcfefdfeff  ==> 0000000000000000
-+vsrad: 0000800000000000 @@ 00007fffffffffff  ==> 0000000000000000
-+	0000000000000000 @@ ffff000000000000  ==> 0000000000000000
-+vsrad: 0000800000000000 @@ 0000800000000000  ==> 0000800000000000
-+	0000000000000000 @@ 0000000000000000  ==> 0000000000000000
-+vsrad: 0000800000000000 @@ ffffffffffffffff  ==> 0000000000000000
-+	0000000000000000 @@ 0000000000000051  ==> 0000000000000000
-+vsrad: ffffffffffffffff @@ 0102030405060708  ==> ffffffffffffffff
-+	0000000000000051 @@ 090a0b0c0e0d0e0f  ==> 0000000000000000
-+vsrad: ffffffffffffffff @@ f1f2f3f4f5f6f7f8  ==> ffffffffffffffff
-+	0000000000000051 @@ f9fafbfcfefdfeff  ==> 0000000000000000
-+vsrad: ffffffffffffffff @@ 00007fffffffffff  ==> ffffffffffffffff
-+	0000000000000051 @@ ffff000000000000  ==> 0000000000000051
-+vsrad: ffffffffffffffff @@ 0000800000000000  ==> ffffffffffffffff
-+	0000000000000051 @@ 0000000000000000  ==> 0000000000000051
-+vsrad: ffffffffffffffff @@ ffffffffffffffff  ==> ffffffffffffffff
-+	0000000000000051 @@ 0000000000000051  ==> 0000000000000000
- 
- vsrd: 0102030405060708 @@ 0102030405060708  ==> 0001020304050607
- 	090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f  ==> 0000121416181c1a
- vsrd: 0102030405060708 @@ f1f2f3f4f5f6f7f8  ==> 0000000000000001
- 	090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff  ==> 0000000000000000
-+vsrd: 0102030405060708 @@ 00007fffffffffff  ==> 0000000000000000
-+	090a0b0c0e0d0e0f @@ ffff000000000000  ==> 090a0b0c0e0d0e0f
-+vsrd: 0102030405060708 @@ 0000800000000000  ==> 0102030405060708
-+	090a0b0c0e0d0e0f @@ 0000000000000000  ==> 090a0b0c0e0d0e0f
-+vsrd: 0102030405060708 @@ ffffffffffffffff  ==> 0000000000000000
-+	090a0b0c0e0d0e0f @@ 0000000000000051  ==> 0000048505860706
- vsrd: f1f2f3f4f5f6f7f8 @@ 0102030405060708  ==> 00f1f2f3f4f5f6f7
- 	f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f  ==> 0001f3f5f7f9fdfb
- vsrd: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8  ==> 00000000000000f1
- 	f9fafbfcfefdfeff @@ f9fafbfcfefdfeff  ==> 0000000000000001
-+vsrd: f1f2f3f4f5f6f7f8 @@ 00007fffffffffff  ==> 0000000000000001
-+	f9fafbfcfefdfeff @@ ffff000000000000  ==> f9fafbfcfefdfeff
-+vsrd: f1f2f3f4f5f6f7f8 @@ 0000800000000000  ==> f1f2f3f4f5f6f7f8
-+	f9fafbfcfefdfeff @@ 0000000000000000  ==> f9fafbfcfefdfeff
-+vsrd: f1f2f3f4f5f6f7f8 @@ ffffffffffffffff  ==> 0000000000000001
-+	f9fafbfcfefdfeff @@ 0000000000000051  ==> 00007cfd7dfe7f7e
-+vsrd: 00007fffffffffff @@ 0102030405060708  ==> 0000007fffffffff
-+	ffff000000000000 @@ 090a0b0c0e0d0e0f  ==> 0001fffe00000000
-+vsrd: 00007fffffffffff @@ f1f2f3f4f5f6f7f8  ==> 0000000000000000
-+	ffff000000000000 @@ f9fafbfcfefdfeff  ==> 0000000000000001
-+vsrd: 00007fffffffffff @@ 00007fffffffffff  ==> 0000000000000000
-+	ffff000000000000 @@ ffff000000000000  ==> ffff000000000000
-+vsrd: 00007fffffffffff @@ 0000800000000000  ==> 00007fffffffffff
-+	ffff000000000000 @@ 0000000000000000  ==> ffff000000000000
-+vsrd: 00007fffffffffff @@ ffffffffffffffff  ==> 0000000000000000
-+	ffff000000000000 @@ 0000000000000051  ==> 00007fff80000000
-+vsrd: 0000800000000000 @@ 0102030405060708  ==> 0000008000000000
-+	0000000000000000 @@ 090a0b0c0e0d0e0f  ==> 0000000000000000
-+vsrd: 0000800000000000 @@ f1f2f3f4f5f6f7f8  ==> 0000000000000000
-+	0000000000000000 @@ f9fafbfcfefdfeff  ==> 0000000000000000
-+vsrd: 0000800000000000 @@ 00007fffffffffff  ==> 0000000000000000
-+	0000000000000000 @@ ffff000000000000  ==> 0000000000000000
-+vsrd: 0000800000000000 @@ 0000800000000000  ==> 0000800000000000
-+	0000000000000000 @@ 0000000000000000  ==> 0000000000000000
-+vsrd: 0000800000000000 @@ ffffffffffffffff  ==> 0000000000000000
-+	0000000000000000 @@ 0000000000000051  ==> 0000000000000000
-+vsrd: ffffffffffffffff @@ 0102030405060708  ==> 00ffffffffffffff
-+	0000000000000051 @@ 090a0b0c0e0d0e0f  ==> 0000000000000000
-+vsrd: ffffffffffffffff @@ f1f2f3f4f5f6f7f8  ==> 00000000000000ff
-+	0000000000000051 @@ f9fafbfcfefdfeff  ==> 0000000000000000
-+vsrd: ffffffffffffffff @@ 00007fffffffffff  ==> 0000000000000001
-+	0000000000000051 @@ ffff000000000000  ==> 0000000000000051
-+vsrd: ffffffffffffffff @@ 0000800000000000  ==> ffffffffffffffff
-+	0000000000000051 @@ 0000000000000000  ==> 0000000000000051
-+vsrd: ffffffffffffffff @@ ffffffffffffffff  ==> 0000000000000001
-+	0000000000000051 @@ 0000000000000051  ==> 0000000000000000
- 
- vpkudum: Inputs: 05060708 0e0d0e0f 05060708 0e0d0e0f
-          Output: 05060708 0e0d0e0f 05060708 0e0d0e0f
- vpkudum: Inputs: 05060708 0e0d0e0f f5f6f7f8 fefdfeff
-          Output: 05060708 0e0d0e0f f5f6f7f8 fefdfeff
-+vpkudum: Inputs: 05060708 0e0d0e0f ffffffff 00000000
-+         Output: 05060708 0e0d0e0f ffffffff 00000000
-+vpkudum: Inputs: 05060708 0e0d0e0f 00000000 00000000
-+         Output: 05060708 0e0d0e0f 00000000 00000000
-+vpkudum: Inputs: 05060708 0e0d0e0f ffffffff 00000051
-+         Output: 05060708 0e0d0e0f ffffffff 00000051
- vpkudum: Inputs: f5f6f7f8 fefdfeff 05060708 0e0d0e0f
-          Output: f5f6f7f8 fefdfeff 05060708 0e0d0e0f
- vpkudum: Inputs: f5f6f7f8 fefdfeff f5f6f7f8 fefdfeff
-          Output: f5f6f7f8 fefdfeff f5f6f7f8 fefdfeff
-+vpkudum: Inputs: f5f6f7f8 fefdfeff ffffffff 00000000
-+         Output: f5f6f7f8 fefdfeff ffffffff 00000000
-+vpkudum: Inputs: f5f6f7f8 fefdfeff 00000000 00000000
-+         Output: f5f6f7f8 fefdfeff 00000000 00000000
-+vpkudum: Inputs: f5f6f7f8 fefdfeff ffffffff 00000051
-+         Output: f5f6f7f8 fefdfeff ffffffff 00000051
-+vpkudum: Inputs: ffffffff 00000000 05060708 0e0d0e0f
-+         Output: ffffffff 00000000 05060708 0e0d0e0f
-+vpkudum: Inputs: ffffffff 00000000 f5f6f7f8 fefdfeff
-+         Output: ffffffff 00000000 f5f6f7f8 fefdfeff
-+vpkudum: Inputs: ffffffff 00000000 ffffffff 00000000
-+         Output: ffffffff 00000000 ffffffff 00000000
-+vpkudum: Inputs: ffffffff 00000000 00000000 00000000
-+         Output: ffffffff 00000000 00000000 00000000
-+vpkudum: Inputs: ffffffff 00000000 ffffffff 00000051
-+         Output: ffffffff 00000000 ffffffff 00000051
-+vpkudum: Inputs: 00000000 00000000 05060708 0e0d0e0f
-+         Output: 00000000 00000000 05060708 0e0d0e0f
-+vpkudum: Inputs: 00000000 00000000 f5f6f7f8 fefdfeff
-+         Output: 00000000 00000000 f5f6f7f8 fefdfeff
-+vpkudum: Inputs: 00000000 00000000 ffffffff 00000000
-+         Output: 00000000 00000000 ffffffff 00000000
-+vpkudum: Inputs: 00000000 00000000 00000000 00000000
-+         Output: 00000000 00000000 00000000 00000000
-+vpkudum: Inputs: 00000000 00000000 ffffffff 00000051
-+         Output: 00000000 00000000 ffffffff 00000051
-+vpkudum: Inputs: ffffffff 00000051 05060708 0e0d0e0f
-+         Output: ffffffff 00000051 05060708 0e0d0e0f
-+vpkudum: Inputs: ffffffff 00000051 f5f6f7f8 fefdfeff
-+         Output: ffffffff 00000051 f5f6f7f8 fefdfeff
-+vpkudum: Inputs: ffffffff 00000051 ffffffff 00000000
-+         Output: ffffffff 00000051 ffffffff 00000000
-+vpkudum: Inputs: ffffffff 00000051 00000000 00000000
-+         Output: ffffffff 00000051 00000000 00000000
-+vpkudum: Inputs: ffffffff 00000051 ffffffff 00000051
-+         Output: ffffffff 00000051 ffffffff 00000051
- 
- vpmsumd: 0102030405060708 @@ 0102030405060708  ==> 0040004000400040
- 	090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f  ==> 0045004500410015
- vpmsumd: 0102030405060708 @@ f1f2f3f4f5f6f7f8  ==> 07c007c006d00735
- 	090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff  ==> a260a260a374a2c5
-+vpmsumd: 0102030405060708 @@ 00007fffffffffff  ==> 07060182fc7efe7f
-+	090a0b0c0e0d0e0f @@ ffff000000000000  ==> 0478fefc030202f8
-+vpmsumd: 0102030405060708 @@ 0000800000000000  ==> 0000008101820283
-+	090a0b0c0e0d0e0f @@ 0000000000000000  ==> 0384000000000000
-+vpmsumd: 0102030405060708 @@ ffffffffffffffff  ==> 00fe0103fcfdfd05
-+	090a0b0c0e0d0e0f @@ 0000000000000051  ==> 242986336e9c6fc7
- vpmsumd: f1f2f3f4f5f6f7f8 @@ 0102030405060708  ==> 07c007c006d00735
- 	f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f  ==> a260a260a374a2c5
- vpmsumd: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8  ==> 0040004000400040
- 	f9fafbfcfefdfeff @@ f9fafbfcfefdfeff  ==> 0045004500410015
-+vpmsumd: f1f2f3f4f5f6f7f8 @@ 00007fffffffffff  ==> 575629aad456d657
-+	f9fafbfcfefdfeff @@ ffff000000000000  ==> 2c50aeac535252a8
-+vpmsumd: f1f2f3f4f5f6f7f8 @@ 0000800000000000  ==> 000078f979fa7afb
-+	f9fafbfcfefdfeff @@ 0000000000000000  ==> 7bfc000000000000
-+vpmsumd: f1f2f3f4f5f6f7f8 @@ ffffffffffffffff  ==> 50ae5153acadad66
-+	f9fafbfcfefdfeff @@ 0000000000000051  ==> b7ba15a0fd0ffc67
-+vpmsumd: 00007fffffffffff @@ 0102030405060708  ==> 07060182fc7efe7f
-+	ffff000000000000 @@ 090a0b0c0e0d0e0f  ==> 0478fefc030202f8
-+vpmsumd: 00007fffffffffff @@ f1f2f3f4f5f6f7f8  ==> 575629aad456d657
-+	ffff000000000000 @@ f9fafbfcfefdfeff  ==> 2c50aeac535252a8
-+vpmsumd: 00007fffffffffff @@ 00007fffffffffff  ==> 5555555515555555
-+	ffff000000000000 @@ ffff000000000000  ==> 5555555555555555
-+vpmsumd: 00007fffffffffff @@ 0000800000000000  ==> 000000003fffffff
-+	ffff000000000000 @@ 0000000000000000  ==> ffff800000000000
-+vpmsumd: 00007fffffffffff @@ ffffffffffffffff  ==> 00002aaaaaaaaa9a
-+	ffff000000000000 @@ 0000000000000051  ==> 0030d55555555555
-+vpmsumd: 0000800000000000 @@ 0102030405060708  ==> 0000008101820283
-+	0000000000000000 @@ 090a0b0c0e0d0e0f  ==> 0384000000000000
-+vpmsumd: 0000800000000000 @@ f1f2f3f4f5f6f7f8  ==> 000078f979fa7afb
-+	0000000000000000 @@ f9fafbfcfefdfeff  ==> 7bfc000000000000
-+vpmsumd: 0000800000000000 @@ 00007fffffffffff  ==> 000000003fffffff
-+	0000000000000000 @@ ffff000000000000  ==> ffff800000000000
-+vpmsumd: 0000800000000000 @@ 0000800000000000  ==> 0000000040000000
-+	0000000000000000 @@ 0000000000000000  ==> 0000000000000000
-+vpmsumd: 0000800000000000 @@ ffffffffffffffff  ==> 00007fffffffffff
-+	0000000000000000 @@ 0000000000000051  ==> ffff800000000000
-+vpmsumd: ffffffffffffffff @@ 0102030405060708  ==> 00fe0103fcfdfd05
-+	0000000000000051 @@ 090a0b0c0e0d0e0f  ==> 242986336e9c6fc7
-+vpmsumd: ffffffffffffffff @@ f1f2f3f4f5f6f7f8  ==> 50ae5153acadad66
-+	0000000000000051 @@ f9fafbfcfefdfeff  ==> b7ba15a0fd0ffc67
-+vpmsumd: ffffffffffffffff @@ 00007fffffffffff  ==> 00002aaaaaaaaa9a
-+	0000000000000051 @@ ffff000000000000  ==> 0030d55555555555
-+vpmsumd: ffffffffffffffff @@ 0000800000000000  ==> 00007fffffffffff
-+	0000000000000051 @@ 0000000000000000  ==> ffff800000000000
-+vpmsumd: ffffffffffffffff @@ ffffffffffffffff  ==> 5555555555555555
-+	0000000000000051 @@ 0000000000000051  ==> 5555555555554454
- 
- vnand: 0102030405060708 @@ 0102030405060708  ==> fefdfcfbfaf9f8f7
- 	090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f  ==> f6f5f4f3f1f2f1f0
- vnand: 0102030405060708 @@ f1f2f3f4f5f6f7f8  ==> fefdfcfbfaf9f8f7
- 	090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff  ==> f6f5f4f3f1f2f1f0
-+vnand: 0102030405060708 @@ 00007fffffffffff  ==> fffffcfbfaf9f8f7
-+	090a0b0c0e0d0e0f @@ ffff000000000000  ==> f6f5ffffffffffff
-+vnand: 0102030405060708 @@ 0000800000000000  ==> ffffffffffffffff
-+	090a0b0c0e0d0e0f @@ 0000000000000000  ==> ffffffffffffffff
-+vnand: 0102030405060708 @@ ffffffffffffffff  ==> fefdfcfbfaf9f8f7
-+	090a0b0c0e0d0e0f @@ 0000000000000051  ==> fffffffffffffffe
- vnand: f1f2f3f4f5f6f7f8 @@ 0102030405060708  ==> fefdfcfbfaf9f8f7
- 	f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f  ==> f6f5f4f3f1f2f1f0
- vnand: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8  ==> 0e0d0c0b0a090807
- 	f9fafbfcfefdfeff @@ f9fafbfcfefdfeff  ==> 0605040301020100
-+vnand: f1f2f3f4f5f6f7f8 @@ 00007fffffffffff  ==> ffff8c0b0a090807
-+	f9fafbfcfefdfeff @@ ffff000000000000  ==> 0605ffffffffffff
-+vnand: f1f2f3f4f5f6f7f8 @@ 0000800000000000  ==> ffff7fffffffffff
-+	f9fafbfcfefdfeff @@ 0000000000000000  ==> ffffffffffffffff
-+vnand: f1f2f3f4f5f6f7f8 @@ ffffffffffffffff  ==> 0e0d0c0b0a090807
-+	f9fafbfcfefdfeff @@ 0000000000000051  ==> ffffffffffffffae
-+vnand: 00007fffffffffff @@ 0102030405060708  ==> fffffcfbfaf9f8f7
-+	ffff000000000000 @@ 090a0b0c0e0d0e0f  ==> f6f5ffffffffffff
-+vnand: 00007fffffffffff @@ f1f2f3f4f5f6f7f8  ==> ffff8c0b0a090807
-+	ffff000000000000 @@ f9fafbfcfefdfeff  ==> 0605ffffffffffff
-+vnand: 00007fffffffffff @@ 00007fffffffffff  ==> ffff800000000000
-+	ffff000000000000 @@ ffff000000000000  ==> 0000ffffffffffff
-+vnand: 00007fffffffffff @@ 0000800000000000  ==> ffffffffffffffff
-+	ffff000000000000 @@ 0000000000000000  ==> ffffffffffffffff
-+vnand: 00007fffffffffff @@ ffffffffffffffff  ==> ffff800000000000
-+	ffff000000000000 @@ 0000000000000051  ==> ffffffffffffffff
-+vnand: 0000800000000000 @@ 0102030405060708  ==> ffffffffffffffff
-+	0000000000000000 @@ 090a0b0c0e0d0e0f  ==> ffffffffffffffff
-+vnand: 0000800000000000 @@ f1f2f3f4f5f6f7f8  ==> ffff7fffffffffff
-+	0000000000000000 @@ f9fafbfcfefdfeff  ==> ffffffffffffffff
-+vnand: 0000800000000000 @@ 00007fffffffffff  ==> ffffffffffffffff
-+	0000000000000000 @@ ffff000000000000  ==> ffffffffffffffff
-+vnand: 0000800000000000 @@ 0000800000000000  ==> ffff7fffffffffff
-+	0000000000000000 @@ 0000000000000000  ==> ffffffffffffffff
-+vnand: 0000800000000000 @@ ffffffffffffffff  ==> ffff7fffffffffff
-+	0000000000000000 @@ 0000000000000051  ==> ffffffffffffffff
-+vnand: ffffffffffffffff @@ 0102030405060708  ==> fefdfcfbfaf9f8f7
-+	0000000000000051 @@ 090a0b0c0e0d0e0f  ==> fffffffffffffffe
-+vnand: ffffffffffffffff @@ f1f2f3f4f5f6f7f8  ==> 0e0d0c0b0a090807
-+	0000000000000051 @@ f9fafbfcfefdfeff  ==> ffffffffffffffae
-+vnand: ffffffffffffffff @@ 00007fffffffffff  ==> ffff800000000000
-+	0000000000000051 @@ ffff000000000000  ==> ffffffffffffffff
-+vnand: ffffffffffffffff @@ 0000800000000000  ==> ffff7fffffffffff
-+	0000000000000051 @@ 0000000000000000  ==> ffffffffffffffff
-+vnand: ffffffffffffffff @@ ffffffffffffffff  ==> 0000000000000000
-+	0000000000000051 @@ 0000000000000051  ==> ffffffffffffffae
- 
- vorc: 0102030405060708 @@ 0102030405060708  ==> ffffffffffffffff
- 	090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f  ==> ffffffffffffffff
- vorc: 0102030405060708 @@ f1f2f3f4f5f6f7f8  ==> 0f0f0f0f0f0f0f0f
- 	090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff  ==> 0f0f0f0f0f0f0f0f
-+vorc: 0102030405060708 @@ 00007fffffffffff  ==> ffff830405060708
-+	090a0b0c0e0d0e0f @@ ffff000000000000  ==> 090affffffffffff
-+vorc: 0102030405060708 @@ 0000800000000000  ==> ffff7fffffffffff
-+	090a0b0c0e0d0e0f @@ 0000000000000000  ==> ffffffffffffffff
-+vorc: 0102030405060708 @@ ffffffffffffffff  ==> 0102030405060708
-+	090a0b0c0e0d0e0f @@ 0000000000000051  ==> ffffffffffffffaf
- vorc: f1f2f3f4f5f6f7f8 @@ 0102030405060708  ==> ffffffffffffffff
- 	f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f  ==> ffffffffffffffff
- vorc: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8  ==> ffffffffffffffff
- 	f9fafbfcfefdfeff @@ f9fafbfcfefdfeff  ==> ffffffffffffffff
-+vorc: f1f2f3f4f5f6f7f8 @@ 00007fffffffffff  ==> fffff3f4f5f6f7f8
-+	f9fafbfcfefdfeff @@ ffff000000000000  ==> f9faffffffffffff
-+vorc: f1f2f3f4f5f6f7f8 @@ 0000800000000000  ==> ffffffffffffffff
-+	f9fafbfcfefdfeff @@ 0000000000000000  ==> ffffffffffffffff
-+vorc: f1f2f3f4f5f6f7f8 @@ ffffffffffffffff  ==> f1f2f3f4f5f6f7f8
-+	f9fafbfcfefdfeff @@ 0000000000000051  ==> ffffffffffffffff
-+vorc: 00007fffffffffff @@ 0102030405060708  ==> fefdffffffffffff
-+	ffff000000000000 @@ 090a0b0c0e0d0e0f  ==> fffff4f3f1f2f1f0
-+vorc: 00007fffffffffff @@ f1f2f3f4f5f6f7f8  ==> 0e0d7fffffffffff
-+	ffff000000000000 @@ f9fafbfcfefdfeff  ==> ffff040301020100
-+vorc: 00007fffffffffff @@ 00007fffffffffff  ==> ffffffffffffffff
-+	ffff000000000000 @@ ffff000000000000  ==> ffffffffffffffff
-+vorc: 00007fffffffffff @@ 0000800000000000  ==> ffff7fffffffffff
-+	ffff000000000000 @@ 0000000000000000  ==> ffffffffffffffff
-+vorc: 00007fffffffffff @@ ffffffffffffffff  ==> 00007fffffffffff
-+	ffff000000000000 @@ 0000000000000051  ==> ffffffffffffffae
-+vorc: 0000800000000000 @@ 0102030405060708  ==> fefdfcfbfaf9f8f7
-+	0000000000000000 @@ 090a0b0c0e0d0e0f  ==> f6f5f4f3f1f2f1f0
-+vorc: 0000800000000000 @@ f1f2f3f4f5f6f7f8  ==> 0e0d8c0b0a090807
-+	0000000000000000 @@ f9fafbfcfefdfeff  ==> 0605040301020100
-+vorc: 0000800000000000 @@ 00007fffffffffff  ==> ffff800000000000
-+	0000000000000000 @@ ffff000000000000  ==> 0000ffffffffffff
-+vorc: 0000800000000000 @@ 0000800000000000  ==> ffffffffffffffff
-+	0000000000000000 @@ 0000000000000000  ==> ffffffffffffffff
-+vorc: 0000800000000000 @@ ffffffffffffffff  ==> 0000800000000000
-+	0000000000000000 @@ 0000000000000051  ==> ffffffffffffffae
-+vorc: ffffffffffffffff @@ 0102030405060708  ==> ffffffffffffffff
-+	0000000000000051 @@ 090a0b0c0e0d0e0f  ==> f6f5f4f3f1f2f1f1
-+vorc: ffffffffffffffff @@ f1f2f3f4f5f6f7f8  ==> ffffffffffffffff
-+	0000000000000051 @@ f9fafbfcfefdfeff  ==> 0605040301020151
-+vorc: ffffffffffffffff @@ 00007fffffffffff  ==> ffffffffffffffff
-+	0000000000000051 @@ ffff000000000000  ==> 0000ffffffffffff
-+vorc: ffffffffffffffff @@ 0000800000000000  ==> ffffffffffffffff
-+	0000000000000051 @@ 0000000000000000  ==> ffffffffffffffff
-+vorc: ffffffffffffffff @@ ffffffffffffffff  ==> ffffffffffffffff
-+	0000000000000051 @@ 0000000000000051  ==> ffffffffffffffff
- 
- veqv: 0102030405060708 @@ 0102030405060708  ==> ffffffffffffffff
- 	090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f  ==> ffffffffffffffff
- veqv: 0102030405060708 @@ f1f2f3f4f5f6f7f8  ==> 0f0f0f0f0f0f0f0f
- 	090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff  ==> 0f0f0f0f0f0f0f0f
-+veqv: 0102030405060708 @@ 00007fffffffffff  ==> fefd830405060708
-+	090a0b0c0e0d0e0f @@ ffff000000000000  ==> 090af4f3f1f2f1f0
-+veqv: 0102030405060708 @@ 0000800000000000  ==> fefd7cfbfaf9f8f7
-+	090a0b0c0e0d0e0f @@ 0000000000000000  ==> f6f5f4f3f1f2f1f0
-+veqv: 0102030405060708 @@ ffffffffffffffff  ==> 0102030405060708
-+	090a0b0c0e0d0e0f @@ 0000000000000051  ==> f6f5f4f3f1f2f1a1
- veqv: f1f2f3f4f5f6f7f8 @@ 0102030405060708  ==> 0f0f0f0f0f0f0f0f
- 	f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f  ==> 0f0f0f0f0f0f0f0f
- veqv: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8  ==> ffffffffffffffff
- 	f9fafbfcfefdfeff @@ f9fafbfcfefdfeff  ==> ffffffffffffffff
-+veqv: f1f2f3f4f5f6f7f8 @@ 00007fffffffffff  ==> 0e0d73f4f5f6f7f8
-+	f9fafbfcfefdfeff @@ ffff000000000000  ==> f9fa040301020100
-+veqv: f1f2f3f4f5f6f7f8 @@ 0000800000000000  ==> 0e0d8c0b0a090807
-+	f9fafbfcfefdfeff @@ 0000000000000000  ==> 0605040301020100
-+veqv: f1f2f3f4f5f6f7f8 @@ ffffffffffffffff  ==> f1f2f3f4f5f6f7f8
-+	f9fafbfcfefdfeff @@ 0000000000000051  ==> 0605040301020151
-+veqv: 00007fffffffffff @@ 0102030405060708  ==> fefd830405060708
-+	ffff000000000000 @@ 090a0b0c0e0d0e0f  ==> 090af4f3f1f2f1f0
-+veqv: 00007fffffffffff @@ f1f2f3f4f5f6f7f8  ==> 0e0d73f4f5f6f7f8
-+	ffff000000000000 @@ f9fafbfcfefdfeff  ==> f9fa040301020100
-+veqv: 00007fffffffffff @@ 00007fffffffffff  ==> ffffffffffffffff
-+	ffff000000000000 @@ ffff000000000000  ==> ffffffffffffffff
-+veqv: 00007fffffffffff @@ 0000800000000000  ==> ffff000000000000
-+	ffff000000000000 @@ 0000000000000000  ==> 0000ffffffffffff
-+veqv: 00007fffffffffff @@ ffffffffffffffff  ==> 00007fffffffffff
-+	ffff000000000000 @@ 0000000000000051  ==> 0000ffffffffffae
-+veqv: 0000800000000000 @@ 0102030405060708  ==> fefd7cfbfaf9f8f7
-+	0000000000000000 @@ 090a0b0c0e0d0e0f  ==> f6f5f4f3f1f2f1f0
-+veqv: 0000800000000000 @@ f1f2f3f4f5f6f7f8  ==> 0e0d8c0b0a090807
-+	0000000000000000 @@ f9fafbfcfefdfeff  ==> 0605040301020100
-+veqv: 0000800000000000 @@ 00007fffffffffff  ==> ffff000000000000
-+	0000000000000000 @@ ffff000000000000  ==> 0000ffffffffffff
-+veqv: 0000800000000000 @@ 0000800000000000  ==> ffffffffffffffff
-+	0000000000000000 @@ 0000000000000000  ==> ffffffffffffffff
-+veqv: 0000800000000000 @@ ffffffffffffffff  ==> 0000800000000000
-+	0000000000000000 @@ 0000000000000051  ==> ffffffffffffffae
-+veqv: ffffffffffffffff @@ 0102030405060708  ==> 0102030405060708
-+	0000000000000051 @@ 090a0b0c0e0d0e0f  ==> f6f5f4f3f1f2f1a1
-+veqv: ffffffffffffffff @@ f1f2f3f4f5f6f7f8  ==> f1f2f3f4f5f6f7f8
-+	0000000000000051 @@ f9fafbfcfefdfeff  ==> 0605040301020151
-+veqv: ffffffffffffffff @@ 00007fffffffffff  ==> 00007fffffffffff
-+	0000000000000051 @@ ffff000000000000  ==> 0000ffffffffffae
-+veqv: ffffffffffffffff @@ 0000800000000000  ==> 0000800000000000
-+	0000000000000051 @@ 0000000000000000  ==> ffffffffffffffae
-+veqv: ffffffffffffffff @@ ffffffffffffffff  ==> ffffffffffffffff
-+	0000000000000051 @@ 0000000000000051  ==> ffffffffffffffff
- 
- vcipher: 0102030405060708 @@ 0102030405060708  ==> 15abdc2823b74b86
- 	090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f  ==> 22037bc3e1e25abc
- vcipher: 0102030405060708 @@ f1f2f3f4f5f6f7f8  ==> e55b2cd8d347bb76
- 	090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff  ==> d2f38b331112aa4c
-+vcipher: 0102030405060708 @@ 00007fffffffffff  ==> 14a9a0d3d94eb371
-+	090a0b0c0e0d0e0f @@ ffff000000000000  ==> d4f670cfefef54b3
-+vcipher: 0102030405060708 @@ 0000800000000000  ==> 14a95f2c26b14c8e
-+	090a0b0c0e0d0e0f @@ 0000000000000000  ==> 2b0970cfefef54b3
-+vcipher: 0102030405060708 @@ ffffffffffffffff  ==> eb5620d3d94eb371
-+	090a0b0c0e0d0e0f @@ 0000000000000051  ==> 2b0970cfefef54e2
- vcipher: f1f2f3f4f5f6f7f8 @@ 0102030405060708  ==> 8720c49da1d37bca
- 	f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f  ==> 906d1f673bb72743
- vcipher: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8  ==> 77d0346d51238b3a
- 	f9fafbfcfefdfeff @@ f9fafbfcfefdfeff  ==> 609def97cb47d7b3
-+vcipher: f1f2f3f4f5f6f7f8 @@ 00007fffffffffff  ==> 8622b8665b2a833d
-+	f9fafbfcfefdfeff @@ ffff000000000000  ==> 6698146b35ba294c
-+vcipher: f1f2f3f4f5f6f7f8 @@ 0000800000000000  ==> 86224799a4d57cc2
-+	f9fafbfcfefdfeff @@ 0000000000000000  ==> 9967146b35ba294c
-+vcipher: f1f2f3f4f5f6f7f8 @@ ffffffffffffffff  ==> 79dd38665b2a833d
-+	f9fafbfcfefdfeff @@ 0000000000000051  ==> 9967146b35ba291d
-+vcipher: 00007fffffffffff @@ 0102030405060708  ==> fd8b1512668ffb6b
-+	ffff000000000000 @@ 090a0b0c0e0d0e0f  ==> 44a1fbab18f18719
-+vcipher: 00007fffffffffff @@ f1f2f3f4f5f6f7f8  ==> 0d7be5e2967f0b9b
-+	ffff000000000000 @@ f9fafbfcfefdfeff  ==> b4510b5be80177e9
-+vcipher: 00007fffffffffff @@ 00007fffffffffff  ==> fc8969e99c76039c
-+	ffff000000000000 @@ ffff000000000000  ==> b254f0a716fc8916
-+vcipher: 00007fffffffffff @@ 0000800000000000  ==> fc8996166389fc63
-+	ffff000000000000 @@ 0000000000000000  ==> 4dabf0a716fc8916
-+vcipher: 00007fffffffffff @@ ffffffffffffffff  ==> 0376e9e99c76039c
-+	ffff000000000000 @@ 0000000000000051  ==> 4dabf0a716fc8947
-+vcipher: 0000800000000000 @@ 0102030405060708  ==> 626160676665646b
-+	0000000000000000 @@ 090a0b0c0e0d0e0f  ==> c4802fc16d6e6d6c
-+vcipher: 0000800000000000 @@ f1f2f3f4f5f6f7f8  ==> 929190979695949b
-+	0000000000000000 @@ f9fafbfcfefdfeff  ==> 3470df319d9e9d9c
-+vcipher: 0000800000000000 @@ 00007fffffffffff  ==> 63631c9c9c9c9c9c
-+	0000000000000000 @@ ffff000000000000  ==> 327524cd63636363
-+vcipher: 0000800000000000 @@ 0000800000000000  ==> 6363e36363636363
-+	0000000000000000 @@ 0000000000000000  ==> cd8a24cd63636363
-+vcipher: 0000800000000000 @@ ffffffffffffffff  ==> 9c9c9c9c9c9c9c9c
-+	0000000000000000 @@ 0000000000000051  ==> cd8a24cd63636332
-+vcipher: ffffffffffffffff @@ 0102030405060708  ==> a54cadf2f9658e1e
-+	0000000000000051 @@ 090a0b0c0e0d0e0f  ==> 6a831df0871bf26c
-+vcipher: ffffffffffffffff @@ f1f2f3f4f5f6f7f8  ==> 55bc5d0209957eee
-+	0000000000000051 @@ f9fafbfcfefdfeff  ==> 9a73ed0077eb029c
-+vcipher: ffffffffffffffff @@ 00007fffffffffff  ==> a44ed109039c76e9
-+	0000000000000051 @@ ffff000000000000  ==> 9c7616fc8916fc63
-+vcipher: ffffffffffffffff @@ 0000800000000000  ==> a44e2ef6fc638916
-+	0000000000000051 @@ 0000000000000000  ==> 638916fc8916fc63
-+vcipher: ffffffffffffffff @@ ffffffffffffffff  ==> 5bb15109039c76e9
-+	0000000000000051 @@ 0000000000000051  ==> 638916fc8916fc32
- 
- vcipherlast: 0102030405060708 @@ 0102030405060708  ==> 7d6d28726e61acfa
- 	090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f  ==> 08dd703ca57acbf1
- vcipherlast: 0102030405060708 @@ f1f2f3f4f5f6f7f8  ==> 8d9dd8829e915c0a
- 	090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff  ==> f82d80cc558a3b01
-+vcipherlast: 0102030405060708 @@ 00007fffffffffff  ==> 7c6f54899498540d
-+	090a0b0c0e0d0e0f @@ ffff000000000000  ==> fe287b30ab77c5fe
-+vcipherlast: 0102030405060708 @@ 0000800000000000  ==> 7c6fab766b67abf2
-+	090a0b0c0e0d0e0f @@ 0000000000000000  ==> 01d77b30ab77c5fe
-+vcipherlast: 0102030405060708 @@ ffffffffffffffff  ==> 8390d4899498540d
-+	090a0b0c0e0d0e0f @@ 0000000000000051  ==> 01d77b30ab77c5af
- vcipherlast: f1f2f3f4f5f6f7f8 @@ 0102030405060708  ==> a0400c12e32bbcb7
- 	f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f  ==> 905e064db58466bf
- vcipherlast: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8  ==> 50b0fce213db4c47
- 	f9fafbfcfefdfeff @@ f9fafbfcfefdfeff  ==> 60aef6bd4574964f
-+vcipherlast: f1f2f3f4f5f6f7f8 @@ 00007fffffffffff  ==> a14270e919d24440
-+	f9fafbfcfefdfeff @@ ffff000000000000  ==> 66ab0d41bb8968b0
-+vcipherlast: f1f2f3f4f5f6f7f8 @@ 0000800000000000  ==> a1428f16e62dbbbf
-+	f9fafbfcfefdfeff @@ 0000000000000000  ==> 99540d41bb8968b0
-+vcipherlast: f1f2f3f4f5f6f7f8 @@ ffffffffffffffff  ==> 5ebdf0e919d24440
-+	f9fafbfcfefdfeff @@ 0000000000000051  ==> 99540d41bb8968e1
-+vcipherlast: 00007fffffffffff @@ 0102030405060708  ==> 621460671310641e
-+	ffff000000000000 @@ 090a0b0c0e0d0e0f  ==> 1f69d91a6d6e186c
-+vcipherlast: 00007fffffffffff @@ f1f2f3f4f5f6f7f8  ==> 92e49097e3e094ee
-+	ffff000000000000 @@ f9fafbfcfefdfeff  ==> ef9929ea9d9ee89c
-+vcipherlast: 00007fffffffffff @@ 00007fffffffffff  ==> 63161c9ce9e99ce9
-+	ffff000000000000 @@ ffff000000000000  ==> e99cd21663631663
-+vcipherlast: 00007fffffffffff @@ 0000800000000000  ==> 6316e36316166316
-+	ffff000000000000 @@ 0000000000000000  ==> 1663d21663631663
-+vcipherlast: 00007fffffffffff @@ ffffffffffffffff  ==> 9ce99c9ce9e99ce9
-+	ffff000000000000 @@ 0000000000000051  ==> 1663d21663631632
-+vcipherlast: 0000800000000000 @@ 0102030405060708  ==> 626160676665646b
-+	0000000000000000 @@ 090a0b0c0e0d0e0f  ==> 6a69c66f6d6e6d6c
-+vcipherlast: 0000800000000000 @@ f1f2f3f4f5f6f7f8  ==> 929190979695949b
-+	0000000000000000 @@ f9fafbfcfefdfeff  ==> 9a99369f9d9e9d9c
-+vcipherlast: 0000800000000000 @@ 00007fffffffffff  ==> 63631c9c9c9c9c9c
-+	0000000000000000 @@ ffff000000000000  ==> 9c9ccd6363636363
-+vcipherlast: 0000800000000000 @@ 0000800000000000  ==> 6363e36363636363
-+	0000000000000000 @@ 0000000000000000  ==> 6363cd6363636363
-+vcipherlast: 0000800000000000 @@ ffffffffffffffff  ==> 9c9c9c9c9c9c9c9c
-+	0000000000000000 @@ 0000000000000051  ==> 6363cd6363636332
-+vcipherlast: ffffffffffffffff @@ 0102030405060708  ==> 171460d51365641e
-+	0000000000000051 @@ 090a0b0c0e0d0e0f  ==> 6a691d1a6d1b186c
-+vcipherlast: ffffffffffffffff @@ f1f2f3f4f5f6f7f8  ==> e7e49025e39594ee
-+	0000000000000051 @@ f9fafbfcfefdfeff  ==> 9a99edea9debe89c
-+vcipherlast: ffffffffffffffff @@ 00007fffffffffff  ==> 16161c2ee99c9ce9
-+	0000000000000051 @@ ffff000000000000  ==> 9c9c161663161663
-+vcipherlast: ffffffffffffffff @@ 0000800000000000  ==> 1616e3d116636316
-+	0000000000000051 @@ 0000000000000000  ==> 6363161663161663
-+vcipherlast: ffffffffffffffff @@ ffffffffffffffff  ==> e9e99c2ee99c9ce9
-+	0000000000000051 @@ 0000000000000051  ==> 6363161663161632
- 
- vncipher: 0102030405060708 @@ 0102030405060708  ==> fe67ce881a80f569
- 	090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f  ==> 19db0b0605541639
- vncipher: 0102030405060708 @@ f1f2f3f4f5f6f7f8  ==> 0e973e78ea700599
- 	090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff  ==> e92bfbf6f5a4e6c9
-+vncipher: 0102030405060708 @@ 00007fffffffffff  ==> de98809d822f77d0
-+	090a0b0c0e0d0e0f @@ ffff000000000000  ==> 1424f3081f45082e
-+vncipher: 0102030405060708 @@ 0000800000000000  ==> 0facae567dd0882f
-+	090a0b0c0e0d0e0f @@ 0000000000000000  ==> 3aef223c1f45082e
-+vncipher: 0102030405060708 @@ ffffffffffffffff  ==> 2aa41045822f77d0
-+	090a0b0c0e0d0e0f @@ 0000000000000051  ==> 3aef223cf0f5456d
- vncipher: f1f2f3f4f5f6f7f8 @@ 0102030405060708  ==> 8b10c2d5607a5569
- 	f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f  ==> 581826de46277b9c
- vncipher: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8  ==> 7be03225908aa599
- 	f9fafbfcfefdfeff @@ f9fafbfcfefdfeff  ==> a8e8d62eb6d78b6c
-+vncipher: f1f2f3f4f5f6f7f8 @@ 00007fffffffffff  ==> abef8cc0f8d5d7d0
-+	f9fafbfcfefdfeff @@ ffff000000000000  ==> 55e7ded05c36658b
-+vncipher: f1f2f3f4f5f6f7f8 @@ 0000800000000000  ==> 7adba20b072a282f
-+	f9fafbfcfefdfeff @@ 0000000000000000  ==> 7b2c0fe45c36658b
-+vncipher: f1f2f3f4f5f6f7f8 @@ ffffffffffffffff  ==> 5fd31c18f8d5d7d0
-+	f9fafbfcfefdfeff @@ 0000000000000051  ==> 7b2c0fe4b38628c8
-+vncipher: 00007fffffffffff @@ 0102030405060708  ==> 359e61e1b44edf06
-+	ffff000000000000 @@ 090a0b0c0e0d0e0f  ==> ec338260e6209378
-+vncipher: 00007fffffffffff @@ f1f2f3f4f5f6f7f8  ==> c56e911144be2ff6
-+	ffff000000000000 @@ f9fafbfcfefdfeff  ==> 1cc3729016d06388
-+vncipher: 00007fffffffffff @@ 00007fffffffffff  ==> 15612ff42ce15dbf
-+	ffff000000000000 @@ ffff000000000000  ==> e1cc7a6efc318d6f
-+vncipher: 00007fffffffffff @@ 0000800000000000  ==> c455013fd31ea240
-+	ffff000000000000 @@ 0000000000000000  ==> cf07ab5afc318d6f
-+vncipher: 00007fffffffffff @@ ffffffffffffffff  ==> e15dbf2c2ce15dbf
-+	ffff000000000000 @@ 0000000000000051  ==> cf07ab5a1381c02c
-+vncipher: 0000800000000000 @@ 0102030405060708  ==> 796e736035022f14
-+	0000000000000000 @@ 090a0b0c0e0d0e0f  ==> cfb37d6d48434c45
-+vncipher: 0000800000000000 @@ f1f2f3f4f5f6f7f8  ==> 899e8390c5f2dfe4
-+	0000000000000000 @@ f9fafbfcfefdfeff  ==> 3f438d9db8b3bcb5
-+vncipher: 0000800000000000 @@ 00007fffffffffff  ==> 59913d75adadadad
-+	0000000000000000 @@ ffff000000000000  ==> c24c856352525252
-+vncipher: 0000800000000000 @@ 0000800000000000  ==> 88a513be52525252
-+	0000000000000000 @@ 0000000000000000  ==> ec87545752525252
-+vncipher: 0000800000000000 @@ ffffffffffffffff  ==> adadadadadadadad
-+	0000000000000000 @@ 0000000000000051  ==> ec875457bde21f11
-+vncipher: ffffffffffffffff @@ 0102030405060708  ==> b4d291f3a6cf93f6
-+	0000000000000051 @@ 090a0b0c0e0d0e0f  ==> ba54db13f4a1df88
-+vncipher: ffffffffffffffff @@ f1f2f3f4f5f6f7f8  ==> 44226103563f6306
-+	0000000000000051 @@ f9fafbfcfefdfeff  ==> 4aa42be304512f78
-+vncipher: ffffffffffffffff @@ 00007fffffffffff  ==> 942ddfe63e60114f
-+	0000000000000051 @@ ffff000000000000  ==> b7ab231deeb0c19f
-+vncipher: ffffffffffffffff @@ 0000800000000000  ==> 4519f12dc19feeb0
-+	0000000000000051 @@ 0000000000000000  ==> 9960f229eeb0c19f
-+vncipher: ffffffffffffffff @@ ffffffffffffffff  ==> 60114f3e3e60114f
-+	0000000000000051 @@ 0000000000000051  ==> 9960f22901008cdc
- 
- vncipherlast: 0102030405060708 @@ 0102030405060708  ==> 08f19dbb336cd089
- 	090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f  ==> 49afdef7d9ae363f
- vncipherlast: 0102030405060708 @@ f1f2f3f4f5f6f7f8  ==> f8016d4bc39c2079
- 	090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff  ==> b95f2e07295ec6cf
-+vncipherlast: 0102030405060708 @@ 00007fffffffffff  ==> 09f3e140c995287e
-+	090a0b0c0e0d0e0f @@ ffff000000000000  ==> bf5ad5fbd7a33830
-+vncipherlast: 0102030405060708 @@ 0000800000000000  ==> 09f31ebf366ad781
-+	090a0b0c0e0d0e0f @@ 0000000000000000  ==> 40a5d5fbd7a33830
-+vncipherlast: 0102030405060708 @@ ffffffffffffffff  ==> f60c6140c995287e
-+	090a0b0c0e0d0e0f @@ 0000000000000051  ==> 40a5d5fbd7a33861
- vncipherlast: f1f2f3f4f5f6f7f8 @@ 0102030405060708  ==> 2a2360e572020b5d
- 	f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f  ==> 60dc7571021928b5
- vncipherlast: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8  ==> dad3901582f2fbad
- 	f9fafbfcfefdfeff @@ f9fafbfcfefdfeff  ==> 902c8581f2e9d845
-+vncipherlast: f1f2f3f4f5f6f7f8 @@ 00007fffffffffff  ==> 2b211c1e88fbf3aa
-+	f9fafbfcfefdfeff @@ ffff000000000000  ==> 96297e7d0c1426ba
-+vncipherlast: f1f2f3f4f5f6f7f8 @@ 0000800000000000  ==> 2b21e3e177040c55
-+	f9fafbfcfefdfeff @@ 0000000000000000  ==> 69d67e7d0c1426ba
-+vncipherlast: f1f2f3f4f5f6f7f8 @@ ffffffffffffffff  ==> d4de9c1e88fbf3aa
-+	f9fafbfcfefdfeff @@ 0000000000000051  ==> 69d67e7d0c1426eb
-+vncipherlast: 00007fffffffffff @@ 0102030405060708  ==> 535051797854555a
-+	ffff000000000000 @@ 090a0b0c0e0d0e0f  ==> 7477605e5c707372
-+vncipherlast: 00007fffffffffff @@ f1f2f3f4f5f6f7f8  ==> a3a0a18988a4a5aa
-+	ffff000000000000 @@ f9fafbfcfefdfeff  ==> 848790aeac808382
-+vncipherlast: 00007fffffffffff @@ 00007fffffffffff  ==> 52522d8282adadad
-+	ffff000000000000 @@ ffff000000000000  ==> 82826b52527d7d7d
-+vncipherlast: 00007fffffffffff @@ 0000800000000000  ==> 5252d27d7d525252
-+	ffff000000000000 @@ 0000000000000000  ==> 7d7d6b52527d7d7d
-+vncipherlast: 00007fffffffffff @@ ffffffffffffffff  ==> adadad8282adadad
-+	ffff000000000000 @@ 0000000000000051  ==> 7d7d6b52527d7d2c
-+vncipherlast: 0000800000000000 @@ 0102030405060708  ==> 535051565754555a
-+	0000000000000000 @@ 090a0b0c0e0d0e0f  ==> 5b58315e5c5f5c5d
-+vncipherlast: 0000800000000000 @@ f1f2f3f4f5f6f7f8  ==> a3a0a1a6a7a4a5aa
-+	0000000000000000 @@ f9fafbfcfefdfeff  ==> aba8c1aeacafacad
-+vncipherlast: 0000800000000000 @@ 00007fffffffffff  ==> 52522dadadadadad
-+	0000000000000000 @@ ffff000000000000  ==> adad3a5252525252
-+vncipherlast: 0000800000000000 @@ 0000800000000000  ==> 5252d25252525252
-+	0000000000000000 @@ 0000000000000000  ==> 52523a5252525252
-+vncipherlast: 0000800000000000 @@ ffffffffffffffff  ==> adadadadadadadad
-+	0000000000000000 @@ 0000000000000051  ==> 52523a5252525203
-+vncipherlast: ffffffffffffffff @@ 0102030405060708  ==> 7c505179787b555a
-+	0000000000000051 @@ 090a0b0c0e0d0e0f  ==> 5b77767c5c5f7372
-+vncipherlast: ffffffffffffffff @@ f1f2f3f4f5f6f7f8  ==> 8ca0a189888ba5aa
-+	0000000000000051 @@ f9fafbfcfefdfeff  ==> ab87868cacaf8382
-+vncipherlast: ffffffffffffffff @@ 00007fffffffffff  ==> 7d522d828282adad
-+	0000000000000051 @@ ffff000000000000  ==> ad827d7052527d7d
-+vncipherlast: ffffffffffffffff @@ 0000800000000000  ==> 7d52d27d7d7d5252
-+	0000000000000051 @@ 0000000000000000  ==> 527d7d7052527d7d
-+vncipherlast: ffffffffffffffff @@ ffffffffffffffff  ==> 82adad828282adad
-+	0000000000000051 @@ 0000000000000051  ==> 527d7d7052527d2c
- 
- vmulouw: 01020304 05060708 090a0b0c 0e0d0e0f ==> 00193c6aa4917040 00c56e34124ba4e1
- vmulouw: 01020304 05060708 090a0b0c 0e0d0e0f ==> 04d39d63184f87c0 0dfee4d8b9c6e2f1
-@@ -273,18 +1222,81 @@ vpmsumw: f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff ==> 0010001000100050 00150015001100
- 
- vpkudus: 000000007c118a2b, 00000000f1112345 @@ 000000007c118a2b, 00000000f1112345  ==> 7c118a2b f1112345 7c118a2b f1112345
- vpkudus: 000000007c118a2b, 00000000f1112345 @@ 01f2f3f4f5f6f7f8, f9fafbfcfefdfeff  ==> 7c118a2b f1112345 ffffffff ffffffff
-+vpkudus: 000000007c118a2b, 00000000f1112345 @@ 0000000000000000, 0000000000000000  ==> 7c118a2b f1112345 00000000 00000000
-+vpkudus: 000000007c118a2b, 00000000f1112345 @@ 0000000000000000, 0000000000000000  ==> 7c118a2b f1112345 00000000 00000000
-+vpkudus: 000000007c118a2b, 00000000f1112345 @@ 0000000000000000, 0000000000000031  ==> 7c118a2b f1112345 00000000 00000031
- vpkudus: 01f2f3f4f5f6f7f8, f9fafbfcfefdfeff @@ 000000007c118a2b, 00000000f1112345  ==> ffffffff ffffffff 7c118a2b f1112345
- vpkudus: 01f2f3f4f5f6f7f8, f9fafbfcfefdfeff @@ 01f2f3f4f5f6f7f8, f9fafbfcfefdfeff  ==> ffffffff ffffffff ffffffff ffffffff
-+vpkudus: 01f2f3f4f5f6f7f8, f9fafbfcfefdfeff @@ 0000000000000000, 0000000000000000  ==> ffffffff ffffffff 00000000 00000000
-+vpkudus: 01f2f3f4f5f6f7f8, f9fafbfcfefdfeff @@ 0000000000000000, 0000000000000000  ==> ffffffff ffffffff 00000000 00000000
-+vpkudus: 01f2f3f4f5f6f7f8, f9fafbfcfefdfeff @@ 0000000000000000, 0000000000000031  ==> ffffffff ffffffff 00000000 00000031
-+vpkudus: 0000000000000000, 0000000000000000 @@ 000000007c118a2b, 00000000f1112345  ==> 00000000 00000000 7c118a2b f1112345
-+vpkudus: 0000000000000000, 0000000000000000 @@ 01f2f3f4f5f6f7f8, f9fafbfcfefdfeff  ==> 00000000 00000000 ffffffff ffffffff
-+vpkudus: 0000000000000000, 0000000000000000 @@ 0000000000000000, 0000000000000000  ==> 00000000 00000000 00000000 00000000
-+vpkudus: 0000000000000000, 0000000000000000 @@ 0000000000000000, 0000000000000000  ==> 00000000 00000000 00000000 00000000
-+vpkudus: 0000000000000000, 0000000000000000 @@ 0000000000000000, 0000000000000031  ==> 00000000 00000000 00000000 00000031
-+vpkudus: 0000000000000000, 0000000000000000 @@ 000000007c118a2b, 00000000f1112345  ==> 00000000 00000000 7c118a2b f1112345
-+vpkudus: 0000000000000000, 0000000000000000 @@ 01f2f3f4f5f6f7f8, f9fafbfcfefdfeff  ==> 00000000 00000000 ffffffff ffffffff
-+vpkudus: 0000000000000000, 0000000000000000 @@ 0000000000000000, 0000000000000000  ==> 00000000 00000000 00000000 00000000
-+vpkudus: 0000000000000000, 0000000000000000 @@ 0000000000000000, 0000000000000000  ==> 00000000 00000000 00000000 00000000
-+vpkudus: 0000000000000000, 0000000000000000 @@ 0000000000000000, 0000000000000031  ==> 00000000 00000000 00000000 00000031
-+vpkudus: 0000000000000000, 0000000000000031 @@ 000000007c118a2b, 00000000f1112345  ==> 00000000 00000031 7c118a2b f1112345
-+vpkudus: 0000000000000000, 0000000000000031 @@ 01f2f3f4f5f6f7f8, f9fafbfcfefdfeff  ==> 00000000 00000031 ffffffff ffffffff
-+vpkudus: 0000000000000000, 0000000000000031 @@ 0000000000000000, 0000000000000000  ==> 00000000 00000031 00000000 00000000
-+vpkudus: 0000000000000000, 0000000000000031 @@ 0000000000000000, 0000000000000000  ==> 00000000 00000031 00000000 00000000
-+vpkudus: 0000000000000000, 0000000000000031 @@ 0000000000000000, 0000000000000031  ==> 00000000 00000031 00000000 00000031
- 
- vpksdus: 000000007c118a2b, 00000000f1112345 @@ 000000007c118a2b, 00000000f1112345  ==> 7c118a2b f1112345 7c118a2b f1112345
- vpksdus: 000000007c118a2b, 00000000f1112345 @@ 01f2f3f4f5f6f7f8, f9fafbfcfefdfeff  ==> 7c118a2b f1112345 ffffffff 00000000
-+vpksdus: 000000007c118a2b, 00000000f1112345 @@ 0000000000000000, 0000000000000000  ==> 7c118a2b f1112345 00000000 00000000
-+vpksdus: 000000007c118a2b, 00000000f1112345 @@ 0000000000000000, 0000000000000000  ==> 7c118a2b f1112345 00000000 00000000
-+vpksdus: 000000007c118a2b, 00000000f1112345 @@ 0000000000000000, 0000000000000031  ==> 7c118a2b f1112345 00000000 00000031
- vpksdus: 01f2f3f4f5f6f7f8, f9fafbfcfefdfeff @@ 000000007c118a2b, 00000000f1112345  ==> ffffffff 00000000 7c118a2b f1112345
- vpksdus: 01f2f3f4f5f6f7f8, f9fafbfcfefdfeff @@ 01f2f3f4f5f6f7f8, f9fafbfcfefdfeff  ==> ffffffff 00000000 ffffffff 00000000
-+vpksdus: 01f2f3f4f5f6f7f8, f9fafbfcfefdfeff @@ 0000000000000000, 0000000000000000  ==> ffffffff 00000000 00000000 00000000
-+vpksdus: 01f2f3f4f5f6f7f8, f9fafbfcfefdfeff @@ 0000000000000000, 0000000000000000  ==> ffffffff 00000000 00000000 00000000
-+vpksdus: 01f2f3f4f5f6f7f8, f9fafbfcfefdfeff @@ 0000000000000000, 0000000000000031  ==> ffffffff 00000000 00000000 00000031
-+vpksdus: 0000000000000000, 0000000000000000 @@ 000000007c118a2b, 00000000f1112345  ==> 00000000 00000000 7c118a2b f1112345
-+vpksdus: 0000000000000000, 0000000000000000 @@ 01f2f3f4f5f6f7f8, f9fafbfcfefdfeff  ==> 00000000 00000000 ffffffff 00000000
-+vpksdus: 0000000000000000, 0000000000000000 @@ 0000000000000000, 0000000000000000  ==> 00000000 00000000 00000000 00000000
-+vpksdus: 0000000000000000, 0000000000000000 @@ 0000000000000000, 0000000000000000  ==> 00000000 00000000 00000000 00000000
-+vpksdus: 0000000000000000, 0000000000000000 @@ 0000000000000000, 0000000000000031  ==> 00000000 00000000 00000000 00000031
-+vpksdus: 0000000000000000, 0000000000000000 @@ 000000007c118a2b, 00000000f1112345  ==> 00000000 00000000 7c118a2b f1112345
-+vpksdus: 0000000000000000, 0000000000000000 @@ 01f2f3f4f5f6f7f8, f9fafbfcfefdfeff  ==> 00000000 00000000 ffffffff 00000000
-+vpksdus: 0000000000000000, 0000000000000000 @@ 0000000000000000, 0000000000000000  ==> 00000000 00000000 00000000 00000000
-+vpksdus: 0000000000000000, 0000000000000000 @@ 0000000000000000, 0000000000000000  ==> 00000000 00000000 00000000 00000000
-+vpksdus: 0000000000000000, 0000000000000000 @@ 0000000000000000, 0000000000000031  ==> 00000000 00000000 00000000 00000031
-+vpksdus: 0000000000000000, 0000000000000031 @@ 000000007c118a2b, 00000000f1112345  ==> 00000000 00000031 7c118a2b f1112345
-+vpksdus: 0000000000000000, 0000000000000031 @@ 01f2f3f4f5f6f7f8, f9fafbfcfefdfeff  ==> 00000000 00000031 ffffffff 00000000
-+vpksdus: 0000000000000000, 0000000000000031 @@ 0000000000000000, 0000000000000000  ==> 00000000 00000031 00000000 00000000
-+vpksdus: 0000000000000000, 0000000000000031 @@ 0000000000000000, 0000000000000000  ==> 00000000 00000031 00000000 00000000
-+vpksdus: 0000000000000000, 0000000000000031 @@ 0000000000000000, 0000000000000031  ==> 00000000 00000031 00000000 00000031
- 
- vpksdss: 000000007c118a2b, 00000000f1112345 @@ 000000007c118a2b, 00000000f1112345  ==> 7c118a2b 7fffffff 7c118a2b 7fffffff
- vpksdss: 000000007c118a2b, 00000000f1112345 @@ 01f2f3f4f5f6f7f8, f9fafbfcfefdfeff  ==> 7c118a2b 7fffffff 7fffffff 80000000
-+vpksdss: 000000007c118a2b, 00000000f1112345 @@ 0000000000000000, 0000000000000000  ==> 7c118a2b 7fffffff 00000000 00000000
-+vpksdss: 000000007c118a2b, 00000000f1112345 @@ 0000000000000000, 0000000000000000  ==> 7c118a2b 7fffffff 00000000 00000000
-+vpksdss: 000000007c118a2b, 00000000f1112345 @@ 0000000000000000, 0000000000000031  ==> 7c118a2b 7fffffff 00000000 00000031
- vpksdss: 01f2f3f4f5f6f7f8, f9fafbfcfefdfeff @@ 000000007c118a2b, 00000000f1112345  ==> 7fffffff 80000000 7c118a2b 7fffffff
- vpksdss: 01f2f3f4f5f6f7f8, f9fafbfcfefdfeff @@ 01f2f3f4f5f6f7f8, f9fafbfcfefdfeff  ==> 7fffffff 80000000 7fffffff 80000000
-+vpksdss: 01f2f3f4f5f6f7f8, f9fafbfcfefdfeff @@ 0000000000000000, 0000000000000000  ==> 7fffffff 80000000 00000000 00000000
-+vpksdss: 01f2f3f4f5f6f7f8, f9fafbfcfefdfeff @@ 0000000000000000, 0000000000000000  ==> 7fffffff 80000000 00000000 00000000
-+vpksdss: 01f2f3f4f5f6f7f8, f9fafbfcfefdfeff @@ 0000000000000000, 0000000000000031  ==> 7fffffff 80000000 00000000 00000031
-+vpksdss: 0000000000000000, 0000000000000000 @@ 000000007c118a2b, 00000000f1112345  ==> 00000000 00000000 7c118a2b 7fffffff
-+vpksdss: 0000000000000000, 0000000000000000 @@ 01f2f3f4f5f6f7f8, f9fafbfcfefdfeff  ==> 00000000 00000000 7fffffff 80000000
-+vpksdss: 0000000000000000, 0000000000000000 @@ 0000000000000000, 0000000000000000  ==> 00000000 00000000 00000000 00000000
-+vpksdss: 0000000000000000, 0000000000000000 @@ 0000000000000000, 0000000000000000  ==> 00000000 00000000 00000000 00000000
-+vpksdss: 0000000000000000, 0000000000000000 @@ 0000000000000000, 0000000000000031  ==> 00000000 00000000 00000000 00000031
-+vpksdss: 0000000000000000, 0000000000000000 @@ 000000007c118a2b, 00000000f1112345  ==> 00000000 00000000 7c118a2b 7fffffff
-+vpksdss: 0000000000000000, 0000000000000000 @@ 01f2f3f4f5f6f7f8, f9fafbfcfefdfeff  ==> 00000000 00000000 7fffffff 80000000
-+vpksdss: 0000000000000000, 0000000000000000 @@ 0000000000000000, 0000000000000000  ==> 00000000 00000000 00000000 00000000
-+vpksdss: 0000000000000000, 0000000000000000 @@ 0000000000000000, 0000000000000000  ==> 00000000 00000000 00000000 00000000
-+vpksdss: 0000000000000000, 0000000000000000 @@ 0000000000000000, 0000000000000031  ==> 00000000 00000000 00000000 00000031
-+vpksdss: 0000000000000000, 0000000000000031 @@ 000000007c118a2b, 00000000f1112345  ==> 00000000 00000031 7c118a2b 7fffffff
-+vpksdss: 0000000000000000, 0000000000000031 @@ 01f2f3f4f5f6f7f8, f9fafbfcfefdfeff  ==> 00000000 00000031 7fffffff 80000000
-+vpksdss: 0000000000000000, 0000000000000031 @@ 0000000000000000, 0000000000000000  ==> 00000000 00000031 00000000 00000000
-+vpksdss: 0000000000000000, 0000000000000031 @@ 0000000000000000, 0000000000000000  ==> 00000000 00000031 00000000 00000000
-+vpksdss: 0000000000000000, 0000000000000031 @@ 0000000000000000, 0000000000000031  ==> 00000000 00000031 00000000 00000031
- 
- vupkhsw: 01020304 05060708 090a0b0c 0e0d0e0f ==> 0000000001020304 0000000005060708
- vupkhsw: f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff ==> fffffffff1f2f3f4 fffffffff5f6f7f8
-@@ -300,6 +1312,18 @@ vpermxor: 0102030405060708 @@ f1f2f3f4f5f6f7f8 @@ 0102030405060708  ==> f3f2f5f4
- 	090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f  ==> fbfafdfffffcfffe
- vpermxor: 0102030405060708 @@ f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8  ==> fdfcfbfaf9f8f7f6
- 	090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff  ==> f5f4f3f1f1f2f1f0
-+vpermxor: 0102030405060708 @@ 00007fffffffffff @@ 0102030405060708  ==> 017efefefefefefe
-+	090a0b0c0e0d0e0f @@ ffff000000000000 @@ 090a0b0c0e0d0e0f  ==> fe01010101010101
-+vpermxor: 0102030405060708 @@ 00007fffffffffff @@ f1f2f3f4f5f6f7f8  ==> 0f70f0f0f0f0f0f0
-+	090a0b0c0e0d0e0f @@ ffff000000000000 @@ f9fafbfcfefdfeff  ==> f00f0f0f0f0f0f0f
-+vpermxor: 0102030405060708 @@ 0000800000000000 @@ 0102030405060708  ==> 0181010101010101
-+	090a0b0c0e0d0e0f @@ 0000000000000000 @@ 090a0b0c0e0d0e0f  ==> 0101010101010101
-+vpermxor: 0102030405060708 @@ 0000800000000000 @@ f1f2f3f4f5f6f7f8  ==> 0f8f0f0f0f0f0f0f
-+	090a0b0c0e0d0e0f @@ 0000000000000000 @@ f9fafbfcfefdfeff  ==> 0f0f0f0f0f0f0f0f
-+vpermxor: 0102030405060708 @@ ffffffffffffffff @@ 0102030405060708  ==> fefefefefefefe01
-+	090a0b0c0e0d0e0f @@ 0000000000000051 @@ 090a0b0c0e0d0e0f  ==> 0101010101010150
-+vpermxor: 0102030405060708 @@ ffffffffffffffff @@ f1f2f3f4f5f6f7f8  ==> f0f0f0f0f0f0f00f
-+	090a0b0c0e0d0e0f @@ 0000000000000051 @@ f9fafbfcfefdfeff  ==> 0f0f0f0f0f0f0f5e
- vpermxor: f1f2f3f4f5f6f7f8 @@ 0102030405060708 @@ 0102030405060708  ==> f3f2f5f4f7f6f9f8
- 	f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f  ==> fbfafdfffffcfffe
- vpermxor: f1f2f3f4f5f6f7f8 @@ 0102030405060708 @@ f1f2f3f4f5f6f7f8  ==> fdfcfbfaf9f8f7f6
-@@ -308,36 +1332,138 @@ vpermxor: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 @@ 0102030405060708  ==> 03020504
- 	f9fafbfcfefdfeff @@ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f  ==> 0b0a0d0f0f0c0f0e
- vpermxor: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8  ==> 0d0c0b0a09080706
- 	f9fafbfcfefdfeff @@ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff  ==> 0504030101020100
-+vpermxor: f1f2f3f4f5f6f7f8 @@ 00007fffffffffff @@ 0102030405060708  ==> f18e0e0e0e0e0e0e
-+	f9fafbfcfefdfeff @@ ffff000000000000 @@ 090a0b0c0e0d0e0f  ==> 0ef1f1f1f1f1f1f1
-+vpermxor: f1f2f3f4f5f6f7f8 @@ 00007fffffffffff @@ f1f2f3f4f5f6f7f8  ==> ff80000000000000
-+	f9fafbfcfefdfeff @@ ffff000000000000 @@ f9fafbfcfefdfeff  ==> 00ffffffffffffff
-+vpermxor: f1f2f3f4f5f6f7f8 @@ 0000800000000000 @@ 0102030405060708  ==> f171f1f1f1f1f1f1
-+	f9fafbfcfefdfeff @@ 0000000000000000 @@ 090a0b0c0e0d0e0f  ==> f1f1f1f1f1f1f1f1
-+vpermxor: f1f2f3f4f5f6f7f8 @@ 0000800000000000 @@ f1f2f3f4f5f6f7f8  ==> ff7fffffffffffff
-+	f9fafbfcfefdfeff @@ 0000000000000000 @@ f9fafbfcfefdfeff  ==> ffffffffffffffff
-+vpermxor: f1f2f3f4f5f6f7f8 @@ ffffffffffffffff @@ 0102030405060708  ==> 0e0e0e0e0e0e0ef1
-+	f9fafbfcfefdfeff @@ 0000000000000051 @@ 090a0b0c0e0d0e0f  ==> f1f1f1f1f1f1f1a0
-+vpermxor: f1f2f3f4f5f6f7f8 @@ ffffffffffffffff @@ f1f2f3f4f5f6f7f8  ==> 00000000000000ff
-+	f9fafbfcfefdfeff @@ 0000000000000051 @@ f9fafbfcfefdfeff  ==> ffffffffffffffae
-+vpermxor: 00007fffffffffff @@ 0102030405060708 @@ 0102030405060708  ==> 0203040506070809
-+	ffff000000000000 @@ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f  ==> 0a0b0c0e0e0d0e0f
-+vpermxor: 00007fffffffffff @@ 0102030405060708 @@ f1f2f3f4f5f6f7f8  ==> 0203040506070809
-+	ffff000000000000 @@ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff  ==> 0a0b0c0e0e0d0e0f
-+vpermxor: 00007fffffffffff @@ f1f2f3f4f5f6f7f8 @@ 0102030405060708  ==> f2f3f4f5f6f7f8f9
-+	ffff000000000000 @@ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f  ==> fafbfcfefefdfeff
-+vpermxor: 00007fffffffffff @@ f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8  ==> f2f3f4f5f6f7f8f9
-+	ffff000000000000 @@ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff  ==> fafbfcfefefdfeff
-+vpermxor: 00007fffffffffff @@ 00007fffffffffff @@ 0102030405060708  ==> 007fffffffffffff
-+	ffff000000000000 @@ ffff000000000000 @@ 090a0b0c0e0d0e0f  ==> ff00000000000000
-+vpermxor: 00007fffffffffff @@ 00007fffffffffff @@ f1f2f3f4f5f6f7f8  ==> 007fffffffffffff
-+	ffff000000000000 @@ ffff000000000000 @@ f9fafbfcfefdfeff  ==> ff00000000000000
-+vpermxor: 00007fffffffffff @@ 0000800000000000 @@ 0102030405060708  ==> 0080000000000000
-+	ffff000000000000 @@ 0000000000000000 @@ 090a0b0c0e0d0e0f  ==> 0000000000000000
-+vpermxor: 00007fffffffffff @@ 0000800000000000 @@ f1f2f3f4f5f6f7f8  ==> 0080000000000000
-+	ffff000000000000 @@ 0000000000000000 @@ f9fafbfcfefdfeff  ==> 0000000000000000
-+vpermxor: 00007fffffffffff @@ ffffffffffffffff @@ 0102030405060708  ==> ffffffffffffff00
-+	ffff000000000000 @@ 0000000000000051 @@ 090a0b0c0e0d0e0f  ==> 0000000000000051
-+vpermxor: 00007fffffffffff @@ ffffffffffffffff @@ f1f2f3f4f5f6f7f8  ==> ffffffffffffff00
-+	ffff000000000000 @@ 0000000000000051 @@ f9fafbfcfefdfeff  ==> 0000000000000051
-+vpermxor: 0000800000000000 @@ 0102030405060708 @@ 0102030405060708  ==> 0203040506070809
-+	0000000000000000 @@ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f  ==> 0a0b0c0e0e0d0e0f
-+vpermxor: 0000800000000000 @@ 0102030405060708 @@ f1f2f3f4f5f6f7f8  ==> 0203040506070809
-+	0000000000000000 @@ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff  ==> 0a0b0c0e0e0d0e0f
-+vpermxor: 0000800000000000 @@ f1f2f3f4f5f6f7f8 @@ 0102030405060708  ==> f2f3f4f5f6f7f8f9
-+	0000000000000000 @@ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f  ==> fafbfcfefefdfeff
-+vpermxor: 0000800000000000 @@ f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8  ==> f2f3f4f5f6f7f8f9
-+	0000000000000000 @@ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff  ==> fafbfcfefefdfeff
-+vpermxor: 0000800000000000 @@ 00007fffffffffff @@ 0102030405060708  ==> 007fffffffffffff
-+	0000000000000000 @@ ffff000000000000 @@ 090a0b0c0e0d0e0f  ==> ff00000000000000
-+vpermxor: 0000800000000000 @@ 00007fffffffffff @@ f1f2f3f4f5f6f7f8  ==> 007fffffffffffff
-+	0000000000000000 @@ ffff000000000000 @@ f9fafbfcfefdfeff  ==> ff00000000000000
-+vpermxor: 0000800000000000 @@ 0000800000000000 @@ 0102030405060708  ==> 0080000000000000
-+	0000000000000000 @@ 0000000000000000 @@ 090a0b0c0e0d0e0f  ==> 0000000000000000
-+vpermxor: 0000800000000000 @@ 0000800000000000 @@ f1f2f3f4f5f6f7f8  ==> 0080000000000000
-+	0000000000000000 @@ 0000000000000000 @@ f9fafbfcfefdfeff  ==> 0000000000000000
-+vpermxor: 0000800000000000 @@ ffffffffffffffff @@ 0102030405060708  ==> ffffffffffffff00
-+	0000000000000000 @@ 0000000000000051 @@ 090a0b0c0e0d0e0f  ==> 0000000000000051
-+vpermxor: 0000800000000000 @@ ffffffffffffffff @@ f1f2f3f4f5f6f7f8  ==> ffffffffffffff00
-+	0000000000000000 @@ 0000000000000051 @@ f9fafbfcfefdfeff  ==> 0000000000000051
-+vpermxor: ffffffffffffffff @@ 0102030405060708 @@ 0102030405060708  ==> fdfcfbfaf9f8f7f6
-+	0000000000000051 @@ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f  ==> f5f4f3f1f1f2f1f0
-+vpermxor: ffffffffffffffff @@ 0102030405060708 @@ f1f2f3f4f5f6f7f8  ==> 5352555457565958
-+	0000000000000051 @@ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff  ==> 5b5a5d5f5f5c5f5e
-+vpermxor: ffffffffffffffff @@ f1f2f3f4f5f6f7f8 @@ 0102030405060708  ==> 0d0c0b0a09080706
-+	0000000000000051 @@ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f  ==> 0504030101020100
-+vpermxor: ffffffffffffffff @@ f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8  ==> a3a2a5a4a7a6a9a8
-+	0000000000000051 @@ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff  ==> abaaadafafacafae
-+vpermxor: ffffffffffffffff @@ 00007fffffffffff @@ 0102030405060708  ==> ff80000000000000
-+	0000000000000051 @@ ffff000000000000 @@ 090a0b0c0e0d0e0f  ==> 00ffffffffffffff
-+vpermxor: ffffffffffffffff @@ 00007fffffffffff @@ f1f2f3f4f5f6f7f8  ==> 512eaeaeaeaeaeae
-+	0000000000000051 @@ ffff000000000000 @@ f9fafbfcfefdfeff  ==> ae51515151515151
-+vpermxor: ffffffffffffffff @@ 0000800000000000 @@ 0102030405060708  ==> ff7fffffffffffff
-+	0000000000000051 @@ 0000000000000000 @@ 090a0b0c0e0d0e0f  ==> ffffffffffffffff
-+vpermxor: ffffffffffffffff @@ 0000800000000000 @@ f1f2f3f4f5f6f7f8  ==> 51d1515151515151
-+	0000000000000051 @@ 0000000000000000 @@ f9fafbfcfefdfeff  ==> 5151515151515151
-+vpermxor: ffffffffffffffff @@ ffffffffffffffff @@ 0102030405060708  ==> 00000000000000ff
-+	0000000000000051 @@ 0000000000000051 @@ 090a0b0c0e0d0e0f  ==> ffffffffffffffae
-+vpermxor: ffffffffffffffff @@ ffffffffffffffff @@ f1f2f3f4f5f6f7f8  ==> aeaeaeaeaeaeae51
-+	0000000000000051 @@ 0000000000000051 @@ f9fafbfcfefdfeff  ==> 5151515151515100
- 
- vclzb: 0102030405060708 @@ 090a0b0c0e0d0e0f  ==> 07060605050505040404040404040404
- vclzb: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff  ==> 00000000000000000000000000000000
-+vclzb: 00007fffffffffff @@ ffff000000000000  ==> 08080100000000000000080808080808
-+vclzb: 0000800000000000 @@ 0000000000000000  ==> 08080008080808080808080808080808
-+vclzb: ffffffffffffffff @@ 0000000000000051  ==> 00000000000000000808080808080801
- 
- vclzw: 0102030405060708 @@ 090a0b0c0e0d0e0f  ==> 00000007000000050000000400000004
- vclzw: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff  ==> 00000000000000000000000000000000
-+vclzw: 00007fffffffffff @@ ffff000000000000  ==> 00000011000000000000000000000020
-+vclzw: 0000800000000000 @@ 0000000000000000  ==> 00000010000000200000002000000020
-+vclzw: ffffffffffffffff @@ 0000000000000051  ==> 00000000000000000000002000000019
- 
- vclzh: 0102030405060708 @@ 090a0b0c0e0d0e0f  ==> 00070006000500050004000400040004
- vclzh: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff  ==> 00000000000000000000000000000000
-+vclzh: 00007fffffffffff @@ ffff000000000000  ==> 00100001000000000000001000100010
-+vclzh: 0000800000000000 @@ 0000000000000000  ==> 00100000001000100010001000100010
-+vclzh: ffffffffffffffff @@ 0000000000000051  ==> 00000000000000000010001000100009
- 
- vclzd: 0102030405060708 @@ 090a0b0c0e0d0e0f  ==> 00000000000000070000000000000004
- vclzd: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff  ==> 00000000000000000000000000000000
-+vclzd: 00007fffffffffff @@ ffff000000000000  ==> 00000000000000110000000000000000
-+vclzd: 0000800000000000 @@ 0000000000000000  ==> 00000000000000100000000000000040
-+vclzd: ffffffffffffffff @@ 0000000000000051  ==> 00000000000000000000000000000039
- 
- vpopcntb: 0102030405060708 @@ 090a0b0c0e0d0e0f  ==> 01010201020203010202030203030304
- vpopcntb: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff  ==> 05050605060607050606070607070708
-+vpopcntb: 00007fffffffffff @@ ffff000000000000  ==> 00000708080808080808000000000000
-+vpopcntb: 0000800000000000 @@ 0000000000000000  ==> 00000100000000000000000000000000
-+vpopcntb: ffffffffffffffff @@ 0000000000000051  ==> 08080808080808080000000000000003
- 
- vpopcnth: 0102030405060708 @@ 090a0b0c0e0d0e0f  ==> 00020003000400040004000500060007
- vpopcnth: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff  ==> 000a000b000c000c000c000d000e000f
-+vpopcnth: 00007fffffffffff @@ ffff000000000000  ==> 0000000f001000100010000000000000
-+vpopcnth: 0000800000000000 @@ 0000000000000000  ==> 00000001000000000000000000000000
-+vpopcnth: ffffffffffffffff @@ 0000000000000051  ==> 00100010001000100000000000000003
- 
- vpopcntw: 0102030405060708 @@ 090a0b0c0e0d0e0f  ==> 0000000500000008000000090000000d
- vpopcntw: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff  ==> 0000001500000018000000190000001d
-+vpopcntw: 00007fffffffffff @@ ffff000000000000  ==> 0000000f000000200000001000000000
-+vpopcntw: 0000800000000000 @@ 0000000000000000  ==> 00000001000000000000000000000000
-+vpopcntw: ffffffffffffffff @@ 0000000000000051  ==> 00000020000000200000000000000003
- 
- vpopcntd: 0102030405060708 @@ 090a0b0c0e0d0e0f  ==> 000000000000000d0000000000000016
- vpopcntd: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff  ==> 000000000000002d0000000000000036
-+vpopcntd: 00007fffffffffff @@ ffff000000000000  ==> 000000000000002f0000000000000010
-+vpopcntd: 0000800000000000 @@ 0000000000000000  ==> 00000000000000010000000000000000
-+vpopcntd: ffffffffffffffff @@ 0000000000000051  ==> 00000000000000400000000000000003
- 
- vsbox: 0102030405060708 @@ 090a0b0c0e0d0e0f  ==> 7c777bf26b6fc53001672bfeabd7ab76
- vsbox: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff  ==> a1890dbfe6426841992d0fb0bb54bb16
-+vsbox: 00007fffffffffff @@ ffff000000000000  ==> 6363d216161616161616636363636363
-+vsbox: 0000800000000000 @@ 0000000000000000  ==> 6363cd63636363636363636363636363
-+vsbox: ffffffffffffffff @@ 0000000000000051  ==> 161616161616161663636363636363d1
- 
- vgbbd: 0102030405060708 @@ 090a0b0c0e0d0e0f  ==> 00000000011e66aa00000000ff1f6ba5
- vgbbd: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff  ==> ffffffff011e66aaffffffffff1f6ba5
-+vgbbd: 00007fffffffffff @@ ffff000000000000  ==> 1f3f3f3f3f3f3f3fc0c0c0c0c0c0c0c0
-+vgbbd: 0000800000000000 @@ 0000000000000000  ==> 20000000000000000000000000000000
-+vgbbd: ffffffffffffffff @@ 0000000000000051  ==> ffffffffffffffff0001000100000001
- 
- vshasigmad: 0102030405060708 @@ 090a0b0c0e0d0e0f  ==> 088207870e8c098d || 8b9e1b9b13149015
- vshasigmad: 0102030405060708 @@ 090a0b0c0e0d0e0f  ==> c8f5100c7844a0fc || e9b5916d0131c581
-@@ -347,6 +1473,18 @@ vshasigmad: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff  ==> 81eb6eee67e560e4 || 02f772
- vshasigmad: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff  ==> 52af4a56221efaa6 || 73efcb375b6b9fdb
- vshasigmad: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff  ==> 8bf92f9ed2b06655 || 299d6bbd9e22f4c7
- vshasigmad: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff  ==> 986700cc8f5613df || 7a3f676a2ef03935
-+vshasigmad: 00007fffffffffff @@ ffff000000000000  ==> 7f003f7fffffffff || 7eff810000000000
-+vshasigmad: 00007fffffffffff @@ ffff000000000000  ==> fffc1e000ffffff8 || fc07e3ffe0000007
-+vshasigmad: 00007fffffffffff @@ ffff000000000000  ==> fffffff03e07e0ff || 0000000fc1f03e00
-+vshasigmad: 00007fffffffffff @@ ffff000000000000  ==> fffc3ffe1f80003f || 0003c003c07fff80
-+vshasigmad: 0000800000000000 @@ 0000000000000000  ==> 0000418000000000 || 0000000000000000
-+vshasigmad: 0000800000000000 @@ 0000000000000000  ==> 0004020010000000 || 0000000000000000
-+vshasigmad: 0000800000000000 @@ 0000000000000000  ==> 0000000000082100 || 0000000000000000
-+vshasigmad: 0000800000000000 @@ 0000000000000000  ==> 0000000220000040 || 0000000000000000
-+vshasigmad: ffffffffffffffff @@ 0000000000000051  ==> 01ffffffffffffff || d100000000000028
-+vshasigmad: ffffffffffffffff @@ 0000000000000051  ==> 03ffffffffffffff || 000a200000000289
-+vshasigmad: ffffffffffffffff @@ 0000000000000051  ==> ffffffffffffffff || 00000504e2000000
-+vshasigmad: ffffffffffffffff @@ 0000000000000051  ==> ffffffffffffffff || 0150400028800000
- 
- vshasigmaw: 0102030405060708 @@ 090a0b0c0e0d0e0f  ==> 88e344269168cdae || 9bf057355c5e785e
- vshasigmaw: 0102030405060708 @@ 090a0b0c0e0d0e0f  ==> 41e2c021c36443a2 || 44e5c72626c5e584
-@@ -356,6 +1494,18 @@ vshasigmaw: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff  ==> 4b2087e552ab0e6d || 583394
- vshasigmaw: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff  ==> 27b89a7ba53e19f8 || 22bf9d7c409fbfde
- vshasigmaw: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff  ==> 6814e0ad5965f19e || 0a7682cfffbb77ab
- vshasigmaw: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff  ==> 54200fe9e7b2997b || 71052acc5efb57bb
-+vshasigmaw: 00007fffffffffff @@ ffff000000000000  ==> e1ffcf001fffffff || de0021ff00000000
-+vshasigmaw: 00007fffffffffff @@ ffff000000000000  ==> 3000601f003fffff || 603f9fc000000000
-+vshasigmaw: 00007fffffffffff @@ ffff000000000000  ==> 3e07e3fcffffffff || c3f83c0700000000
-+vshasigmaw: 00007fffffffffff @@ ffff000000000000  ==> 03dffe70ffffffff || fc60039f00000000
-+vshasigmaw: 0000800000000000 @@ 0000000000000000  ==> 2000110000000000 || 0000000000000000
-+vshasigmaw: 0000800000000000 @@ 0000000000000000  ==> 5000002000000000 || 0000000000000000
-+vshasigmaw: 0000800000000000 @@ 0000000000000000  ==> 0200200400000000 || 0000000000000000
-+vshasigmaw: 0000800000000000 @@ 0000000000000000  ==> 0040021000000000 || 0000000000000000
-+vshasigmaw: ffffffffffffffff @@ 0000000000000051  ==> 1fffffff1fffffff || 00000000a214400a
-+vshasigmaw: ffffffffffffffff @@ 0000000000000051  ==> 003fffff003fffff || 000000000022a000
-+vshasigmaw: ffffffffffffffff @@ 0000000000000051  ==> ffffffffffffffff || 0000000042894414
-+vshasigmaw: ffffffffffffffff @@ 0000000000000051  ==> ffffffffffffffff || 000000004e202881
- 
- bcdadd.: 8045090189321003 || 001122334556677d @@ 8045090189321003 || 001122334556677d ==> 6090180378642006 || 002244669113354d
- bcdadd.: 8045090189321003 || 001122334556677d @@ 8045090189321003 || 001122334556677d ==> 6090180378642006 || 002244669113354d
-@@ -425,63 +1575,336 @@ bcdsub.: 0000000000000000 || 0000000000000000 @@ 0000000000000000 || 00000000000
- 
- vaddcuq: 0102030405060708090a0b0c0e0d0e0f @@ 0102030405060708090a0b0c0e0d0e0f ==> 00000000000000000000000000000000
- vaddcuq: 0102030405060708090a0b0c0e0d0e0f @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff ==> 00000000000000000000000000000000
-+vaddcuq: 0102030405060708090a0b0c0e0d0e0f @@ 00007fffffffffffffff000000000000 ==> 00000000000000000000000000000000
-+vaddcuq: 0102030405060708090a0b0c0e0d0e0f @@ 00008000000000000000000000000000 ==> 00000000000000000000000000000000
-+vaddcuq: 0102030405060708090a0b0c0e0d0e0f @@ ffffffffffffffff0000000000000051 ==> 00000000000000000000000000000001
- vaddcuq: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 0102030405060708090a0b0c0e0d0e0f ==> 00000000000000000000000000000000
- vaddcuq: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff ==> 00000000000000000000000000000001
-+vaddcuq: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 00007fffffffffffffff000000000000 ==> 00000000000000000000000000000000
-+vaddcuq: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 00008000000000000000000000000000 ==> 00000000000000000000000000000000
-+vaddcuq: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ ffffffffffffffff0000000000000051 ==> 00000000000000000000000000000001
-+vaddcuq: 00007fffffffffffffff000000000000 @@ 0102030405060708090a0b0c0e0d0e0f ==> 00000000000000000000000000000000
-+vaddcuq: 00007fffffffffffffff000000000000 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff ==> 00000000000000000000000000000000
-+vaddcuq: 00007fffffffffffffff000000000000 @@ 00007fffffffffffffff000000000000 ==> 00000000000000000000000000000000
-+vaddcuq: 00007fffffffffffffff000000000000 @@ 00008000000000000000000000000000 ==> 00000000000000000000000000000000
-+vaddcuq: 00007fffffffffffffff000000000000 @@ ffffffffffffffff0000000000000051 ==> 00000000000000000000000000000001
-+vaddcuq: 00008000000000000000000000000000 @@ 0102030405060708090a0b0c0e0d0e0f ==> 00000000000000000000000000000000
-+vaddcuq: 00008000000000000000000000000000 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff ==> 00000000000000000000000000000000
-+vaddcuq: 00008000000000000000000000000000 @@ 00007fffffffffffffff000000000000 ==> 00000000000000000000000000000000
-+vaddcuq: 00008000000000000000000000000000 @@ 00008000000000000000000000000000 ==> 00000000000000000000000000000000
-+vaddcuq: 00008000000000000000000000000000 @@ ffffffffffffffff0000000000000051 ==> 00000000000000000000000000000001
-+vaddcuq: ffffffffffffffff0000000000000051 @@ 0102030405060708090a0b0c0e0d0e0f ==> 00000000000000000000000000000001
-+vaddcuq: ffffffffffffffff0000000000000051 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff ==> 00000000000000000000000000000001
-+vaddcuq: ffffffffffffffff0000000000000051 @@ 00007fffffffffffffff000000000000 ==> 00000000000000000000000000000001
-+vaddcuq: ffffffffffffffff0000000000000051 @@ 00008000000000000000000000000000 ==> 00000000000000000000000000000001
-+vaddcuq: ffffffffffffffff0000000000000051 @@ ffffffffffffffff0000000000000051 ==> 00000000000000000000000000000001
- 
- vadduqm: 0102030405060708090a0b0c0e0d0e0f @@ 0102030405060708090a0b0c0e0d0e0f ==> 020406080a0c0e10121416181c1a1c1e
- vadduqm: 0102030405060708090a0b0c0e0d0e0f @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff ==> f2f4f6f8fafcff01030507090d0b0d0e
-+vadduqm: 0102030405060708090a0b0c0e0d0e0f @@ 00007fffffffffffffff000000000000 ==> 010283040506070809090b0c0e0d0e0f
-+vadduqm: 0102030405060708090a0b0c0e0d0e0f @@ 00008000000000000000000000000000 ==> 0102830405060708090a0b0c0e0d0e0f
-+vadduqm: 0102030405060708090a0b0c0e0d0e0f @@ ffffffffffffffff0000000000000051 ==> 0102030405060707090a0b0c0e0d0e60
- vadduqm: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 0102030405060708090a0b0c0e0d0e0f ==> f2f4f6f8fafcff01030507090d0b0d0e
- vadduqm: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff ==> e3e5e7e9ebedeff1f3f5f7f9fdfbfdfe
-+vadduqm: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 00007fffffffffffffff000000000000 ==> f1f373f4f5f6f7f8f9f9fbfcfefdfeff
-+vadduqm: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 00008000000000000000000000000000 ==> f1f373f4f5f6f7f8f9fafbfcfefdfeff
-+vadduqm: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ ffffffffffffffff0000000000000051 ==> f1f2f3f4f5f6f7f7f9fafbfcfefdff50
-+vadduqm: 00007fffffffffffffff000000000000 @@ 0102030405060708090a0b0c0e0d0e0f ==> 010283040506070809090b0c0e0d0e0f
-+vadduqm: 00007fffffffffffffff000000000000 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff ==> f1f373f4f5f6f7f8f9f9fbfcfefdfeff
-+vadduqm: 00007fffffffffffffff000000000000 @@ 00007fffffffffffffff000000000000 ==> 0000fffffffffffffffe000000000000
-+vadduqm: 00007fffffffffffffff000000000000 @@ 00008000000000000000000000000000 ==> 0000ffffffffffffffff000000000000
-+vadduqm: 00007fffffffffffffff000000000000 @@ ffffffffffffffff0000000000000051 ==> 00007ffffffffffeffff000000000051
-+vadduqm: 00008000000000000000000000000000 @@ 0102030405060708090a0b0c0e0d0e0f ==> 0102830405060708090a0b0c0e0d0e0f
-+vadduqm: 00008000000000000000000000000000 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff ==> f1f373f4f5f6f7f8f9fafbfcfefdfeff
-+vadduqm: 00008000000000000000000000000000 @@ 00007fffffffffffffff000000000000 ==> 0000ffffffffffffffff000000000000
-+vadduqm: 00008000000000000000000000000000 @@ 00008000000000000000000000000000 ==> 00010000000000000000000000000000
-+vadduqm: 00008000000000000000000000000000 @@ ffffffffffffffff0000000000000051 ==> 00007fffffffffff0000000000000051
-+vadduqm: ffffffffffffffff0000000000000051 @@ 0102030405060708090a0b0c0e0d0e0f ==> 0102030405060707090a0b0c0e0d0e60
-+vadduqm: ffffffffffffffff0000000000000051 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff ==> f1f2f3f4f5f6f7f7f9fafbfcfefdff50
-+vadduqm: ffffffffffffffff0000000000000051 @@ 00007fffffffffffffff000000000000 ==> 00007ffffffffffeffff000000000051
-+vadduqm: ffffffffffffffff0000000000000051 @@ 00008000000000000000000000000000 ==> 00007fffffffffff0000000000000051
-+vadduqm: ffffffffffffffff0000000000000051 @@ ffffffffffffffff0000000000000051 ==> fffffffffffffffe00000000000000a2
- 
- vsubcuq: 0102030405060708090a0b0c0e0d0e0f @@ 0102030405060708090a0b0c0e0d0e0f ==> 00000000000000000000000000000001
- vsubcuq: 0102030405060708090a0b0c0e0d0e0f @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff ==> 00000000000000000000000000000000
-+vsubcuq: 0102030405060708090a0b0c0e0d0e0f @@ 00007fffffffffffffff000000000000 ==> 00000000000000000000000000000001
-+vsubcuq: 0102030405060708090a0b0c0e0d0e0f @@ 00008000000000000000000000000000 ==> 00000000000000000000000000000001
-+vsubcuq: 0102030405060708090a0b0c0e0d0e0f @@ ffffffffffffffff0000000000000051 ==> 00000000000000000000000000000000
- vsubcuq: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 0102030405060708090a0b0c0e0d0e0f ==> 00000000000000000000000000000001
- vsubcuq: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff ==> 00000000000000000000000000000001
-+vsubcuq: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 00007fffffffffffffff000000000000 ==> 00000000000000000000000000000001
-+vsubcuq: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 00008000000000000000000000000000 ==> 00000000000000000000000000000001
-+vsubcuq: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ ffffffffffffffff0000000000000051 ==> 00000000000000000000000000000000
-+vsubcuq: 00007fffffffffffffff000000000000 @@ 0102030405060708090a0b0c0e0d0e0f ==> 00000000000000000000000000000000
-+vsubcuq: 00007fffffffffffffff000000000000 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff ==> 00000000000000000000000000000000
-+vsubcuq: 00007fffffffffffffff000000000000 @@ 00007fffffffffffffff000000000000 ==> 00000000000000000000000000000001
-+vsubcuq: 00007fffffffffffffff000000000000 @@ 00008000000000000000000000000000 ==> 00000000000000000000000000000000
-+vsubcuq: 00007fffffffffffffff000000000000 @@ ffffffffffffffff0000000000000051 ==> 00000000000000000000000000000000
-+vsubcuq: 00008000000000000000000000000000 @@ 0102030405060708090a0b0c0e0d0e0f ==> 00000000000000000000000000000000
-+vsubcuq: 00008000000000000000000000000000 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff ==> 00000000000000000000000000000000
-+vsubcuq: 00008000000000000000000000000000 @@ 00007fffffffffffffff000000000000 ==> 00000000000000000000000000000001
-+vsubcuq: 00008000000000000000000000000000 @@ 00008000000000000000000000000000 ==> 00000000000000000000000000000001
-+vsubcuq: 00008000000000000000000000000000 @@ ffffffffffffffff0000000000000051 ==> 00000000000000000000000000000000
-+vsubcuq: ffffffffffffffff0000000000000051 @@ 0102030405060708090a0b0c0e0d0e0f ==> 00000000000000000000000000000001
-+vsubcuq: ffffffffffffffff0000000000000051 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff ==> 00000000000000000000000000000001
-+vsubcuq: ffffffffffffffff0000000000000051 @@ 00007fffffffffffffff000000000000 ==> 00000000000000000000000000000001
-+vsubcuq: ffffffffffffffff0000000000000051 @@ 00008000000000000000000000000000 ==> 00000000000000000000000000000001
-+vsubcuq: ffffffffffffffff0000000000000051 @@ ffffffffffffffff0000000000000051 ==> 00000000000000000000000000000001
- 
- vsubuqm: 0102030405060708090a0b0c0e0d0e0f @@ 0102030405060708090a0b0c0e0d0e0f ==> 00000000000000000000000000000000
- vsubuqm: 0102030405060708090a0b0c0e0d0e0f @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff ==> 0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f10
-+vsubuqm: 0102030405060708090a0b0c0e0d0e0f @@ 00007fffffffffffffff000000000000 ==> 0101830405060708090b0b0c0e0d0e0f
-+vsubuqm: 0102030405060708090a0b0c0e0d0e0f @@ 00008000000000000000000000000000 ==> 0101830405060708090a0b0c0e0d0e0f
-+vsubuqm: 0102030405060708090a0b0c0e0d0e0f @@ ffffffffffffffff0000000000000051 ==> 0102030405060709090a0b0c0e0d0dbe
- vsubuqm: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 0102030405060708090a0b0c0e0d0e0f ==> f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0
- vsubuqm: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff ==> 00000000000000000000000000000000
-+vsubuqm: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 00007fffffffffffffff000000000000 ==> f1f273f4f5f6f7f8f9fbfbfcfefdfeff
-+vsubuqm: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 00008000000000000000000000000000 ==> f1f273f4f5f6f7f8f9fafbfcfefdfeff
-+vsubuqm: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ ffffffffffffffff0000000000000051 ==> f1f2f3f4f5f6f7f9f9fafbfcfefdfeae
-+vsubuqm: 00007fffffffffffffff000000000000 @@ 0102030405060708090a0b0c0e0d0e0f ==> fefe7cfbfaf9f8f7f6f4f4f3f1f2f1f1
-+vsubuqm: 00007fffffffffffffff000000000000 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff ==> 0e0d8c0b0a0908070604040301020101
-+vsubuqm: 00007fffffffffffffff000000000000 @@ 00007fffffffffffffff000000000000 ==> 00000000000000000000000000000000
-+vsubuqm: 00007fffffffffffffff000000000000 @@ 00008000000000000000000000000000 ==> ffffffffffffffffffff000000000000
-+vsubuqm: 00007fffffffffffffff000000000000 @@ ffffffffffffffff0000000000000051 ==> 0000800000000000fffeffffffffffaf
-+vsubuqm: 00008000000000000000000000000000 @@ 0102030405060708090a0b0c0e0d0e0f ==> fefe7cfbfaf9f8f7f6f5f4f3f1f2f1f1
-+vsubuqm: 00008000000000000000000000000000 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff ==> 0e0d8c0b0a0908070605040301020101
-+vsubuqm: 00008000000000000000000000000000 @@ 00007fffffffffffffff000000000000 ==> 00000000000000000001000000000000
-+vsubuqm: 00008000000000000000000000000000 @@ 00008000000000000000000000000000 ==> 00000000000000000000000000000000
-+vsubuqm: 00008000000000000000000000000000 @@ ffffffffffffffff0000000000000051 ==> 0000800000000000ffffffffffffffaf
-+vsubuqm: ffffffffffffffff0000000000000051 @@ 0102030405060708090a0b0c0e0d0e0f ==> fefdfcfbfaf9f8f6f6f5f4f3f1f2f242
-+vsubuqm: ffffffffffffffff0000000000000051 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff ==> 0e0d0c0b0a0908060605040301020152
-+vsubuqm: ffffffffffffffff0000000000000051 @@ 00007fffffffffffffff000000000000 ==> ffff7fffffffffff0001000000000051
-+vsubuqm: ffffffffffffffff0000000000000051 @@ 00008000000000000000000000000000 ==> ffff7fffffffffff0000000000000051
-+vsubuqm: ffffffffffffffff0000000000000051 @@ ffffffffffffffff0000000000000051 ==> 00000000000000000000000000000000
- 
- vbpermq: 0102030405060708090a0b0c0e0d0e0f @@ 0102030405060708090a0b0c0e0d0e0f ==> 000000000000020a0000000000000000
- vbpermq: 0102030405060708090a0b0c0e0d0e0f @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff ==> 00000000000000000000000000000000
-+vbpermq: 0102030405060708090a0b0c0e0d0e0f @@ 00007fffffffffffffff000000000000 ==> 00000000000020000000000000000000
-+vbpermq: 0102030405060708090a0b0c0e0d0e0f @@ 00008000000000000000000000000000 ==> 00000000000000000000000000000000
-+vbpermq: 0102030405060708090a0b0c0e0d0e0f @@ ffffffffffffffff0000000000000051 ==> 00000000000000000000000000000000
- vbpermq: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 0102030405060708090a0b0c0e0d0e0f ==> 000000000000e3ea0000000000000000
- vbpermq: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff ==> 00000000000000000000000000000000
-+vbpermq: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 00007fffffffffffffff000000000000 ==> 000000000000e03f0000000000000000
-+vbpermq: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 00008000000000000000000000000000 ==> 000000000000dfff0000000000000000
-+vbpermq: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ ffffffffffffffff0000000000000051 ==> 00000000000000ff0000000000000000
-+vbpermq: 00007fffffffffffffff000000000000 @@ 0102030405060708090a0b0c0e0d0e0f ==> 00000000000000000000000000000000
-+vbpermq: 00007fffffffffffffff000000000000 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff ==> 00000000000000000000000000000000
-+vbpermq: 00007fffffffffffffff000000000000 @@ 00007fffffffffffffff000000000000 ==> 00000000000000000000000000000000
-+vbpermq: 00007fffffffffffffff000000000000 @@ 00008000000000000000000000000000 ==> 00000000000000000000000000000000
-+vbpermq: 00007fffffffffffffff000000000000 @@ ffffffffffffffff0000000000000051 ==> 00000000000000000000000000000000
-+vbpermq: 00008000000000000000000000000000 @@ 0102030405060708090a0b0c0e0d0e0f ==> 00000000000000000000000000000000
-+vbpermq: 00008000000000000000000000000000 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff ==> 00000000000000000000000000000000
-+vbpermq: 00008000000000000000000000000000 @@ 00007fffffffffffffff000000000000 ==> 00000000000000000000000000000000
-+vbpermq: 00008000000000000000000000000000 @@ 00008000000000000000000000000000 ==> 00000000000000000000000000000000
-+vbpermq: 00008000000000000000000000000000 @@ ffffffffffffffff0000000000000051 ==> 00000000000000000000000000000000
-+vbpermq: ffffffffffffffff0000000000000051 @@ 0102030405060708090a0b0c0e0d0e0f ==> 000000000000ffff0000000000000000
-+vbpermq: ffffffffffffffff0000000000000051 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff ==> 00000000000000000000000000000000
-+vbpermq: ffffffffffffffff0000000000000051 @@ 00007fffffffffffffff000000000000 ==> 000000000000e03f0000000000000000
-+vbpermq: ffffffffffffffff0000000000000051 @@ 00008000000000000000000000000000 ==> 000000000000dfff0000000000000000
-+vbpermq: ffffffffffffffff0000000000000051 @@ ffffffffffffffff0000000000000051 ==> 00000000000000fe0000000000000000
- 
- vaddecuq: 0102030405060708090a0b0c0e0d0e0f @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000000 ==> 00000000000000000000000000000000
- vaddecuq: 0102030405060708090a0b0c0e0d0e0f @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000001 ==> 00000000000000000000000000000000
- vaddecuq: 0102030405060708090a0b0c0e0d0e0f @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000000 ==> 00000000000000000000000000000000
- vaddecuq: 0102030405060708090a0b0c0e0d0e0f @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000001 ==> 00000000000000000000000000000000
-+vaddecuq: 0102030405060708090a0b0c0e0d0e0f @@ 00007fffffffffffffff000000000000 @@ f000000000000000 ==> 00000000000000000000000000000000
-+vaddecuq: 0102030405060708090a0b0c0e0d0e0f @@ 00007fffffffffffffff000000000000 @@ f000000000000001 ==> 00000000000000000000000000000000
-+vaddecuq: 0102030405060708090a0b0c0e0d0e0f @@ 00008000000000000000000000000000 @@ f000000000000000 ==> 00000000000000000000000000000000
-+vaddecuq: 0102030405060708090a0b0c0e0d0e0f @@ 00008000000000000000000000000000 @@ f000000000000001 ==> 00000000000000000000000000000000
-+vaddecuq: 0102030405060708090a0b0c0e0d0e0f @@ ffffffffffffffff0000000000000051 @@ f000000000000000 ==> 00000000000000000000000000000001
-+vaddecuq: 0102030405060708090a0b0c0e0d0e0f @@ ffffffffffffffff0000000000000051 @@ f000000000000001 ==> 00000000000000000000000000000001
- vaddecuq: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000000 ==> 00000000000000000000000000000000
- vaddecuq: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000001 ==> 00000000000000000000000000000000
- vaddecuq: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000000 ==> 00000000000000000000000000000001
- vaddecuq: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000001 ==> 00000000000000000000000000000001
-+vaddecuq: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 00007fffffffffffffff000000000000 @@ f000000000000000 ==> 00000000000000000000000000000000
-+vaddecuq: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 00007fffffffffffffff000000000000 @@ f000000000000001 ==> 00000000000000000000000000000000
-+vaddecuq: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 00008000000000000000000000000000 @@ f000000000000000 ==> 00000000000000000000000000000000
-+vaddecuq: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 00008000000000000000000000000000 @@ f000000000000001 ==> 00000000000000000000000000000000
-+vaddecuq: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ ffffffffffffffff0000000000000051 @@ f000000000000000 ==> 00000000000000000000000000000001
-+vaddecuq: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ ffffffffffffffff0000000000000051 @@ f000000000000001 ==> 00000000000000000000000000000001
-+vaddecuq: 00007fffffffffffffff000000000000 @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000000 ==> 00000000000000000000000000000000
-+vaddecuq: 00007fffffffffffffff000000000000 @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000001 ==> 00000000000000000000000000000000
-+vaddecuq: 00007fffffffffffffff000000000000 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000000 ==> 00000000000000000000000000000000
-+vaddecuq: 00007fffffffffffffff000000000000 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000001 ==> 00000000000000000000000000000000
-+vaddecuq: 00007fffffffffffffff000000000000 @@ 00007fffffffffffffff000000000000 @@ f000000000000000 ==> 00000000000000000000000000000000
-+vaddecuq: 00007fffffffffffffff000000000000 @@ 00007fffffffffffffff000000000000 @@ f000000000000001 ==> 00000000000000000000000000000000
-+vaddecuq: 00007fffffffffffffff000000000000 @@ 00008000000000000000000000000000 @@ f000000000000000 ==> 00000000000000000000000000000000
-+vaddecuq: 00007fffffffffffffff000000000000 @@ 00008000000000000000000000000000 @@ f000000000000001 ==> 00000000000000000000000000000000
-+vaddecuq: 00007fffffffffffffff000000000000 @@ ffffffffffffffff0000000000000051 @@ f000000000000000 ==> 00000000000000000000000000000001
-+vaddecuq: 00007fffffffffffffff000000000000 @@ ffffffffffffffff0000000000000051 @@ f000000000000001 ==> 00000000000000000000000000000001
-+vaddecuq: 00008000000000000000000000000000 @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000000 ==> 00000000000000000000000000000000
-+vaddecuq: 00008000000000000000000000000000 @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000001 ==> 00000000000000000000000000000000
-+vaddecuq: 00008000000000000000000000000000 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000000 ==> 00000000000000000000000000000000
-+vaddecuq: 00008000000000000000000000000000 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000001 ==> 00000000000000000000000000000000
-+vaddecuq: 00008000000000000000000000000000 @@ 00007fffffffffffffff000000000000 @@ f000000000000000 ==> 00000000000000000000000000000000
-+vaddecuq: 00008000000000000000000000000000 @@ 00007fffffffffffffff000000000000 @@ f000000000000001 ==> 00000000000000000000000000000000
-+vaddecuq: 00008000000000000000000000000000 @@ 00008000000000000000000000000000 @@ f000000000000000 ==> 00000000000000000000000000000000
-+vaddecuq: 00008000000000000000000000000000 @@ 00008000000000000000000000000000 @@ f000000000000001 ==> 00000000000000000000000000000000
-+vaddecuq: 00008000000000000000000000000000 @@ ffffffffffffffff0000000000000051 @@ f000000000000000 ==> 00000000000000000000000000000001
-+vaddecuq: 00008000000000000000000000000000 @@ ffffffffffffffff0000000000000051 @@ f000000000000001 ==> 00000000000000000000000000000001
-+vaddecuq: ffffffffffffffff0000000000000051 @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000000 ==> 00000000000000000000000000000001
-+vaddecuq: ffffffffffffffff0000000000000051 @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000001 ==> 00000000000000000000000000000001
-+vaddecuq: ffffffffffffffff0000000000000051 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000000 ==> 00000000000000000000000000000001
-+vaddecuq: ffffffffffffffff0000000000000051 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000001 ==> 00000000000000000000000000000001
-+vaddecuq: ffffffffffffffff0000000000000051 @@ 00007fffffffffffffff000000000000 @@ f000000000000000 ==> 00000000000000000000000000000001
-+vaddecuq: ffffffffffffffff0000000000000051 @@ 00007fffffffffffffff000000000000 @@ f000000000000001 ==> 00000000000000000000000000000001
-+vaddecuq: ffffffffffffffff0000000000000051 @@ 00008000000000000000000000000000 @@ f000000000000000 ==> 00000000000000000000000000000001
-+vaddecuq: ffffffffffffffff0000000000000051 @@ 00008000000000000000000000000000 @@ f000000000000001 ==> 00000000000000000000000000000001
-+vaddecuq: ffffffffffffffff0000000000000051 @@ ffffffffffffffff0000000000000051 @@ f000000000000000 ==> 00000000000000000000000000000001
-+vaddecuq: ffffffffffffffff0000000000000051 @@ ffffffffffffffff0000000000000051 @@ f000000000000001 ==> 00000000000000000000000000000001
- 
- vaddeuqm: 0102030405060708090a0b0c0e0d0e0f @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000000 ==> 020406080a0c0e10121416181c1a1c1e
- vaddeuqm: 0102030405060708090a0b0c0e0d0e0f @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000001 ==> 020406080a0c0e10121416181c1a1c1f
- vaddeuqm: 0102030405060708090a0b0c0e0d0e0f @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000000 ==> f2f4f6f8fafcff01030507090d0b0d0e
- vaddeuqm: 0102030405060708090a0b0c0e0d0e0f @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000001 ==> f2f4f6f8fafcff01030507090d0b0d0f
-+vaddeuqm: 0102030405060708090a0b0c0e0d0e0f @@ 00007fffffffffffffff000000000000 @@ f000000000000000 ==> 010283040506070809090b0c0e0d0e0f
-+vaddeuqm: 0102030405060708090a0b0c0e0d0e0f @@ 00007fffffffffffffff000000000000 @@ f000000000000001 ==> 010283040506070809090b0c0e0d0e10
-+vaddeuqm: 0102030405060708090a0b0c0e0d0e0f @@ 00008000000000000000000000000000 @@ f000000000000000 ==> 0102830405060708090a0b0c0e0d0e0f
-+vaddeuqm: 0102030405060708090a0b0c0e0d0e0f @@ 00008000000000000000000000000000 @@ f000000000000001 ==> 0102830405060708090a0b0c0e0d0e10
-+vaddeuqm: 0102030405060708090a0b0c0e0d0e0f @@ ffffffffffffffff0000000000000051 @@ f000000000000000 ==> 0102030405060707090a0b0c0e0d0e60
-+vaddeuqm: 0102030405060708090a0b0c0e0d0e0f @@ ffffffffffffffff0000000000000051 @@ f000000000000001 ==> 0102030405060707090a0b0c0e0d0e61
- vaddeuqm: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000000 ==> f2f4f6f8fafcff01030507090d0b0d0e
- vaddeuqm: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000001 ==> f2f4f6f8fafcff01030507090d0b0d0f
- vaddeuqm: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000000 ==> e3e5e7e9ebedeff1f3f5f7f9fdfbfdfe
- vaddeuqm: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000001 ==> e3e5e7e9ebedeff1f3f5f7f9fdfbfdff
-+vaddeuqm: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 00007fffffffffffffff000000000000 @@ f000000000000000 ==> f1f373f4f5f6f7f8f9f9fbfcfefdfeff
-+vaddeuqm: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 00007fffffffffffffff000000000000 @@ f000000000000001 ==> f1f373f4f5f6f7f8f9f9fbfcfefdff00
-+vaddeuqm: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 00008000000000000000000000000000 @@ f000000000000000 ==> f1f373f4f5f6f7f8f9fafbfcfefdfeff
-+vaddeuqm: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 00008000000000000000000000000000 @@ f000000000000001 ==> f1f373f4f5f6f7f8f9fafbfcfefdff00
-+vaddeuqm: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ ffffffffffffffff0000000000000051 @@ f000000000000000 ==> f1f2f3f4f5f6f7f7f9fafbfcfefdff50
-+vaddeuqm: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ ffffffffffffffff0000000000000051 @@ f000000000000001 ==> f1f2f3f4f5f6f7f7f9fafbfcfefdff51
-+vaddeuqm: 00007fffffffffffffff000000000000 @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000000 ==> 010283040506070809090b0c0e0d0e0f
-+vaddeuqm: 00007fffffffffffffff000000000000 @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000001 ==> 010283040506070809090b0c0e0d0e10
-+vaddeuqm: 00007fffffffffffffff000000000000 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000000 ==> f1f373f4f5f6f7f8f9f9fbfcfefdfeff
-+vaddeuqm: 00007fffffffffffffff000000000000 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000001 ==> f1f373f4f5f6f7f8f9f9fbfcfefdff00
-+vaddeuqm: 00007fffffffffffffff000000000000 @@ 00007fffffffffffffff000000000000 @@ f000000000000000 ==> 0000fffffffffffffffe000000000000
-+vaddeuqm: 00007fffffffffffffff000000000000 @@ 00007fffffffffffffff000000000000 @@ f000000000000001 ==> 0000fffffffffffffffe000000000001
-+vaddeuqm: 00007fffffffffffffff000000000000 @@ 00008000000000000000000000000000 @@ f000000000000000 ==> 0000ffffffffffffffff000000000000
-+vaddeuqm: 00007fffffffffffffff000000000000 @@ 00008000000000000000000000000000 @@ f000000000000001 ==> 0000ffffffffffffffff000000000001
-+vaddeuqm: 00007fffffffffffffff000000000000 @@ ffffffffffffffff0000000000000051 @@ f000000000000000 ==> 00007ffffffffffeffff000000000051
-+vaddeuqm: 00007fffffffffffffff000000000000 @@ ffffffffffffffff0000000000000051 @@ f000000000000001 ==> 00007ffffffffffeffff000000000052
-+vaddeuqm: 00008000000000000000000000000000 @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000000 ==> 0102830405060708090a0b0c0e0d0e0f
-+vaddeuqm: 00008000000000000000000000000000 @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000001 ==> 0102830405060708090a0b0c0e0d0e10
-+vaddeuqm: 00008000000000000000000000000000 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000000 ==> f1f373f4f5f6f7f8f9fafbfcfefdfeff
-+vaddeuqm: 00008000000000000000000000000000 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000001 ==> f1f373f4f5f6f7f8f9fafbfcfefdff00
-+vaddeuqm: 00008000000000000000000000000000 @@ 00007fffffffffffffff000000000000 @@ f000000000000000 ==> 0000ffffffffffffffff000000000000
-+vaddeuqm: 00008000000000000000000000000000 @@ 00007fffffffffffffff000000000000 @@ f000000000000001 ==> 0000ffffffffffffffff000000000001
-+vaddeuqm: 00008000000000000000000000000000 @@ 00008000000000000000000000000000 @@ f000000000000000 ==> 00010000000000000000000000000000
-+vaddeuqm: 00008000000000000000000000000000 @@ 00008000000000000000000000000000 @@ f000000000000001 ==> 00010000000000000000000000000001
-+vaddeuqm: 00008000000000000000000000000000 @@ ffffffffffffffff0000000000000051 @@ f000000000000000 ==> 00007fffffffffff0000000000000051
-+vaddeuqm: 00008000000000000000000000000000 @@ ffffffffffffffff0000000000000051 @@ f000000000000001 ==> 00007fffffffffff0000000000000052
-+vaddeuqm: ffffffffffffffff0000000000000051 @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000000 ==> 0102030405060707090a0b0c0e0d0e60
-+vaddeuqm: ffffffffffffffff0000000000000051 @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000001 ==> 0102030405060707090a0b0c0e0d0e61
-+vaddeuqm: ffffffffffffffff0000000000000051 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000000 ==> f1f2f3f4f5f6f7f7f9fafbfcfefdff50
-+vaddeuqm: ffffffffffffffff0000000000000051 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000001 ==> f1f2f3f4f5f6f7f7f9fafbfcfefdff51
-+vaddeuqm: ffffffffffffffff0000000000000051 @@ 00007fffffffffffffff000000000000 @@ f000000000000000 ==> 00007ffffffffffeffff000000000051
-+vaddeuqm: ffffffffffffffff0000000000000051 @@ 00007fffffffffffffff000000000000 @@ f000000000000001 ==> 00007ffffffffffeffff000000000052
-+vaddeuqm: ffffffffffffffff0000000000000051 @@ 00008000000000000000000000000000 @@ f000000000000000 ==> 00007fffffffffff0000000000000051
-+vaddeuqm: ffffffffffffffff0000000000000051 @@ 00008000000000000000000000000000 @@ f000000000000001 ==> 00007fffffffffff0000000000000052
-+vaddeuqm: ffffffffffffffff0000000000000051 @@ ffffffffffffffff0000000000000051 @@ f000000000000000 ==> fffffffffffffffe00000000000000a2
-+vaddeuqm: ffffffffffffffff0000000000000051 @@ ffffffffffffffff0000000000000051 @@ f000000000000001 ==> fffffffffffffffe00000000000000a3
- 
- vsubecuq: 0102030405060708090a0b0c0e0d0e0f @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000000 ==> 00000000000000000000000000000000
- vsubecuq: 0102030405060708090a0b0c0e0d0e0f @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000001 ==> 00000000000000000000000000000001
- vsubecuq: 0102030405060708090a0b0c0e0d0e0f @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000000 ==> 00000000000000000000000000000000
- vsubecuq: 0102030405060708090a0b0c0e0d0e0f @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000001 ==> 00000000000000000000000000000000
-+vsubecuq: 0102030405060708090a0b0c0e0d0e0f @@ 00007fffffffffffffff000000000000 @@ f000000000000000 ==> 00000000000000000000000000000001
-+vsubecuq: 0102030405060708090a0b0c0e0d0e0f @@ 00007fffffffffffffff000000000000 @@ f000000000000001 ==> 00000000000000000000000000000001
-+vsubecuq: 0102030405060708090a0b0c0e0d0e0f @@ 00008000000000000000000000000000 @@ f000000000000000 ==> 00000000000000000000000000000001
-+vsubecuq: 0102030405060708090a0b0c0e0d0e0f @@ 00008000000000000000000000000000 @@ f000000000000001 ==> 00000000000000000000000000000001
-+vsubecuq: 0102030405060708090a0b0c0e0d0e0f @@ ffffffffffffffff0000000000000051 @@ f000000000000000 ==> 00000000000000000000000000000000
-+vsubecuq: 0102030405060708090a0b0c0e0d0e0f @@ ffffffffffffffff0000000000000051 @@ f000000000000001 ==> 00000000000000000000000000000000
- vsubecuq: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000000 ==> 00000000000000000000000000000001
- vsubecuq: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000001 ==> 00000000000000000000000000000001
- vsubecuq: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000000 ==> 00000000000000000000000000000000
- vsubecuq: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000001 ==> 00000000000000000000000000000001
-+vsubecuq: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 00007fffffffffffffff000000000000 @@ f000000000000000 ==> 00000000000000000000000000000001
-+vsubecuq: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 00007fffffffffffffff000000000000 @@ f000000000000001 ==> 00000000000000000000000000000001
-+vsubecuq: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 00008000000000000000000000000000 @@ f000000000000000 ==> 00000000000000000000000000000001
-+vsubecuq: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 00008000000000000000000000000000 @@ f000000000000001 ==> 00000000000000000000000000000001
-+vsubecuq: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ ffffffffffffffff0000000000000051 @@ f000000000000000 ==> 00000000000000000000000000000000
-+vsubecuq: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ ffffffffffffffff0000000000000051 @@ f000000000000001 ==> 00000000000000000000000000000000
-+vsubecuq: 00007fffffffffffffff000000000000 @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000000 ==> 00000000000000000000000000000000
-+vsubecuq: 00007fffffffffffffff000000000000 @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000001 ==> 00000000000000000000000000000000
-+vsubecuq: 00007fffffffffffffff000000000000 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000000 ==> 00000000000000000000000000000000
-+vsubecuq: 00007fffffffffffffff000000000000 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000001 ==> 00000000000000000000000000000000
-+vsubecuq: 00007fffffffffffffff000000000000 @@ 00007fffffffffffffff000000000000 @@ f000000000000000 ==> 00000000000000000000000000000000
-+vsubecuq: 00007fffffffffffffff000000000000 @@ 00007fffffffffffffff000000000000 @@ f000000000000001 ==> 00000000000000000000000000000001
-+vsubecuq: 00007fffffffffffffff000000000000 @@ 00008000000000000000000000000000 @@ f000000000000000 ==> 00000000000000000000000000000000
-+vsubecuq: 00007fffffffffffffff000000000000 @@ 00008000000000000000000000000000 @@ f000000000000001 ==> 00000000000000000000000000000000
-+vsubecuq: 00007fffffffffffffff000000000000 @@ ffffffffffffffff0000000000000051 @@ f000000000000000 ==> 00000000000000000000000000000000
-+vsubecuq: 00007fffffffffffffff000000000000 @@ ffffffffffffffff0000000000000051 @@ f000000000000001 ==> 00000000000000000000000000000000
-+vsubecuq: 00008000000000000000000000000000 @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000000 ==> 00000000000000000000000000000000
-+vsubecuq: 00008000000000000000000000000000 @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000001 ==> 00000000000000000000000000000000
-+vsubecuq: 00008000000000000000000000000000 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000000 ==> 00000000000000000000000000000000
-+vsubecuq: 00008000000000000000000000000000 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000001 ==> 00000000000000000000000000000000
-+vsubecuq: 00008000000000000000000000000000 @@ 00007fffffffffffffff000000000000 @@ f000000000000000 ==> 00000000000000000000000000000001
-+vsubecuq: 00008000000000000000000000000000 @@ 00007fffffffffffffff000000000000 @@ f000000000000001 ==> 00000000000000000000000000000001
-+vsubecuq: 00008000000000000000000000000000 @@ 00008000000000000000000000000000 @@ f000000000000000 ==> 00000000000000000000000000000000
-+vsubecuq: 00008000000000000000000000000000 @@ 00008000000000000000000000000000 @@ f000000000000001 ==> 00000000000000000000000000000001
-+vsubecuq: 00008000000000000000000000000000 @@ ffffffffffffffff0000000000000051 @@ f000000000000000 ==> 00000000000000000000000000000000
-+vsubecuq: 00008000000000000000000000000000 @@ ffffffffffffffff0000000000000051 @@ f000000000000001 ==> 00000000000000000000000000000000
-+vsubecuq: ffffffffffffffff0000000000000051 @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000000 ==> 00000000000000000000000000000001
-+vsubecuq: ffffffffffffffff0000000000000051 @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000001 ==> 00000000000000000000000000000001
-+vsubecuq: ffffffffffffffff0000000000000051 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000000 ==> 00000000000000000000000000000001
-+vsubecuq: ffffffffffffffff0000000000000051 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000001 ==> 00000000000000000000000000000001
-+vsubecuq: ffffffffffffffff0000000000000051 @@ 00007fffffffffffffff000000000000 @@ f000000000000000 ==> 00000000000000000000000000000001
-+vsubecuq: ffffffffffffffff0000000000000051 @@ 00007fffffffffffffff000000000000 @@ f000000000000001 ==> 00000000000000000000000000000001
-+vsubecuq: ffffffffffffffff0000000000000051 @@ 00008000000000000000000000000000 @@ f000000000000000 ==> 00000000000000000000000000000001
-+vsubecuq: ffffffffffffffff0000000000000051 @@ 00008000000000000000000000000000 @@ f000000000000001 ==> 00000000000000000000000000000001
-+vsubecuq: ffffffffffffffff0000000000000051 @@ ffffffffffffffff0000000000000051 @@ f000000000000000 ==> 00000000000000000000000000000000
-+vsubecuq: ffffffffffffffff0000000000000051 @@ ffffffffffffffff0000000000000051 @@ f000000000000001 ==> 00000000000000000000000000000001
- 
- vsubeuqm: 0102030405060708090a0b0c0e0d0e0f @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000000 ==> ffffffffffffffffffffffffffffffff
- vsubeuqm: 0102030405060708090a0b0c0e0d0e0f @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000001 ==> 00000000000000000000000000000000
- vsubeuqm: 0102030405060708090a0b0c0e0d0e0f @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000000 ==> 0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f
- vsubeuqm: 0102030405060708090a0b0c0e0d0e0f @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000001 ==> 0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f10
-+vsubeuqm: 0102030405060708090a0b0c0e0d0e0f @@ 00007fffffffffffffff000000000000 @@ f000000000000000 ==> 0101830405060708090b0b0c0e0d0e0e
-+vsubeuqm: 0102030405060708090a0b0c0e0d0e0f @@ 00007fffffffffffffff000000000000 @@ f000000000000001 ==> 0101830405060708090b0b0c0e0d0e0f
-+vsubeuqm: 0102030405060708090a0b0c0e0d0e0f @@ 00008000000000000000000000000000 @@ f000000000000000 ==> 0101830405060708090a0b0c0e0d0e0e
-+vsubeuqm: 0102030405060708090a0b0c0e0d0e0f @@ 00008000000000000000000000000000 @@ f000000000000001 ==> 0101830405060708090a0b0c0e0d0e0f
-+vsubeuqm: 0102030405060708090a0b0c0e0d0e0f @@ ffffffffffffffff0000000000000051 @@ f000000000000000 ==> 0102030405060709090a0b0c0e0d0dbd
-+vsubeuqm: 0102030405060708090a0b0c0e0d0e0f @@ ffffffffffffffff0000000000000051 @@ f000000000000001 ==> 0102030405060709090a0b0c0e0d0dbe
- vsubeuqm: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000000 ==> f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0ef
- vsubeuqm: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000001 ==> f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0
- vsubeuqm: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000000 ==> ffffffffffffffffffffffffffffffff
- vsubeuqm: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000001 ==> 00000000000000000000000000000000
-+vsubeuqm: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 00007fffffffffffffff000000000000 @@ f000000000000000 ==> f1f273f4f5f6f7f8f9fbfbfcfefdfefe
-+vsubeuqm: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 00007fffffffffffffff000000000000 @@ f000000000000001 ==> f1f273f4f5f6f7f8f9fbfbfcfefdfeff
-+vsubeuqm: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 00008000000000000000000000000000 @@ f000000000000000 ==> f1f273f4f5f6f7f8f9fafbfcfefdfefe
-+vsubeuqm: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ 00008000000000000000000000000000 @@ f000000000000001 ==> f1f273f4f5f6f7f8f9fafbfcfefdfeff
-+vsubeuqm: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ ffffffffffffffff0000000000000051 @@ f000000000000000 ==> f1f2f3f4f5f6f7f9f9fafbfcfefdfead
-+vsubeuqm: f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ ffffffffffffffff0000000000000051 @@ f000000000000001 ==> f1f2f3f4f5f6f7f9f9fafbfcfefdfeae
-+vsubeuqm: 00007fffffffffffffff000000000000 @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000000 ==> fefe7cfbfaf9f8f7f6f4f4f3f1f2f1f0
-+vsubeuqm: 00007fffffffffffffff000000000000 @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000001 ==> fefe7cfbfaf9f8f7f6f4f4f3f1f2f1f1
-+vsubeuqm: 00007fffffffffffffff000000000000 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000000 ==> 0e0d8c0b0a0908070604040301020100
-+vsubeuqm: 00007fffffffffffffff000000000000 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000001 ==> 0e0d8c0b0a0908070604040301020101
-+vsubeuqm: 00007fffffffffffffff000000000000 @@ 00007fffffffffffffff000000000000 @@ f000000000000000 ==> ffffffffffffffffffffffffffffffff
-+vsubeuqm: 00007fffffffffffffff000000000000 @@ 00007fffffffffffffff000000000000 @@ f000000000000001 ==> 00000000000000000000000000000000
-+vsubeuqm: 00007fffffffffffffff000000000000 @@ 00008000000000000000000000000000 @@ f000000000000000 ==> fffffffffffffffffffeffffffffffff
-+vsubeuqm: 00007fffffffffffffff000000000000 @@ 00008000000000000000000000000000 @@ f000000000000001 ==> ffffffffffffffffffff000000000000
-+vsubeuqm: 00007fffffffffffffff000000000000 @@ ffffffffffffffff0000000000000051 @@ f000000000000000 ==> 0000800000000000fffeffffffffffae
-+vsubeuqm: 00007fffffffffffffff000000000000 @@ ffffffffffffffff0000000000000051 @@ f000000000000001 ==> 0000800000000000fffeffffffffffaf
-+vsubeuqm: 00008000000000000000000000000000 @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000000 ==> fefe7cfbfaf9f8f7f6f5f4f3f1f2f1f0
-+vsubeuqm: 00008000000000000000000000000000 @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000001 ==> fefe7cfbfaf9f8f7f6f5f4f3f1f2f1f1
-+vsubeuqm: 00008000000000000000000000000000 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000000 ==> 0e0d8c0b0a0908070605040301020100
-+vsubeuqm: 00008000000000000000000000000000 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000001 ==> 0e0d8c0b0a0908070605040301020101
-+vsubeuqm: 00008000000000000000000000000000 @@ 00007fffffffffffffff000000000000 @@ f000000000000000 ==> 00000000000000000000ffffffffffff
-+vsubeuqm: 00008000000000000000000000000000 @@ 00007fffffffffffffff000000000000 @@ f000000000000001 ==> 00000000000000000001000000000000
-+vsubeuqm: 00008000000000000000000000000000 @@ 00008000000000000000000000000000 @@ f000000000000000 ==> ffffffffffffffffffffffffffffffff
-+vsubeuqm: 00008000000000000000000000000000 @@ 00008000000000000000000000000000 @@ f000000000000001 ==> 00000000000000000000000000000000
-+vsubeuqm: 00008000000000000000000000000000 @@ ffffffffffffffff0000000000000051 @@ f000000000000000 ==> 0000800000000000ffffffffffffffae
-+vsubeuqm: 00008000000000000000000000000000 @@ ffffffffffffffff0000000000000051 @@ f000000000000001 ==> 0000800000000000ffffffffffffffaf
-+vsubeuqm: ffffffffffffffff0000000000000051 @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000000 ==> fefdfcfbfaf9f8f6f6f5f4f3f1f2f241
-+vsubeuqm: ffffffffffffffff0000000000000051 @@ 0102030405060708090a0b0c0e0d0e0f @@ f000000000000001 ==> fefdfcfbfaf9f8f6f6f5f4f3f1f2f242
-+vsubeuqm: ffffffffffffffff0000000000000051 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000000 ==> 0e0d0c0b0a0908060605040301020151
-+vsubeuqm: ffffffffffffffff0000000000000051 @@ f1f2f3f4f5f6f7f8f9fafbfcfefdfeff @@ f000000000000001 ==> 0e0d0c0b0a0908060605040301020152
-+vsubeuqm: ffffffffffffffff0000000000000051 @@ 00007fffffffffffffff000000000000 @@ f000000000000000 ==> ffff7fffffffffff0001000000000050
-+vsubeuqm: ffffffffffffffff0000000000000051 @@ 00007fffffffffffffff000000000000 @@ f000000000000001 ==> ffff7fffffffffff0001000000000051
-+vsubeuqm: ffffffffffffffff0000000000000051 @@ 00008000000000000000000000000000 @@ f000000000000000 ==> ffff7fffffffffff0000000000000050
-+vsubeuqm: ffffffffffffffff0000000000000051 @@ 00008000000000000000000000000000 @@ f000000000000001 ==> ffff7fffffffffff0000000000000051
-+vsubeuqm: ffffffffffffffff0000000000000051 @@ ffffffffffffffff0000000000000051 @@ f000000000000000 ==> ffffffffffffffffffffffffffffffff
-+vsubeuqm: ffffffffffffffff0000000000000051 @@ ffffffffffffffff0000000000000051 @@ f000000000000001 ==> 00000000000000000000000000000000
- 
- All done. Tested 66 different instructions
-diff --git a/none/tests/ppc64/test_isa_2_07_part1.c b/none/tests/ppc64/test_isa_2_07_part1.c
-index be0a5ed..74424e8 100644
---- a/none/tests/ppc64/test_isa_2_07_part1.c
-+++ b/none/tests/ppc64/test_isa_2_07_part1.c
-@@ -874,7 +874,7 @@ static int verbose = 0;
- static int arg_list_size = 0;
- static unsigned long long * vdargs = NULL;
- static unsigned long long * vdargs_x = NULL;
--#define NB_VDARGS 4
-+#define NB_VDARGS 9
- 
- static void build_vdargs_table (void)
- {
-@@ -884,6 +884,11 @@ static void build_vdargs_table (void)
-    vdargs[1] = 0x090A0B0C0E0D0E0FULL;
-    vdargs[2] = 0xF1F2F3F4F5F6F7F8ULL;
-    vdargs[3] = 0xF9FAFBFCFEFDFEFFULL;
-+   vdargs[4] = 0x00007FFFFFFFFFFFULL;
-+   vdargs[5] = 0xFFFF000000000000ULL;
-+   vdargs[6] = 0x0000800000000000ULL;
-+   vdargs[7] = 0x0000000000000000ULL;
-+   vdargs[8] = 0xFFFFFFFFFFFFFFFFULL;
- 
-    vdargs_x = memalign16(NB_VDARGS * sizeof(unsigned long long));
-    vdargs_x[0] = 0x000000007c118a2bULL;
diff --git a/valgrind-3.11.0-ppc64-separate-socketcalls.patch b/valgrind-3.11.0-ppc64-separate-socketcalls.patch
deleted file mode 100644
index d416511..0000000
--- a/valgrind-3.11.0-ppc64-separate-socketcalls.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff --git a/coregrind/m_syswrap/syswrap-ppc64-linux.c b/coregrind/m_syswrap/syswrap-ppc64-linux.c
-index 77668c7..6d5713b 100644
---- a/coregrind/m_syswrap/syswrap-ppc64-linux.c
-+++ b/coregrind/m_syswrap/syswrap-ppc64-linux.c
-@@ -1151,6 +1151,23 @@ static SyscallTableEntry syscall_table[] = {
-    LINX_(__NR_pwritev,           sys_pwritev),          // 321
-    LINXY(__NR_rt_tgsigqueueinfo, sys_rt_tgsigqueueinfo),// 322
- 
-+   LINXY(__NR_socket,            sys_socket),           // 326
-+   LINX_(__NR_bind,              sys_bind),             // 327
-+   LINX_(__NR_connect,           sys_connect),          // 328
-+   LINX_(__NR_listen,            sys_listen),           // 329
-+   LINXY(__NR_accept,            sys_accept),           // 330
-+   LINXY(__NR_getsockname,       sys_getsockname),      // 331
-+   LINXY(__NR_getpeername,       sys_getpeername),      // 332
-+   LINXY(__NR_socketpair,        sys_socketpair),       // 333
-+   LINX_(__NR_send,              sys_send),             // 334
-+   LINX_(__NR_sendto,            sys_sendto),           // 335
-+   LINXY(__NR_recv,              sys_recv),             // 336
-+   LINXY(__NR_recvfrom,          sys_recvfrom),         // 337
-+   LINX_(__NR_shutdown,          sys_shutdown),         // 338
-+   LINX_(__NR_setsockopt,        sys_setsockopt),       // 339
-+   LINXY(__NR_getsockopt,        sys_getsockopt),       // 340
-+   LINX_(__NR_sendmsg,           sys_sendmsg),          // 341
-+   LINXY(__NR_recvmsg,           sys_recvmsg),          // 342
-    LINXY(__NR_recvmmsg,          sys_recvmmsg),         // 343
-    LINXY(__NR_accept4,           sys_accept4),          // 344
- 
diff --git a/valgrind-3.11.0-ppc64-syscalls.patch b/valgrind-3.11.0-ppc64-syscalls.patch
deleted file mode 100644
index 360c766..0000000
--- a/valgrind-3.11.0-ppc64-syscalls.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-commit 9a51385e9d032e9f66076ce2c0f1343e4caeec21
-Author: mjw <mjw@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Mon May 30 20:16:04 2016 +0000
-
-    Bug 363714 ppc64 missing syscalls sync, waitid and name_to/open_by_handle_at
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15888 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/coregrind/m_syswrap/syswrap-ppc64-linux.c b/coregrind/m_syswrap/syswrap-ppc64-linux.c
-index 6d5713b..2a027f0 100644
---- a/coregrind/m_syswrap/syswrap-ppc64-linux.c
-+++ b/coregrind/m_syswrap/syswrap-ppc64-linux.c
-@@ -821,7 +821,7 @@ static SyscallTableEntry syscall_table[] = {
- // _____(__NR_nice,              sys_nice),               //  34
- 
- // _____(__NR_ftime,             sys_ftime),              //  35
--// _____(__NR_sync,              sys_sync),               //  36
-+   GENX_(__NR_sync,              sys_sync),               //  36
-    GENX_(__NR_kill,              sys_kill),               //  37
-    GENX_(__NR_rename,            sys_rename),             //  38
-    GENX_(__NR_mkdir,             sys_mkdir),              //  39
-@@ -1102,7 +1102,7 @@ static SyscallTableEntry syscall_table[] = {
- 
-    LINX_(__NR_request_key,       sys_request_key),        // 270
-    LINXY(__NR_keyctl,            sys_keyctl),             // 271
--// _____(__NR_waitid,            sys_waitid),             // 272
-+   LINXY(__NR_waitid,            sys_waitid),             // 272
-    LINX_(__NR_ioprio_set,        sys_ioprio_set),         // 273
-    LINX_(__NR_ioprio_get,        sys_ioprio_get),         // 274
- 
-@@ -1170,7 +1170,8 @@ static SyscallTableEntry syscall_table[] = {
-    LINXY(__NR_recvmsg,           sys_recvmsg),          // 342
-    LINXY(__NR_recvmmsg,          sys_recvmmsg),         // 343
-    LINXY(__NR_accept4,           sys_accept4),          // 344
--
-+   LINXY(__NR_name_to_handle_at, sys_name_to_handle_at),// 345
-+   LINXY(__NR_open_by_handle_at, sys_open_by_handle_at),// 346
-    LINXY(__NR_clock_adjtime,     sys_clock_adjtime),    // 347
-    LINX_(__NR_syncfs,            sys_syncfs),           // 348
-    LINXY(__NR_sendmmsg,          sys_sendmmsg),         // 349
diff --git a/valgrind-3.11.0-ppc64-vgdb-vr-regs.patch b/valgrind-3.11.0-ppc64-vgdb-vr-regs.patch
deleted file mode 100644
index 036d5b6..0000000
--- a/valgrind-3.11.0-ppc64-vgdb-vr-regs.patch
+++ /dev/null
@@ -1,824 +0,0 @@
-commit 42d961c3744b2afb236c4fd3d2b59eb61421b9a8
-Author: carll <carll@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Thu Apr 21 18:21:26 2016 +0000
-
-    PPC64, Valgrind with GDB does not display 64-bit and 128-bit registers
-    correctly
-    
-    1)  Fix Endianess issue that was missed in the BE to LE port.  GDB was
-        not displaying the contents of the 64-bit and 128-bit registers
-        correctly due to an Endianess issue.
-    
-    2)  Fix displaying the shadow registers for the 64-bit and 128-bit
-        registers.
-    
-    Bugzilla 360008 was opened for this issue.
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15864 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/coregrind/Makefile.am b/coregrind/Makefile.am
-index d29f954..00d9fc7 100644
---- a/coregrind/Makefile.am
-+++ b/coregrind/Makefile.am
-@@ -605,12 +605,17 @@ GDBSERVER_XML_FILES = \
- 	m_gdbserver/power64-core-valgrind-s1.xml \
- 	m_gdbserver/power64-core-valgrind-s2.xml \
- 	m_gdbserver/power64-core.xml \
-+	m_gdbserver/power64-core2-valgrind-s1.xml \
-+	m_gdbserver/power64-core2-valgrind-s2.xml \
- 	m_gdbserver/power64-linux-valgrind-s1.xml \
- 	m_gdbserver/power64-linux-valgrind-s2.xml \
- 	m_gdbserver/power64-linux.xml \
- 	m_gdbserver/power-altivec-valgrind-s1.xml \
- 	m_gdbserver/power-altivec-valgrind-s2.xml \
- 	m_gdbserver/power-altivec.xml \
-+	m_gdbserver/power-vsx-valgrind-s1.xml \
-+	m_gdbserver/power-vsx-valgrind-s2.xml \
-+	m_gdbserver/power-vsx.xml \
- 	m_gdbserver/power-core-valgrind-s1.xml \
- 	m_gdbserver/power-core-valgrind-s2.xml \
- 	m_gdbserver/power-core.xml \
-diff --git a/coregrind/m_gdbserver/power-altivec.xml b/coregrind/m_gdbserver/power-altivec.xml
-index 45d31af..d416075 100644
---- a/coregrind/m_gdbserver/power-altivec.xml
-+++ b/coregrind/m_gdbserver/power-altivec.xml
-@@ -19,7 +19,7 @@
-     <field name="v16_int8" type="v16i8"/>
-   </union>
- 
--  <reg name="vr0" bitsize="128" type="vec128"/>
-+  <reg name="vr0" bitsize="128" type="vec128" regnum="73"/>
-   <reg name="vr1" bitsize="128" type="vec128"/>
-   <reg name="vr2" bitsize="128" type="vec128"/>
-   <reg name="vr3" bitsize="128" type="vec128"/>
-diff --git a/coregrind/m_gdbserver/power-fpu-valgrind-s1.xml b/coregrind/m_gdbserver/power-fpu-valgrind-s1.xml
-index 00d9108..a23d550 100644
---- a/coregrind/m_gdbserver/power-fpu-valgrind-s1.xml
-+++ b/coregrind/m_gdbserver/power-fpu-valgrind-s1.xml
-@@ -7,7 +7,7 @@
- 
- <!DOCTYPE feature SYSTEM "gdb-target.dtd">
- <feature name="org.gnu.gdb.power.fpu-valgrind-s1">
--  <reg name="f0s1" bitsize="64" type="uint64" regnum="32"/>
-+  <reg name="f0s1" bitsize="64" type="uint64"/>
-   <reg name="f1s1" bitsize="64" type="uint64"/>
-   <reg name="f2s1" bitsize="64" type="uint64"/>
-   <reg name="f3s1" bitsize="64" type="uint64"/>
-@@ -40,5 +40,5 @@
-   <reg name="f30s1" bitsize="64" type="uint64"/>
-   <reg name="f31s1" bitsize="64" type="uint64"/>
- 
--  <reg name="fpscrs1" bitsize="32" group="float" regnum="70"/>
-+  <reg name="fpscrs1" bitsize="32" group="float"/>
- </feature>
-diff --git a/coregrind/m_gdbserver/power-fpu-valgrind-s2.xml b/coregrind/m_gdbserver/power-fpu-valgrind-s2.xml
-index a12fa6e..45e434c 100644
---- a/coregrind/m_gdbserver/power-fpu-valgrind-s2.xml
-+++ b/coregrind/m_gdbserver/power-fpu-valgrind-s2.xml
-@@ -7,7 +7,7 @@
- 
- <!DOCTYPE feature SYSTEM "gdb-target.dtd">
- <feature name="org.gnu.gdb.power.fpu-valgrind-s2">
--  <reg name="f0s2" bitsize="64" type="uint64" regnum="32"/>
-+  <reg name="f0s2" bitsize="64" type="uint64"/>
-   <reg name="f1s2" bitsize="64" type="uint64"/>
-   <reg name="f2s2" bitsize="64" type="uint64"/>
-   <reg name="f3s2" bitsize="64" type="uint64"/>
-@@ -40,5 +40,5 @@
-   <reg name="f30s2" bitsize="64" type="uint64"/>
-   <reg name="f31s2" bitsize="64" type="uint64"/>
- 
--  <reg name="fpscrs2" bitsize="32" group="float" regnum="70"/>
-+  <reg name="fpscrs2" bitsize="32" group="float"/>
- </feature>
-diff --git a/coregrind/m_gdbserver/power64-core-valgrind-s1.xml b/coregrind/m_gdbserver/power64-core-valgrind-s1.xml
-index f6296bf..857e9da 100644
---- a/coregrind/m_gdbserver/power64-core-valgrind-s1.xml
-+++ b/coregrind/m_gdbserver/power64-core-valgrind-s1.xml
-@@ -40,10 +40,29 @@
-   <reg name="r30s1" bitsize="64" type="uint64"/>
-   <reg name="r31s1" bitsize="64" type="uint64"/>
- 
--  <reg name="pcs1" bitsize="64" type="code_ptr" regnum="64"/>
-+<!--  When printing the non-shadow register names/contents, GDB prints the
-+      GPRs followed by the floating point registers then the pc, msr, ...
-+      registers. If the shadow GPRs and shadow pc/msr/cr... register
-+      definitions are all in this file, as is done with the non-shadow register
-+      definitions, the shadow register name print order changes to GPRs,
-+      followed by pc/msr/cr... then the floating point registers.  Note, the
-+      contents of the shadow registers still print in this same order as the
-+      non-shadow registers values resulting in the shadow register names and
-+      shadow register values not correctly aligning.
-+
-+      In order to get, the shadow register names to print in the same order
-+      as the non-shadow register and correctly align with their contents,
-+      the following register definitions were moved to the file
-+      power64-core2-valgrind-s1.xml. The new file is included after the shadow
-+      floating point XML definition file. By doing this, we get GDB to print
-+      the shadow register names in the same order as the non-shadow register
-+      names and thus correctly align with the order that the shadow register
-+      contents are printed.   -->
-+
-+<!--  <reg name="pcs1" bitsize="64" type="code_ptr"/>
-   <reg name="msrs1" bitsize="64" type="uint64"/>
-   <reg name="crs1" bitsize="32" type="uint32"/>
-   <reg name="lrs1" bitsize="64" type="code_ptr"/>
-   <reg name="ctrs1" bitsize="64" type="uint64"/>
--  <reg name="xers1" bitsize="32" type="uint32"/>
-+  <reg name="xers1" bitsize="32" type="uint32"/> -->
- </feature>
-diff --git a/coregrind/m_gdbserver/power64-core-valgrind-s2.xml b/coregrind/m_gdbserver/power64-core-valgrind-s2.xml
-index 663232e..3825c67 100644
---- a/coregrind/m_gdbserver/power64-core-valgrind-s2.xml
-+++ b/coregrind/m_gdbserver/power64-core-valgrind-s2.xml
-@@ -40,10 +40,29 @@
-   <reg name="r30s2" bitsize="64" type="uint64"/>
-   <reg name="r31s2" bitsize="64" type="uint64"/>
- 
--  <reg name="pcs2" bitsize="64" type="code_ptr" regnum="64"/>
-+<!--  When printing the non-shadow register names/contents, GDB prints the
-+      GPRs followed by the floating point registers then the pc, msr, ...
-+      registers. If the shadow GPRs and shadow pc/msr/cr... register
-+      definitions are all in this file, as is done with the non-shadow register
-+      definitions, the shadow register name print order changes to GPRs,
-+      followed by pc/msr/cr... then the floating point registers.  Note, the
-+      contents of the shadow registers still print in this same order as the
-+      non-shadow registers values resulting in the shadow register names and
-+      shadow register values not correctly aligning.
-+
-+      In order to get, the shadow register names to print in the same order
-+      as the non-shadow register and correctly align with their contents,
-+      the following register definitions were moved to the file
-+      power64-core2-valgrind-s2.xml. The new file is included after the shadow
-+      floating point XML definition file. By doing this, we get GDB to print
-+      the shadow register names in the same order as the non-shadow register
-+      names and thus correctly align with the order that the shadow register
-+      contents are printed.   -->
-+
-+<!--  <reg name="pcs2" bitsize="64" type="code_ptr"/>
-   <reg name="msrs2" bitsize="64" type="uint64"/>
-   <reg name="crs2" bitsize="32" type="uint32"/>
-   <reg name="lrs2" bitsize="64" type="code_ptr"/>
-   <reg name="ctrs2" bitsize="64" type="uint64"/>
--  <reg name="xers2" bitsize="32" type="uint32"/>
-+  <reg name="xers2" bitsize="32" type="uint32"/>  -->
- </feature>
-diff --git a/coregrind/m_gdbserver/power64-core.xml b/coregrind/m_gdbserver/power64-core.xml
-index e0a6ee3..c5cfb3b 100644
---- a/coregrind/m_gdbserver/power64-core.xml
-+++ b/coregrind/m_gdbserver/power64-core.xml
-@@ -40,6 +40,13 @@
-   <reg name="r30" bitsize="64" type="uint64"/>
-   <reg name="r31" bitsize="64" type="uint64"/>
- 
-+<!-- Note, the following register definitions must be in this file by
-+     the "standard target features" for this processor.  GDB will reject
-+     this file description if the following register definitions are
-+     not in this file.  Hence, they can't be moved to power64-core2.xml
-+     for consistency with what was done for the shadow register definitions
-+     to get the shadow register print order to match the print order of
-+     the HW registers -->
-   <reg name="pc" bitsize="64" type="code_ptr" regnum="64"/>
-   <reg name="msr" bitsize="64" type="uint64"/>
-   <reg name="cr" bitsize="32" type="uint32"/>
-diff --git a/coregrind/m_gdbserver/power64-linux-valgrind-s1.xml b/coregrind/m_gdbserver/power64-linux-valgrind-s1.xml
-index 7f1d0ac..736c1e7 100644
---- a/coregrind/m_gdbserver/power64-linux-valgrind-s1.xml
-+++ b/coregrind/m_gdbserver/power64-linux-valgrind-s1.xml
-@@ -7,6 +7,6 @@
- 
- <!DOCTYPE feature SYSTEM "gdb-target.dtd">
- <feature name="org.gnu.gdb.power.linux-valgrind-s1">
--  <reg name="orig_r3s1" bitsize="64" regnum="71"/>
-+  <reg name="orig_r3s1" bitsize="64"/>
-   <reg name="traps1" bitsize="64"/>
- </feature>
-diff --git a/coregrind/m_gdbserver/power64-linux-valgrind-s2.xml b/coregrind/m_gdbserver/power64-linux-valgrind-s2.xml
-index 007bd04..626a59c 100644
---- a/coregrind/m_gdbserver/power64-linux-valgrind-s2.xml
-+++ b/coregrind/m_gdbserver/power64-linux-valgrind-s2.xml
-@@ -7,6 +7,6 @@
- 
- <!DOCTYPE feature SYSTEM "gdb-target.dtd">
- <feature name="org.gnu.gdb.power.linux-valgrind-s2">
--  <reg name="orig_r3s2" bitsize="64" regnum="71"/>
-+  <reg name="orig_r3s2" bitsize="64"/>
-   <reg name="traps2" bitsize="64"/>
- </feature>
-diff --git a/coregrind/m_gdbserver/powerpc-altivec64l-valgrind.xml b/coregrind/m_gdbserver/powerpc-altivec64l-valgrind.xml
-index a2cd615..7760e3d 100644
---- a/coregrind/m_gdbserver/powerpc-altivec64l-valgrind.xml
-+++ b/coregrind/m_gdbserver/powerpc-altivec64l-valgrind.xml
-@@ -16,12 +16,17 @@
-   <xi:include href="power-fpu.xml"/>
-   <xi:include href="power64-linux.xml"/>
-   <xi:include href="power-altivec.xml"/>
-+  <xi:include href="power-vsx.xml"/>
-   <xi:include href="power64-core-valgrind-s1.xml"/>
-   <xi:include href="power-fpu-valgrind-s1.xml"/>
-+  <xi:include href="power64-core2-valgrind-s1.xml"/>
-   <xi:include href="power64-linux-valgrind-s1.xml"/>
-   <xi:include href="power-altivec-valgrind-s1.xml"/>
-+  <xi:include href="power-vsx-valgrind-s1.xml"/>
-   <xi:include href="power64-core-valgrind-s2.xml"/>
-   <xi:include href="power-fpu-valgrind-s2.xml"/>
-+  <xi:include href="power64-core2-valgrind-s2.xml"/>
-   <xi:include href="power64-linux-valgrind-s2.xml"/>
-   <xi:include href="power-altivec-valgrind-s2.xml"/>
-+  <xi:include href="power-vsx-valgrind-s2.xml"/>
- </target>
-diff --git a/coregrind/m_gdbserver/powerpc-altivec64l.xml b/coregrind/m_gdbserver/powerpc-altivec64l.xml
-index d06dad9..3fc4fda 100644
---- a/coregrind/m_gdbserver/powerpc-altivec64l.xml
-+++ b/coregrind/m_gdbserver/powerpc-altivec64l.xml
-@@ -16,4 +16,5 @@
-   <xi:include href="power-fpu.xml"/>
-   <xi:include href="power64-linux.xml"/>
-   <xi:include href="power-altivec.xml"/>
-+  <xi:include href="power-vsx.xml"/>
- </target>
-diff --git a/coregrind/m_gdbserver/valgrind-low-ppc64.c b/coregrind/m_gdbserver/valgrind-low-ppc64.c
-index 3bf90b1..3c6146c 100644
---- a/coregrind/m_gdbserver/valgrind-low-ppc64.c
-+++ b/coregrind/m_gdbserver/valgrind-low-ppc64.c
-@@ -35,6 +35,51 @@
- 
- #include "libvex_guest_ppc64.h"
- 
-+/* The PPC64 register layout with vs register support (Power 7 and beyond)
-+   consists of 64 VSR registers of size 128-bits.  The 32 floating point
-+   registers fp map to the upper 64-bits of vsr[0] to vsr[31].  The 32
-+   vr[0] to vr[31] registers of size 128-bits map to vsr[31] to vsr[63].  The
-+   lower 64-bits of the vsr[0] to vsr[31] registers are in the pseudo
-+   registers vs[0]h to vs[31]h registers.  These pseudo registers get printed
-+   by GDB but there are no instructions that directly access these registers.
-+   When GDB prints the vsr[0] to vsr[31] registers it combines the contents
-+   of the floating point registers fp[0] to fp[31] and its corresponding
-+   vs[0]h to vs[31]h registers to display the VSR contents.  The vsr[32]
-+   to vsr[63] contents are the same as the the vr[0] to vr[31] contents.
-+
-+   GDB also prints fp[32] to fp[63].  These are simply the upper 64 bits of
-+   vsr[32] to vsr[63] however, these are not "real" floating point registers
-+   as none of the floating point instructions can access these registers.
-+
-+    Register map.
-+                  MSB          IBM bit numbering           LSB
-+                   0                 63 64                127
-+         vsr[0]   |        fp[0]       |       vs[0]h        |
-+         vsr[1]   |        fp[1]       |       vs[1]h        |
-+         vsr[2]   |        fp[2]       |       vs[2]h        |
-+          ...
-+         vsr[31]  |        fp[31]      |       vs[31]h       |
-+         vsr[32]  |                  vr[0]                   |
-+         vsr[33]  |                  vr[1]                   |
-+          ...
-+         vsr[63]  |                  vr[31]                  |
-+
-+    Note, not shown above are the fake fp[32] to fp[63] that GDB prints
-+
-+   Valgrind has two shadow registers for each real register denoted with
-+   the suffix s1 and s2.   When printing the contents of the shadow registers,
-+   GDB does not explicitly print the shadow registers vsr[0] to vsr[63]. GDB
-+   prints the shadow register contents of the 32 floating point registers as
-+   fp[0]s1 to fp[31]s1 and fp[0]s2 to fp[31]s2.  The shadow register contents
-+   of vs[0]hs1 to vs[31]hs1 and vs[0]hs2 to vs[31]hs2 are also printed.  The
-+   user needs to construct the vsr[i]s1 shadow register contents by looking
-+   at fp[i]s1 for the upper 64-bits and vs[i]hs1 for the lower 64-bits.  The
-+   vsr[i]s2 shadow register contents are constructed similarly.
-+
-+   GDB prints the 128-bit shadow register contents of the 32 vr registers as
-+   vr[0]s1 to vr[31]s1 and vr[0]s2 to vr[31]s2. These are also the value of the
-+   VSR shadow registers vsr[32]s1 to vsr[63]s1 and vsr[32]s2 to vsr[63]s2. */
-+
- static struct reg regs[] = {
-   { "r0", 0, 64 },
-   { "r1", 64, 64 },
-@@ -143,7 +188,40 @@ static struct reg regs[] = {
-   { "vr31", 8544, 128 },
-   { "vscr", 8672, 32 },
-   { "vrsave", 8704, 32 },
-+  { "vs0h", 8736, 64 },
-+  { "vs1h", 8800, 64 },
-+  { "vs2h", 8864, 64 },
-+  { "vs3h", 8928, 64 },
-+  { "vs4h", 8992, 64 },
-+  { "vs5h", 9056, 64 },
-+  { "vs6h", 9120, 64 },
-+  { "vs7h", 9184, 64 },
-+  { "vs8h", 9248, 64 },
-+  { "vs9h", 9312, 64 },
-+  { "vs10h", 9376, 64 },
-+  { "vs11h", 9440, 64 },
-+  { "vs12h", 9504, 64 },
-+  { "vs13h", 9568, 64 },
-+  { "vs14h", 9632, 64 },
-+  { "vs15h", 9696, 64 },
-+  { "vs16h", 9760, 64 },
-+  { "vs17h", 9824, 64 },
-+  { "vs18h", 9888, 64 },
-+  { "vs19h", 9952, 64 },
-+  { "vs20h", 10016, 64 },
-+  { "vs21h", 10080, 64 },
-+  { "vs22h", 10144, 64 },
-+  { "vs23h", 10208, 64 },
-+  { "vs24h", 10272, 64 },
-+  { "vs25h", 10336, 64 },
-+  { "vs26h", 10400, 64 },
-+  { "vs27h", 10464, 64 },
-+  { "vs28h", 10528, 64 },
-+  { "vs29h", 10592, 64 },
-+  { "vs30h", 10656, 64 },
-+  { "vs31h", 10720, 64 },
- };
-+
- static const char *expedite_regs[] = { "r1", "pc", 0 };
- #define num_regs (sizeof (regs) / sizeof (regs[0]))
- 
-@@ -178,11 +256,42 @@ void transfer_register (ThreadId tid, int abs_regno, void * buf,
-    ThreadState* tst = VG_(get_ThreadState)(tid);
-    int set = abs_regno / num_regs;
-    int regno = abs_regno % num_regs;
-+   int low_offset, high_offset;
-+
-    *mod = False;
- 
-    VexGuestPPC64State* ppc64 = (VexGuestPPC64State*) get_arch (set, tst);
- 
--   switch (regno) { 
-+
-+#if defined (VG_LITTLEENDIAN)
-+   /* Fetch the 64-bits for the VR registers (VSR[32] to VSR[63] stored as
-+    * Little Endian. The 128-bit value is stored as an array of four 32-bit
-+    * values.  The lower 32-bits are in element 0 in Little Endian format.
-+    */
-+   low_offset  = 0;
-+
-+   /* Fetch the upper 64-bits for the floating point register stored as
-+    * Little Endian.  The 128-bit value is stored as an array of four 32-bit
-+    * values.  The upper 32-bits are in element 3 in Little Endian format.
-+    */
-+   high_offset = 2;
-+#elif defined (VG_BIGENDIAN)
-+   /* Fetch the 64-bits for the VR registers (VSR[32] to VSR[63] stored as
-+    * Little Endian. The 128-bit value is stored as an array of four 32-bit
-+    * values.  The lower 32-bits are in element 3 in Big Endian format.
-+    */
-+   low_offset  = 2;
-+
-+   /* Fetch the upper 64-bits for the floating point register stored as
-+    * Little Endian.  The 128-bit value is stored as an array of four 32-bit
-+    * values.  The upper 32-bits are in element 0 in Big Endian format.
-+    */
-+   high_offset = 0;
-+#else
-+#     error "Unknown endianness"
-+#endif
-+
-+   switch (regno) {
-    // numbers here have to match the order of regs above
-    // Attention: gdb order does not match valgrind order.
-    case 0:  VG_(transfer) (&ppc64->guest_GPR0,  buf, dir, size, mod); break;
-@@ -217,44 +326,46 @@ void transfer_register (ThreadId tid, int abs_regno, void * buf,
-    case 29: VG_(transfer) (&ppc64->guest_GPR29, buf, dir, size, mod); break;
-    case 30: VG_(transfer) (&ppc64->guest_GPR30, buf, dir, size, mod); break;
-    case 31: VG_(transfer) (&ppc64->guest_GPR31, buf, dir, size, mod); break;
--   case 32: VG_(transfer) (&ppc64->guest_VSR0,  buf, dir, size, mod); break;
--   case 33: VG_(transfer) (&ppc64->guest_VSR1,  buf, dir, size, mod); break;
--   case 34: VG_(transfer) (&ppc64->guest_VSR2,  buf, dir, size, mod); break;
--   case 35: VG_(transfer) (&ppc64->guest_VSR3,  buf, dir, size, mod); break;
--   case 36: VG_(transfer) (&ppc64->guest_VSR4,  buf, dir, size, mod); break;
--   case 37: VG_(transfer) (&ppc64->guest_VSR5,  buf, dir, size, mod); break;
--   case 38: VG_(transfer) (&ppc64->guest_VSR6,  buf, dir, size, mod); break;
--   case 39: VG_(transfer) (&ppc64->guest_VSR7,  buf, dir, size, mod); break;
--   case 40: VG_(transfer) (&ppc64->guest_VSR8,  buf, dir, size, mod); break;
--   case 41: VG_(transfer) (&ppc64->guest_VSR9,  buf, dir, size, mod); break;
--   case 42: VG_(transfer) (&ppc64->guest_VSR10, buf, dir, size, mod); break;
--   case 43: VG_(transfer) (&ppc64->guest_VSR11, buf, dir, size, mod); break;
--   case 44: VG_(transfer) (&ppc64->guest_VSR12, buf, dir, size, mod); break;
--   case 45: VG_(transfer) (&ppc64->guest_VSR13, buf, dir, size, mod); break;
--   case 46: VG_(transfer) (&ppc64->guest_VSR14, buf, dir, size, mod); break;
--   case 47: VG_(transfer) (&ppc64->guest_VSR15, buf, dir, size, mod); break;
--   case 48: VG_(transfer) (&ppc64->guest_VSR16, buf, dir, size, mod); break;
--   case 49: VG_(transfer) (&ppc64->guest_VSR17, buf, dir, size, mod); break;
--   case 50: VG_(transfer) (&ppc64->guest_VSR18, buf, dir, size, mod); break;
--   case 51: VG_(transfer) (&ppc64->guest_VSR19, buf, dir, size, mod); break;
--   case 52: VG_(transfer) (&ppc64->guest_VSR20, buf, dir, size, mod); break;
--   case 53: VG_(transfer) (&ppc64->guest_VSR21, buf, dir, size, mod); break;
--   case 54: VG_(transfer) (&ppc64->guest_VSR22, buf, dir, size, mod); break;
--   case 55: VG_(transfer) (&ppc64->guest_VSR23, buf, dir, size, mod); break;
--   case 56: VG_(transfer) (&ppc64->guest_VSR24, buf, dir, size, mod); break;
--   case 57: VG_(transfer) (&ppc64->guest_VSR25, buf, dir, size, mod); break;
--   case 58: VG_(transfer) (&ppc64->guest_VSR26, buf, dir, size, mod); break;
--   case 59: VG_(transfer) (&ppc64->guest_VSR27, buf, dir, size, mod); break;
--   case 60: VG_(transfer) (&ppc64->guest_VSR28, buf, dir, size, mod); break;
--   case 61: VG_(transfer) (&ppc64->guest_VSR29, buf, dir, size, mod); break;
--   case 62: VG_(transfer) (&ppc64->guest_VSR30, buf, dir, size, mod); break;
--   case 63: VG_(transfer) (&ppc64->guest_VSR31, buf, dir, size, mod); break;
-+
-+   case 32: VG_(transfer) (&ppc64->guest_VSR0[high_offset],  buf, dir, size, mod); break;
-+   case 33: VG_(transfer) (&ppc64->guest_VSR1[high_offset],  buf, dir, size, mod); break;
-+   case 34: VG_(transfer) (&ppc64->guest_VSR2[high_offset],  buf, dir, size, mod); break;
-+   case 35: VG_(transfer) (&ppc64->guest_VSR3[high_offset],  buf, dir, size, mod); break;
-+   case 36: VG_(transfer) (&ppc64->guest_VSR4[high_offset],  buf, dir, size, mod); break;
-+   case 37: VG_(transfer) (&ppc64->guest_VSR5[high_offset],  buf, dir, size, mod); break;
-+   case 38: VG_(transfer) (&ppc64->guest_VSR6[high_offset],  buf, dir, size, mod); break;
-+   case 39: VG_(transfer) (&ppc64->guest_VSR7[high_offset],  buf, dir, size, mod); break;
-+   case 40: VG_(transfer) (&ppc64->guest_VSR8[high_offset],  buf, dir, size, mod); break;
-+   case 41: VG_(transfer) (&ppc64->guest_VSR9[high_offset],  buf, dir, size, mod); break;
-+   case 42: VG_(transfer) (&ppc64->guest_VSR10[high_offset],  buf, dir, size, mod); break;
-+   case 43: VG_(transfer) (&ppc64->guest_VSR11[high_offset],  buf, dir, size, mod); break;
-+   case 44: VG_(transfer) (&ppc64->guest_VSR12[high_offset],  buf, dir, size, mod); break;
-+   case 45: VG_(transfer) (&ppc64->guest_VSR13[high_offset],  buf, dir, size, mod); break;
-+   case 46: VG_(transfer) (&ppc64->guest_VSR14[high_offset],  buf, dir, size, mod); break;
-+   case 47: VG_(transfer) (&ppc64->guest_VSR15[high_offset],  buf, dir, size, mod); break;
-+   case 48: VG_(transfer) (&ppc64->guest_VSR16[high_offset],  buf, dir, size, mod); break;
-+   case 49: VG_(transfer) (&ppc64->guest_VSR17[high_offset],  buf, dir, size, mod); break;
-+   case 50: VG_(transfer) (&ppc64->guest_VSR18[high_offset],  buf, dir, size, mod); break;
-+   case 51: VG_(transfer) (&ppc64->guest_VSR19[high_offset],  buf, dir, size, mod); break;
-+   case 52: VG_(transfer) (&ppc64->guest_VSR20[high_offset],  buf, dir, size, mod); break;
-+   case 53: VG_(transfer) (&ppc64->guest_VSR21[high_offset],  buf, dir, size, mod); break;
-+   case 54: VG_(transfer) (&ppc64->guest_VSR22[high_offset],  buf, dir, size, mod); break;
-+   case 55: VG_(transfer) (&ppc64->guest_VSR23[high_offset],  buf, dir, size, mod); break;
-+   case 56: VG_(transfer) (&ppc64->guest_VSR24[high_offset],  buf, dir, size, mod); break;
-+   case 57: VG_(transfer) (&ppc64->guest_VSR25[high_offset],  buf, dir, size, mod); break;
-+   case 58: VG_(transfer) (&ppc64->guest_VSR26[high_offset],  buf, dir, size, mod); break;
-+   case 59: VG_(transfer) (&ppc64->guest_VSR27[high_offset],  buf, dir, size, mod); break;
-+   case 60: VG_(transfer) (&ppc64->guest_VSR28[high_offset],  buf, dir, size, mod); break;
-+   case 61: VG_(transfer) (&ppc64->guest_VSR29[high_offset],  buf, dir, size, mod); break;
-+   case 62: VG_(transfer) (&ppc64->guest_VSR30[high_offset],  buf, dir, size, mod); break;
-+   case 63: VG_(transfer) (&ppc64->guest_VSR31[high_offset],  buf, dir, size, mod); break;
-+
-    case 64: VG_(transfer) (&ppc64->guest_CIA,   buf, dir, size, mod); break;
-    case 65: *mod = False; break; // VEX does not model Machine State Register
-    case 66: {
-       UInt cr = LibVEX_GuestPPC64_get_CR (ppc64);
-       if (dir == valgrind_to_gdbserver) {
--         VG_(transfer) (&cr, buf, dir, size, mod); 
-+         VG_(transfer) (&cr, buf, dir, size, mod);
-       } else {
-          UInt newcr;
-          VG_(transfer) (&newcr, buf, dir, size, mod);
-@@ -280,40 +391,79 @@ void transfer_register (ThreadId tid, int abs_regno, void * buf,
-    case 70:  VG_(transfer) (&ppc64->guest_FPROUND, buf, dir, size, mod); break;
-    case 71:  *mod = False; break; // GDBTD???? VEX { "orig_r3", 4448, 64 },
-    case 72:  *mod = False; break; // GDBTD???? VEX { "trap", 4512, 64 },
--   case 73:  VG_(transfer) (&ppc64->guest_VSR32, buf, dir, size, mod); break;
--   case 74:  VG_(transfer) (&ppc64->guest_VSR33, buf, dir, size, mod); break;
--   case 75:  VG_(transfer) (&ppc64->guest_VSR34, buf, dir, size, mod); break;
--   case 76:  VG_(transfer) (&ppc64->guest_VSR35, buf, dir, size, mod); break;
--   case 77:  VG_(transfer) (&ppc64->guest_VSR36, buf, dir, size, mod); break;
--   case 78:  VG_(transfer) (&ppc64->guest_VSR37, buf, dir, size, mod); break;
--   case 79:  VG_(transfer) (&ppc64->guest_VSR38, buf, dir, size, mod); break;
--   case 80:  VG_(transfer) (&ppc64->guest_VSR39, buf, dir, size, mod); break;
--   case 81:  VG_(transfer) (&ppc64->guest_VSR40, buf, dir, size, mod); break;
--   case 82:  VG_(transfer) (&ppc64->guest_VSR41, buf, dir, size, mod); break;
--   case 83:  VG_(transfer) (&ppc64->guest_VSR42, buf, dir, size, mod); break;
--   case 84:  VG_(transfer) (&ppc64->guest_VSR43, buf, dir, size, mod); break;
--   case 85:  VG_(transfer) (&ppc64->guest_VSR44, buf, dir, size, mod); break;
--   case 86:  VG_(transfer) (&ppc64->guest_VSR45, buf, dir, size, mod); break;
--   case 87:  VG_(transfer) (&ppc64->guest_VSR46, buf, dir, size, mod); break;
--   case 88:  VG_(transfer) (&ppc64->guest_VSR47, buf, dir, size, mod); break;
--   case 89:  VG_(transfer) (&ppc64->guest_VSR48, buf, dir, size, mod); break;
--   case 90:  VG_(transfer) (&ppc64->guest_VSR49, buf, dir, size, mod); break;
--   case 91:  VG_(transfer) (&ppc64->guest_VSR50, buf, dir, size, mod); break;
--   case 92:  VG_(transfer) (&ppc64->guest_VSR51, buf, dir, size, mod); break;
--   case 93:  VG_(transfer) (&ppc64->guest_VSR52, buf, dir, size, mod); break;
--   case 94:  VG_(transfer) (&ppc64->guest_VSR53, buf, dir, size, mod); break;
--   case 95:  VG_(transfer) (&ppc64->guest_VSR54, buf, dir, size, mod); break;
--   case 96:  VG_(transfer) (&ppc64->guest_VSR55, buf, dir, size, mod); break;
--   case 97:  VG_(transfer) (&ppc64->guest_VSR56, buf, dir, size, mod); break;
--   case 98:  VG_(transfer) (&ppc64->guest_VSR57, buf, dir, size, mod); break;
--   case 99:  VG_(transfer) (&ppc64->guest_VSR58, buf, dir, size, mod); break;
--   case 100: VG_(transfer) (&ppc64->guest_VSR59, buf, dir, size, mod); break;
--   case 101: VG_(transfer) (&ppc64->guest_VSR60, buf, dir, size, mod); break;
--   case 102: VG_(transfer) (&ppc64->guest_VSR61, buf, dir, size, mod); break;
--   case 103: VG_(transfer) (&ppc64->guest_VSR62, buf, dir, size, mod); break;
--   case 104: VG_(transfer) (&ppc64->guest_VSR63, buf, dir, size, mod); break;
--   case 105: VG_(transfer) (&ppc64->guest_VSCR, buf, dir, size, mod); break;
-+
-+   case 73:  VG_(transfer) (&ppc64->guest_VSR32,  buf, dir, size, mod);  break;
-+   case 74:  VG_(transfer) (&ppc64->guest_VSR33,  buf, dir, size, mod);  break;
-+   case 75:  VG_(transfer) (&ppc64->guest_VSR34,  buf, dir, size, mod);  break;
-+   case 76:  VG_(transfer) (&ppc64->guest_VSR35,  buf, dir, size, mod);  break;
-+   case 77:  VG_(transfer) (&ppc64->guest_VSR36,  buf, dir, size, mod);  break;
-+   case 78:  VG_(transfer) (&ppc64->guest_VSR37,  buf, dir, size, mod);  break;
-+   case 79:  VG_(transfer) (&ppc64->guest_VSR38,  buf, dir, size, mod);  break;
-+   case 80:  VG_(transfer) (&ppc64->guest_VSR39,  buf, dir, size, mod);  break;
-+   case 81:  VG_(transfer) (&ppc64->guest_VSR40,  buf, dir, size, mod);  break;
-+   case 82:  VG_(transfer) (&ppc64->guest_VSR40,  buf, dir, size, mod);  break;
-+   case 83:  VG_(transfer) (&ppc64->guest_VSR42,  buf, dir, size, mod); break;
-+   case 84:  VG_(transfer) (&ppc64->guest_VSR43,  buf, dir, size, mod); break;
-+   case 85:  VG_(transfer) (&ppc64->guest_VSR44,  buf, dir, size, mod); break;
-+   case 86:  VG_(transfer) (&ppc64->guest_VSR45,  buf, dir, size, mod); break;
-+   case 87:  VG_(transfer) (&ppc64->guest_VSR46,  buf, dir, size, mod); break;
-+   case 88:  VG_(transfer) (&ppc64->guest_VSR47,  buf, dir, size, mod); break;
-+   case 89:  VG_(transfer) (&ppc64->guest_VSR48,  buf, dir, size, mod); break;
-+   case 90:  VG_(transfer) (&ppc64->guest_VSR49,  buf, dir, size, mod); break;
-+   case 91:  VG_(transfer) (&ppc64->guest_VSR50,  buf, dir, size, mod); break;
-+   case 92:  VG_(transfer) (&ppc64->guest_VSR51,  buf, dir, size, mod); break;
-+   case 93:  VG_(transfer) (&ppc64->guest_VSR52,  buf, dir, size, mod); break;
-+   case 94:  VG_(transfer) (&ppc64->guest_VSR53,  buf, dir, size, mod); break;
-+   case 95:  VG_(transfer) (&ppc64->guest_VSR54,  buf, dir, size, mod); break;
-+   case 96:  VG_(transfer) (&ppc64->guest_VSR55,  buf, dir, size, mod); break;
-+   case 97:  VG_(transfer) (&ppc64->guest_VSR56,  buf, dir, size, mod); break;
-+   case 98:  VG_(transfer) (&ppc64->guest_VSR57,  buf, dir, size, mod); break;
-+   case 99:  VG_(transfer) (&ppc64->guest_VSR58,  buf, dir, size, mod); break;
-+   case 100: VG_(transfer) (&ppc64->guest_VSR59,  buf, dir, size, mod); break;
-+   case 101: VG_(transfer) (&ppc64->guest_VSR60,  buf, dir, size, mod); break;
-+   case 102: VG_(transfer) (&ppc64->guest_VSR61,  buf, dir, size, mod); break;
-+   case 103: VG_(transfer) (&ppc64->guest_VSR62,  buf, dir, size, mod); break;
-+   case 104: VG_(transfer) (&ppc64->guest_VSR63,  buf, dir, size, mod); break;
-+   case 105: VG_(transfer) (&ppc64->guest_VSCR, buf, dir, size, mod);   break;
-    case 106: VG_(transfer) (&ppc64->guest_VRSAVE, buf, dir, size, mod); break;
-+
-+   /* Fetch the lower 64-bits of the VSR registers.  GDB will combine the
-+    * lower 64-bits of the VSR with the upper 64-bits it got fetching the
-+    * corresponding floating point register to display the full 128-bit
-+    * VSR value.
-+    */
-+   case 107:  VG_(transfer) (&ppc64->guest_VSR0[low_offset], buf, dir, size, mod); break;
-+   case 108:  VG_(transfer) (&ppc64->guest_VSR1[low_offset], buf, dir, size, mod); break;
-+   case 109:  VG_(transfer) (&ppc64->guest_VSR2[low_offset], buf, dir, size, mod); break;
-+   case 110:  VG_(transfer) (&ppc64->guest_VSR3[low_offset], buf, dir, size, mod); break;
-+   case 111:  VG_(transfer) (&ppc64->guest_VSR4[low_offset], buf, dir, size, mod); break;
-+   case 112:  VG_(transfer) (&ppc64->guest_VSR5[low_offset], buf, dir, size, mod); break;
-+   case 113:  VG_(transfer) (&ppc64->guest_VSR6[low_offset], buf, dir, size, mod); break;
-+   case 114:  VG_(transfer) (&ppc64->guest_VSR7[low_offset], buf, dir, size, mod); break;
-+   case 115:  VG_(transfer) (&ppc64->guest_VSR8[low_offset], buf, dir, size, mod); break;
-+   case 116:  VG_(transfer) (&ppc64->guest_VSR9[low_offset], buf, dir, size, mod); break;
-+   case 117:  VG_(transfer) (&ppc64->guest_VSR10[low_offset], buf, dir, size, mod); break;
-+   case 118:  VG_(transfer) (&ppc64->guest_VSR11[low_offset], buf, dir, size, mod); break;
-+   case 119:  VG_(transfer) (&ppc64->guest_VSR12[low_offset], buf, dir, size, mod); break;
-+   case 120:  VG_(transfer) (&ppc64->guest_VSR13[low_offset], buf, dir, size, mod); break;
-+   case 121:  VG_(transfer) (&ppc64->guest_VSR14[low_offset], buf, dir, size, mod); break;
-+   case 122:  VG_(transfer) (&ppc64->guest_VSR15[low_offset], buf, dir, size, mod); break;
-+   case 123:  VG_(transfer) (&ppc64->guest_VSR16[low_offset], buf, dir, size, mod); break;
-+   case 124:  VG_(transfer) (&ppc64->guest_VSR17[low_offset], buf, dir, size, mod); break;
-+   case 125:  VG_(transfer) (&ppc64->guest_VSR18[low_offset], buf, dir, size, mod); break;
-+   case 126:  VG_(transfer) (&ppc64->guest_VSR19[low_offset], buf, dir, size, mod); break;
-+   case 127:  VG_(transfer) (&ppc64->guest_VSR20[low_offset], buf, dir, size, mod); break;
-+   case 128:  VG_(transfer) (&ppc64->guest_VSR21[low_offset], buf, dir, size, mod); break;
-+   case 129:  VG_(transfer) (&ppc64->guest_VSR22[low_offset], buf, dir, size, mod); break;
-+   case 130:  VG_(transfer) (&ppc64->guest_VSR23[low_offset], buf, dir, size, mod); break;
-+   case 131:  VG_(transfer) (&ppc64->guest_VSR24[low_offset], buf, dir, size, mod); break;
-+   case 132:  VG_(transfer) (&ppc64->guest_VSR25[low_offset], buf, dir, size, mod); break;
-+   case 133:  VG_(transfer) (&ppc64->guest_VSR26[low_offset], buf, dir, size, mod); break;
-+   case 134:  VG_(transfer) (&ppc64->guest_VSR27[low_offset], buf, dir, size, mod); break;
-+   case 135:  VG_(transfer) (&ppc64->guest_VSR28[low_offset], buf, dir, size, mod); break;
-+   case 136:  VG_(transfer) (&ppc64->guest_VSR29[low_offset], buf, dir, size, mod); break;
-+   case 137:  VG_(transfer) (&ppc64->guest_VSR30[low_offset], buf, dir, size, mod); break;
-+   case 138:  VG_(transfer) (&ppc64->guest_VSR31[low_offset], buf, dir, size, mod); break;
-    default: vg_assert(0);
-    }
- }
-@@ -321,6 +471,14 @@ void transfer_register (ThreadId tid, int abs_regno, void * buf,
- static
- const char* target_xml (Bool shadow_mode)
- {
-+   /* NOTE, the current powerpc-altivec64l*.xml files includes the vsx
-+    * registers.  Power 6 and earlier power processors do not support the
-+    * vsx registers.  GDB has a bug in that it is only checking for ptrace
-+    * support rather then checking the actual HW feature.  Hence GDB on
-+    * power 6 prints vsx registers that do not exist.  Valgrind GDB support
-+    * also has to include the vsx register definitions to be consistent with
-+    * GDB.
-+    */
-    if (shadow_mode) {
-       return "powerpc-altivec64l-valgrind.xml";
-    } else {
-
-commit 323a91bfd7dd10d52c77ff31ae6d6b8d0bb37f32
-Author: carll <carll@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Fri Apr 22 15:03:46 2016 +0000
-
-    PPC64, Valgrind with GDB does not display 64-bit and 128-bit registers
-    correctly
-    
-    Forgot to add the new files to the previous commit 15864.
-    
-    coregrind/m_gdbserver/power64-core2-valgrind-s1.xml
-    coregrind/m_gdbserver/power64-core2-valgrind-s2.xml
-    coregrind/m_gdbserver/power-vsx-valgrind-s1.xml
-    coregrind/m_gdbserver/power-vsx-valgrind-s2.xml
-    coregrind/m_gdbserver/power-vsx.xml
-    
-    Bugzilla 360008 was opened for this issue.
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15866 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/coregrind/m_gdbserver/power-vsx-valgrind-s1.xml b/coregrind/m_gdbserver/power-vsx-valgrind-s1.xml
-new file mode 100644
-index 0000000..24730ff
---- /dev/null
-+++ b/coregrind/m_gdbserver/power-vsx-valgrind-s1.xml
-@@ -0,0 +1,44 @@
-+<?xml version="1.0"?>
-+<!-- Copyright (C) 2008-2016 Free Software Foundation, Inc.
-+
-+     Copying and distribution of this file, with or without modification,
-+     are permitted in any medium without royalty provided the copyright
-+     notice and this notice are preserved.  -->
-+
-+<!-- POWER7 VSX registers that do not overlap existing FP and VMX
-+     registers.  -->
-+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
-+<feature name="org.gnu.gdb.power.vsx">
-+  <reg name="vs0hs1" bitsize="64" type="uint64"/>
-+  <reg name="vs1hs1" bitsize="64" type="uint64"/>
-+  <reg name="vs2hs1" bitsize="64" type="uint64"/>
-+  <reg name="vs3hs1" bitsize="64" type="uint64"/>
-+  <reg name="vs4hs1" bitsize="64" type="uint64"/>
-+  <reg name="vs5hs1" bitsize="64" type="uint64"/>
-+  <reg name="vs6hs1" bitsize="64" type="uint64"/>
-+  <reg name="vs7hs1" bitsize="64" type="uint64"/>
-+  <reg name="vs8hs1" bitsize="64" type="uint64"/>
-+  <reg name="vs9hs1" bitsize="64" type="uint64"/>
-+  <reg name="vs10hs1" bitsize="64" type="uint64"/>
-+  <reg name="vs11hs1" bitsize="64" type="uint64"/>
-+  <reg name="vs12hs1" bitsize="64" type="uint64"/>
-+  <reg name="vs13hs1" bitsize="64" type="uint64"/>
-+  <reg name="vs14hs1" bitsize="64" type="uint64"/>
-+  <reg name="vs15hs1" bitsize="64" type="uint64"/>
-+  <reg name="vs16hs1" bitsize="64" type="uint64"/>
-+  <reg name="vs17hs1" bitsize="64" type="uint64"/>
-+  <reg name="vs18hs1" bitsize="64" type="uint64"/>
-+  <reg name="vs19hs1" bitsize="64" type="uint64"/>
-+  <reg name="vs20hs1" bitsize="64" type="uint64"/>
-+  <reg name="vs21hs1" bitsize="64" type="uint64"/>
-+  <reg name="vs22hs1" bitsize="64" type="uint64"/>
-+  <reg name="vs23hs1" bitsize="64" type="uint64"/>
-+  <reg name="vs24hs1" bitsize="64" type="uint64"/>
-+  <reg name="vs25hs1" bitsize="64" type="uint64"/>
-+  <reg name="vs26hs1" bitsize="64" type="uint64"/>
-+  <reg name="vs27hs1" bitsize="64" type="uint64"/>
-+  <reg name="vs28hs1" bitsize="64" type="uint64"/>
-+  <reg name="vs29hs1" bitsize="64" type="uint64"/>
-+  <reg name="vs30hs1" bitsize="64" type="uint64"/>
-+  <reg name="vs31hs1" bitsize="64" type="uint64"/>
-+</feature>
-diff --git a/coregrind/m_gdbserver/power-vsx-valgrind-s2.xml b/coregrind/m_gdbserver/power-vsx-valgrind-s2.xml
-new file mode 100644
-index 0000000..8854e8f
---- /dev/null
-+++ b/coregrind/m_gdbserver/power-vsx-valgrind-s2.xml
-@@ -0,0 +1,44 @@
-+<?xml version="1.0"?>
-+<!-- Copyright (C) 2008-2016 Free Software Foundation, Inc.
-+
-+     Copying and distribution of this file, with or without modification,
-+     are permitted in any medium without royalty provided the copyright
-+     notice and this notice are preserved.  -->
-+
-+<!-- POWER7 VSX registers that do not overlap existing FP and VMX
-+     registers.  -->
-+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
-+<feature name="org.gnu.gdb.power.vsx">
-+  <reg name="vs0hs2" bitsize="64" type="uint64"/>
-+  <reg name="vs1hs2" bitsize="64" type="uint64"/>
-+  <reg name="vs2hs2" bitsize="64" type="uint64"/>
-+  <reg name="vs3hs2" bitsize="64" type="uint64"/>
-+  <reg name="vs4hs2" bitsize="64" type="uint64"/>
-+  <reg name="vs5hs2" bitsize="64" type="uint64"/>
-+  <reg name="vs6hs2" bitsize="64" type="uint64"/>
-+  <reg name="vs7hs2" bitsize="64" type="uint64"/>
-+  <reg name="vs8hs2" bitsize="64" type="uint64"/>
-+  <reg name="vs9hs2" bitsize="64" type="uint64"/>
-+  <reg name="vs10hs2" bitsize="64" type="uint64"/>
-+  <reg name="vs11hs2" bitsize="64" type="uint64"/>
-+  <reg name="vs12hs2" bitsize="64" type="uint64"/>
-+  <reg name="vs13hs2" bitsize="64" type="uint64"/>
-+  <reg name="vs14hs2" bitsize="64" type="uint64"/>
-+  <reg name="vs15hs2" bitsize="64" type="uint64"/>
-+  <reg name="vs16hs2" bitsize="64" type="uint64"/>
-+  <reg name="vs17hs2" bitsize="64" type="uint64"/>
-+  <reg name="vs18hs2" bitsize="64" type="uint64"/>
-+  <reg name="vs19hs2" bitsize="64" type="uint64"/>
-+  <reg name="vs20hs2" bitsize="64" type="uint64"/>
-+  <reg name="vs21hs2" bitsize="64" type="uint64"/>
-+  <reg name="vs22hs2" bitsize="64" type="uint64"/>
-+  <reg name="vs23hs2" bitsize="64" type="uint64"/>
-+  <reg name="vs24hs2" bitsize="64" type="uint64"/>
-+  <reg name="vs25hs2" bitsize="64" type="uint64"/>
-+  <reg name="vs26hs2" bitsize="64" type="uint64"/>
-+  <reg name="vs27hs2" bitsize="64" type="uint64"/>
-+  <reg name="vs28hs2" bitsize="64" type="uint64"/>
-+  <reg name="vs29hs2" bitsize="64" type="uint64"/>
-+  <reg name="vs30hs2" bitsize="64" type="uint64"/>
-+  <reg name="vs31hs2" bitsize="64" type="uint64"/>
-+</feature>
-diff --git a/coregrind/m_gdbserver/power-vsx.xml b/coregrind/m_gdbserver/power-vsx.xml
-new file mode 100644
-index 0000000..411e35c
---- /dev/null
-+++ b/coregrind/m_gdbserver/power-vsx.xml
-@@ -0,0 +1,44 @@
-+<?xml version="1.0"?>
-+<!-- Copyright (C) 2008-2016 Free Software Foundation, Inc.
-+
-+     Copying and distribution of this file, with or without modification,
-+     are permitted in any medium without royalty provided the copyright
-+     notice and this notice are preserved.  -->
-+
-+<!-- POWER7 VSX registers that do not overlap existing FP and VMX
-+     registers.  -->
-+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
-+<feature name="org.gnu.gdb.power.vsx">
-+  <reg name="vs0h" bitsize="64" type="uint64" regnum="107"/>
-+  <reg name="vs1h" bitsize="64" type="uint64"/>
-+  <reg name="vs2h" bitsize="64" type="uint64"/>
-+  <reg name="vs3h" bitsize="64" type="uint64"/>
-+  <reg name="vs4h" bitsize="64" type="uint64"/>
-+  <reg name="vs5h" bitsize="64" type="uint64"/>
-+  <reg name="vs6h" bitsize="64" type="uint64"/>
-+  <reg name="vs7h" bitsize="64" type="uint64"/>
-+  <reg name="vs8h" bitsize="64" type="uint64"/>
-+  <reg name="vs9h" bitsize="64" type="uint64"/>
-+  <reg name="vs10h" bitsize="64" type="uint64"/>
-+  <reg name="vs11h" bitsize="64" type="uint64"/>
-+  <reg name="vs12h" bitsize="64" type="uint64"/>
-+  <reg name="vs13h" bitsize="64" type="uint64"/>
-+  <reg name="vs14h" bitsize="64" type="uint64"/>
-+  <reg name="vs15h" bitsize="64" type="uint64"/>
-+  <reg name="vs16h" bitsize="64" type="uint64"/>
-+  <reg name="vs17h" bitsize="64" type="uint64"/>
-+  <reg name="vs18h" bitsize="64" type="uint64"/>
-+  <reg name="vs19h" bitsize="64" type="uint64"/>
-+  <reg name="vs20h" bitsize="64" type="uint64"/>
-+  <reg name="vs21h" bitsize="64" type="uint64"/>
-+  <reg name="vs22h" bitsize="64" type="uint64"/>
-+  <reg name="vs23h" bitsize="64" type="uint64"/>
-+  <reg name="vs24h" bitsize="64" type="uint64"/>
-+  <reg name="vs25h" bitsize="64" type="uint64"/>
-+  <reg name="vs26h" bitsize="64" type="uint64"/>
-+  <reg name="vs27h" bitsize="64" type="uint64"/>
-+  <reg name="vs28h" bitsize="64" type="uint64"/>
-+  <reg name="vs29h" bitsize="64" type="uint64"/>
-+  <reg name="vs30h" bitsize="64" type="uint64"/>
-+  <reg name="vs31h" bitsize="64" type="uint64"/>
-+</feature>
-diff --git a/coregrind/m_gdbserver/power64-core2-valgrind-s1.xml b/coregrind/m_gdbserver/power64-core2-valgrind-s1.xml
-new file mode 100644
-index 0000000..1012a2d
---- /dev/null
-+++ b/coregrind/m_gdbserver/power64-core2-valgrind-s1.xml
-@@ -0,0 +1,16 @@
-+<?xml version="1.0"?>
-+<!-- Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
-+
-+     Copying and distribution of this file, with or without modification,
-+     are permitted in any medium without royalty provided the copyright
-+     notice and this notice are preserved.  -->
-+
-+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
-+<feature name="org.gnu.gdb.power.core2-valgrind-s1">
-+  <reg name="pcs1" bitsize="64" type="code_ptr"/>
-+  <reg name="msrs1" bitsize="64" type="uint64"/>
-+  <reg name="crs1" bitsize="32" type="uint32"/>
-+  <reg name="lrs1" bitsize="64" type="code_ptr"/>
-+  <reg name="ctrs1" bitsize="64" type="uint64"/>
-+  <reg name="xers1" bitsize="32" type="uint32"/>
-+</feature>
-diff --git a/coregrind/m_gdbserver/power64-core2-valgrind-s2.xml b/coregrind/m_gdbserver/power64-core2-valgrind-s2.xml
-new file mode 100644
-index 0000000..fa50bd4
---- /dev/null
-+++ b/coregrind/m_gdbserver/power64-core2-valgrind-s2.xml
-@@ -0,0 +1,16 @@
-+<?xml version="1.0"?>
-+<!-- Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
-+
-+     Copying and distribution of this file, with or without modification,
-+     are permitted in any medium without royalty provided the copyright
-+     notice and this notice are preserved.  -->
-+
-+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
-+<feature name="org.gnu.gdb.power.core2-valgrind-s2">
-+  <reg name="pcs2" bitsize="64" type="code_ptr"/>
-+  <reg name="msrs2" bitsize="64" type="uint64"/>
-+  <reg name="crs2" bitsize="32" type="uint32"/>
-+  <reg name="lrs2" bitsize="64" type="code_ptr"/>
-+  <reg name="ctrs2" bitsize="64" type="uint64"/>
-+  <reg name="xers2" bitsize="32" type="uint32"/>
-+</feature>
-Only in valgrind-3.11.0: autom4te.cache
-diff -ur valgrind-3.11.0.orig/coregrind/Makefile.in valgrind-3.11.0/coregrind/Makefile.in
---- valgrind-3.11.0.orig/coregrind/Makefile.in	2016-04-29 15:07:46.688655051 +0200
-+++ valgrind-3.11.0/coregrind/Makefile.in	2016-04-29 15:11:24.219880810 +0200
-@@ -1746,12 +1746,17 @@
- 	m_gdbserver/power64-core-valgrind-s1.xml \
- 	m_gdbserver/power64-core-valgrind-s2.xml \
- 	m_gdbserver/power64-core.xml \
-+	m_gdbserver/power64-core2-valgrind-s1.xml \
-+	m_gdbserver/power64-core2-valgrind-s2.xml \
- 	m_gdbserver/power64-linux-valgrind-s1.xml \
- 	m_gdbserver/power64-linux-valgrind-s2.xml \
- 	m_gdbserver/power64-linux.xml \
- 	m_gdbserver/power-altivec-valgrind-s1.xml \
- 	m_gdbserver/power-altivec-valgrind-s2.xml \
- 	m_gdbserver/power-altivec.xml \
-+	m_gdbserver/power-vsx-valgrind-s1.xml \
-+	m_gdbserver/power-vsx-valgrind-s2.xml \
-+	m_gdbserver/power-vsx.xml \
- 	m_gdbserver/power-core-valgrind-s1.xml \
- 	m_gdbserver/power-core-valgrind-s2.xml \
- 	m_gdbserver/power-core.xml \
diff --git a/valgrind-3.11.0-ppoll-mask.patch b/valgrind-3.11.0-ppoll-mask.patch
deleted file mode 100644
index 720e54d..0000000
--- a/valgrind-3.11.0-ppoll-mask.patch
+++ /dev/null
@@ -1,950 +0,0 @@
-commit 515c3b6de3eff6ddf88fd14a0084b8ad0c692553
-Author: iraisr <iraisr@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Tue Mar 8 09:04:48 2016 +0000
-
-    Sanitize signal mask in ppoll and pselect syscalls
-    Reported and Linux patch contributed by Steven Smith <sos22@archy.org.uk>
-    Fixes BZ#359871
-    
-    
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15823 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/coregrind/m_syswrap/priv_syswrap-main.h b/coregrind/m_syswrap/priv_syswrap-main.h
-index cabad7c..3164c81 100644
---- a/coregrind/m_syswrap/priv_syswrap-main.h
-+++ b/coregrind/m_syswrap/priv_syswrap-main.h
-@@ -38,6 +38,9 @@
- extern
- void ML_(fixup_guest_state_to_restart_syscall) ( ThreadArchState* arch );
- 
-+extern
-+void VG_(sanitize_client_sigmask)(vki_sigset_t *mask);
-+
- #if defined(VGO_darwin)
- /* Longjmp to scheduler after client calls workq_ops(WQOPS_THREAD_RETURN)*/
- extern
-diff --git a/coregrind/m_syswrap/syswrap-amd64-linux.c b/coregrind/m_syswrap/syswrap-amd64-linux.c
-index 7c88bc2..4a8344b 100644
---- a/coregrind/m_syswrap/syswrap-amd64-linux.c
-+++ b/coregrind/m_syswrap/syswrap-amd64-linux.c
-@@ -1018,7 +1018,7 @@ static SyscallTableEntry syscall_table[] = {
-    LINX_(__NR_fchmodat,		 sys_fchmodat),         // 268
-    LINX_(__NR_faccessat,	 sys_faccessat),        // 269
- 
--   LINX_(__NR_pselect6,		 sys_pselect6),         // 270
-+   LINXY(__NR_pselect6,		 sys_pselect6),         // 270
-    LINXY(__NR_ppoll,		 sys_ppoll),            // 271
-    LINX_(__NR_unshare,		 sys_unshare),          // 272
-    LINX_(__NR_set_robust_list,	 sys_set_robust_list),  // 273
-diff --git a/coregrind/m_syswrap/syswrap-arm-linux.c b/coregrind/m_syswrap/syswrap-arm-linux.c
-index 3ccad12..224070c 100644
---- a/coregrind/m_syswrap/syswrap-arm-linux.c
-+++ b/coregrind/m_syswrap/syswrap-arm-linux.c
-@@ -1188,7 +1188,7 @@ static SyscallTableEntry syscall_main_table[] = {
- 
-    LINX_(__NR_arm_fadvise64_64,  sys_fadvise64_64),     // 270 */(Linux?)
- 
--   LINX_(__NR_pselect6,          sys_pselect6),         // 335
-+   LINXY(__NR_pselect6,          sys_pselect6),         // 335
-    LINXY(__NR_ppoll,             sys_ppoll),            // 336
- 
-    LINXY(__NR_epoll_pwait,       sys_epoll_pwait),      // 346
-diff --git a/coregrind/m_syswrap/syswrap-arm64-linux.c b/coregrind/m_syswrap/syswrap-arm64-linux.c
-index 8d3027d..abddff1 100644
---- a/coregrind/m_syswrap/syswrap-arm64-linux.c
-+++ b/coregrind/m_syswrap/syswrap-arm64-linux.c
-@@ -924,7 +924,7 @@ static SyscallTableEntry syscall_main_table[] = {
-    GENX_(__NR_writev,            sys_writev),            // 66
-    GENXY(__NR_pread64,           sys_pread64),           // 67
-    GENX_(__NR_pwrite64,          sys_pwrite64),          // 68
--   LINX_(__NR_pselect6,          sys_pselect6),          // 72
-+   LINXY(__NR_pselect6,          sys_pselect6),          // 72
-    LINXY(__NR_ppoll,             sys_ppoll),             // 73
-    LINXY(__NR_signalfd4,         sys_signalfd4),         // 74
-    LINX_(__NR_readlinkat,        sys_readlinkat),        // 78
-diff --git a/coregrind/m_syswrap/syswrap-linux.c b/coregrind/m_syswrap/syswrap-linux.c
-index f2d1076..6fdacda 100644
---- a/coregrind/m_syswrap/syswrap-linux.c
-+++ b/coregrind/m_syswrap/syswrap-linux.c
-@@ -62,6 +62,7 @@
- #include "priv_types_n_macros.h"
- #include "priv_syswrap-generic.h"
- #include "priv_syswrap-linux.h"
-+#include "priv_syswrap-main.h"
- #include "priv_syswrap-xen.h"
- 
- // Run a thread from beginning to end and return the thread's
-@@ -1272,9 +1273,18 @@ POST(sys_get_robust_list)
-    POST_MEM_WRITE(ARG3, sizeof(struct vki_size_t *));
- }
- 
-+struct pselect_sized_sigset {
-+    const vki_sigset_t *ss;
-+    vki_size_t ss_len;
-+};
-+struct pselect_adjusted_sigset {
-+    struct pselect_sized_sigset ss; /* The actual syscall arg */
-+    vki_sigset_t adjusted_ss;
-+};
-+
- PRE(sys_pselect6)
- {
--   *flags |= SfMayBlock;
-+   *flags |= SfMayBlock | SfPostOnFail;
-    PRINT("sys_pselect6 ( %ld, %#lx, %#lx, %#lx, %#lx, %#lx )",
-          SARG1, ARG2, ARG3, ARG4, ARG5, ARG6);
-    PRE_REG_READ6(long, "pselect6",
-@@ -1293,15 +1303,41 @@ PRE(sys_pselect6)
- 		     ARG4, ARG1/8 /* __FD_SETSIZE/8 */ );
-    if (ARG5 != 0)
-       PRE_MEM_READ( "pselect6(timeout)", ARG5, sizeof(struct vki_timeval) );
--   if (ARG6 != 0)
--      PRE_MEM_READ( "pselect6(sig)", ARG6, sizeof(void *)+sizeof(vki_size_t) );
-+   if (ARG6 != 0) {
-+      const struct pselect_sized_sigset *pss =
-+          (struct pselect_sized_sigset *)ARG6;
-+      PRE_MEM_READ( "pselect6(sig)", ARG6, sizeof(*pss) );
-+      if (!ML_(safe_to_deref)(pss, sizeof(*pss))) {
-+         ARG6 = 1; /* Something recognisable to POST() hook. */
-+      } else {
-+         struct pselect_adjusted_sigset *pas;
-+         pas = VG_(malloc)("syswrap.pselect6.1", sizeof(*pas));
-+         ARG6 = (Addr)pas;
-+         pas->ss.ss = (void *)1;
-+         pas->ss.ss_len = pss->ss_len;
-+         if (pss->ss_len == sizeof(*pss->ss)) {
-+            PRE_MEM_READ("pselect6(sig->ss)", (Addr)pss->ss, pss->ss_len);
-+            if (ML_(safe_to_deref)(pss->ss, sizeof(*pss->ss))) {
-+               pas->adjusted_ss = *pss->ss;
-+               pas->ss.ss = &pas->adjusted_ss;
-+               VG_(sanitize_client_sigmask)(&pas->adjusted_ss);
-+            }
-+         }
-+      }
-+   }
-+}
-+POST(sys_pselect6)
-+{
-+   if (ARG6 != 0 && ARG6 != 1) {
-+       VG_(free)((struct pselect_adjusted_sigset *)ARG6);
-+   }
- }
- 
- PRE(sys_ppoll)
- {
-    UInt i;
-    struct vki_pollfd* ufds = (struct vki_pollfd *)ARG1;
--   *flags |= SfMayBlock;
-+   *flags |= SfMayBlock | SfPostOnFail;
-    PRINT("sys_ppoll ( %#lx, %lu, %#lx, %#lx, %lu )\n", ARG1,ARG2,ARG3,ARG4,ARG5);
-    PRE_REG_READ5(long, "ppoll",
-                  struct vki_pollfd *, ufds, unsigned int, nfds,
-@@ -1319,18 +1355,33 @@ PRE(sys_ppoll)
- 
-    if (ARG3)
-       PRE_MEM_READ( "ppoll(tsp)", ARG3, sizeof(struct vki_timespec) );
--   if (ARG4)
--      PRE_MEM_READ( "ppoll(sigmask)", ARG4, sizeof(vki_sigset_t) );
-+   if (ARG4 != 0 && sizeof(vki_sigset_t) == ARG5) {
-+      const vki_sigset_t *guest_sigmask = (vki_sigset_t *)ARG4;
-+      PRE_MEM_READ( "ppoll(sigmask)", ARG4, ARG5);
-+      if (!ML_(safe_to_deref)(guest_sigmask, sizeof(*guest_sigmask))) {
-+         ARG4 = 1; /* Something recognisable to POST() hook. */
-+      } else {
-+         vki_sigset_t *vg_sigmask =
-+             VG_(malloc)("syswrap.ppoll.1", sizeof(*vg_sigmask));
-+         ARG4 = (Addr)vg_sigmask;
-+         *vg_sigmask = *guest_sigmask;
-+         VG_(sanitize_client_sigmask)(vg_sigmask);
-+      }
-+   }
- }
- 
- POST(sys_ppoll)
- {
--   if (RES > 0) {
-+   vg_assert(SUCCESS || FAILURE);
-+   if (SUCCESS && (RES >= 0)) {
-       UInt i;
-       struct vki_pollfd* ufds = (struct vki_pollfd *)ARG1;
-       for (i = 0; i < ARG2; i++)
- 	 POST_MEM_WRITE( (Addr)(&ufds[i].revents), sizeof(ufds[i].revents) );
-    }
-+   if (ARG4 != 0 && ARG5 == sizeof(vki_sigset_t) && ARG4 != 1) {
-+      VG_(free)((vki_sigset_t *) ARG4);
-+   }
- }
- 
- 
-diff --git a/coregrind/m_syswrap/syswrap-main.c b/coregrind/m_syswrap/syswrap-main.c
-index 054891f..d854194 100644
---- a/coregrind/m_syswrap/syswrap-main.c
-+++ b/coregrind/m_syswrap/syswrap-main.c
-@@ -1657,7 +1657,7 @@ static const SyscallTableEntry* get_syscall_entry ( Int syscallno )
- /* Add and remove signals from mask so that we end up telling the
-    kernel the state we actually want rather than what the client
-    wants. */
--static void sanitize_client_sigmask(vki_sigset_t *mask)
-+void VG_(sanitize_client_sigmask)(vki_sigset_t *mask)
- {
-    VG_(sigdelset)(mask, VKI_SIGKILL);
-    VG_(sigdelset)(mask, VKI_SIGSTOP);
-@@ -1979,7 +1979,7 @@ void VG_(client_syscall) ( ThreadId tid, UInt trc )
-          PRINT(" --> [async] ... \n");
- 
-          mask = tst->sig_mask;
--         sanitize_client_sigmask(&mask);
-+         VG_(sanitize_client_sigmask)(&mask);
- 
-          /* Gack.  More impedance matching.  Copy the possibly
-             modified syscall args back into the guest state. */
-diff --git a/coregrind/m_syswrap/syswrap-mips64-linux.c b/coregrind/m_syswrap/syswrap-mips64-linux.c
-index 12d147d..7c5fbdb 100644
---- a/coregrind/m_syswrap/syswrap-mips64-linux.c
-+++ b/coregrind/m_syswrap/syswrap-mips64-linux.c
-@@ -889,7 +889,7 @@ static SyscallTableEntry syscall_main_table[] = {
-    LINX_ (__NR_readlinkat, sys_readlinkat),
-    LINX_ (__NR_fchmodat, sys_fchmodat),
-    LINX_ (__NR_faccessat, sys_faccessat),
--   LINX_ (__NR_pselect6, sys_pselect6),
-+   LINXY (__NR_pselect6, sys_pselect6),
-    LINXY (__NR_ppoll, sys_ppoll),
-    PLAX_ (__NR_unshare, sys_unshare),
-    PLAX_ (__NR_splice, sys_splice),
-diff --git a/coregrind/m_syswrap/syswrap-ppc32-linux.c b/coregrind/m_syswrap/syswrap-ppc32-linux.c
-index 9ceaa15..379fcb3 100644
---- a/coregrind/m_syswrap/syswrap-ppc32-linux.c
-+++ b/coregrind/m_syswrap/syswrap-ppc32-linux.c
-@@ -1194,7 +1194,7 @@ static SyscallTableEntry syscall_table[] = {
-    PLAXY(__NR_spu_run,            sys_spu_run),               // 278
-    PLAX_(__NR_spu_create,         sys_spu_create),            // 279
- 
--   LINX_(__NR_pselect6,          sys_pselect6),          // 280
-+   LINXY(__NR_pselect6,          sys_pselect6),          // 280
-    LINXY(__NR_ppoll,             sys_ppoll),             // 281
- 
-    LINXY(__NR_openat,            sys_openat),            // 286
-diff --git a/coregrind/m_syswrap/syswrap-ppc64-linux.c b/coregrind/m_syswrap/syswrap-ppc64-linux.c
-index 15b8979..77668c7 100644
---- a/coregrind/m_syswrap/syswrap-ppc64-linux.c
-+++ b/coregrind/m_syswrap/syswrap-ppc64-linux.c
-@@ -1110,7 +1110,7 @@ static SyscallTableEntry syscall_table[] = {
-    LINX_(__NR_inotify_add_watch,  sys_inotify_add_watch), // 276
-    LINX_(__NR_inotify_rm_watch,   sys_inotify_rm_watch),  // 277
- 
--   LINX_(__NR_pselect6,          sys_pselect6),           // 280
-+   LINXY(__NR_pselect6,          sys_pselect6),           // 280
-    LINXY(__NR_ppoll,             sys_ppoll),              // 281
- 
-    LINXY(__NR_openat,            sys_openat),             // 286
-diff --git a/coregrind/m_syswrap/syswrap-s390x-linux.c b/coregrind/m_syswrap/syswrap-s390x-linux.c
-index 0513789..107a569 100644
---- a/coregrind/m_syswrap/syswrap-s390x-linux.c
-+++ b/coregrind/m_syswrap/syswrap-s390x-linux.c
-@@ -992,7 +992,7 @@ static SyscallTableEntry syscall_table[] = {
-    LINX_(__NR_fchmodat,  sys_fchmodat),                               // 299
- 
-    LINX_(__NR_faccessat,  sys_faccessat),                             // 300
--   LINX_(__NR_pselect6, sys_pselect6),                                // 301
-+   LINXY(__NR_pselect6, sys_pselect6),                                // 301
-    LINXY(__NR_ppoll, sys_ppoll),                                      // 302
-    LINX_(__NR_unshare, sys_unshare),                                  // 303
-    LINX_(__NR_set_robust_list,  sys_set_robust_list),                 // 304
-diff --git a/coregrind/m_syswrap/syswrap-solaris.c b/coregrind/m_syswrap/syswrap-solaris.c
-index 7ac876f..a307f6c 100644
---- a/coregrind/m_syswrap/syswrap-solaris.c
-+++ b/coregrind/m_syswrap/syswrap-solaris.c
-@@ -71,6 +71,7 @@
- 
- #include "priv_types_n_macros.h"
- #include "priv_syswrap-generic.h"
-+#include "priv_syswrap-main.h"
- #include "priv_syswrap-solaris.h"
- 
- /* Return the number of non-dead and daemon threads.
-@@ -7327,7 +7328,7 @@ PRE(sys_pollsys)
-    UWord i;
-    struct vki_pollfd *ufds = (struct vki_pollfd *)ARG1;
- 
--   *flags |= SfMayBlock;
-+   *flags |= SfMayBlock | SfPostOnFail;
- 
-    PRINT("sys_pollsys ( %#lx, %lu, %#lx, %#lx )", ARG1, ARG2, ARG3, ARG4);
-    PRE_REG_READ4(long, "poll", pollfd_t *, fds, vki_nfds_t, nfds,
-@@ -7343,18 +7344,37 @@ PRE(sys_pollsys)
- 
-    if (ARG3)
-       PRE_MEM_READ("poll(timeout)", ARG3, sizeof(vki_timespec_t));
--   if (ARG4)
-+
-+   if (ARG4) {
-       PRE_MEM_READ("poll(set)", ARG4, sizeof(vki_sigset_t));
-+
-+      const vki_sigset_t *guest_sigmask = (vki_sigset_t *) ARG4;
-+      if (!ML_(safe_to_deref)(guest_sigmask, sizeof(vki_sigset_t))) {
-+         ARG4 = 1; /* Something recognisable to POST() hook. */
-+      } else {
-+         vki_sigset_t *vg_sigmask =
-+            VG_(malloc)("syswrap.pollsys.1", sizeof(vki_sigset_t));
-+         ARG4 = (Addr) vg_sigmask;
-+         *vg_sigmask = *guest_sigmask;
-+         VG_(sanitize_client_sigmask)(vg_sigmask);
-+      }
-+   }
- }
- 
- POST(sys_pollsys)
- {
--   if (RES >= 0) {
-+   vg_assert(SUCCESS || FAILURE);
-+
-+   if (SUCCESS && (RES >= 0)) {
-       UWord i;
-       vki_pollfd_t *ufds = (vki_pollfd_t*)ARG1;
-       for (i = 0; i < ARG2; i++)
-          POST_FIELD_WRITE(ufds[i].revents);
-    }
-+
-+   if ((ARG4 != 0) && (ARG4 != 1)) {
-+      VG_(free)((vki_sigset_t *) ARG4);
-+   }
- }
- 
- PRE(sys_labelsys)
-diff --git a/coregrind/m_syswrap/syswrap-tilegx-linux.c b/coregrind/m_syswrap/syswrap-tilegx-linux.c
-index aceceb4..4845f79 100644
---- a/coregrind/m_syswrap/syswrap-tilegx-linux.c
-+++ b/coregrind/m_syswrap/syswrap-tilegx-linux.c
-@@ -1202,7 +1202,7 @@ static SyscallTableEntry syscall_table[] = {
-   LINXY(__NR_preadv,            sys_preadv),               // 69
-   LINX_(__NR_pwritev,           sys_pwritev),              // 70
-   LINXY(__NR_sendfile,          sys_sendfile),             // 71
--  LINX_(__NR_pselect6,          sys_pselect6),             // 72
-+  LINXY(__NR_pselect6,          sys_pselect6),             // 72
-   LINXY(__NR_ppoll,             sys_ppoll),                // 73
-   LINXY(__NR_signalfd4,         sys_signalfd4),            // 74
-   LINX_(__NR_splice,            sys_splice),               // 75
-diff --git a/coregrind/m_syswrap/syswrap-x86-linux.c b/coregrind/m_syswrap/syswrap-x86-linux.c
-index 3c80e6a..f1f97d7 100644
---- a/coregrind/m_syswrap/syswrap-x86-linux.c
-+++ b/coregrind/m_syswrap/syswrap-x86-linux.c
-@@ -1766,7 +1766,7 @@ static SyscallTableEntry syscall_table[] = {
-    LINX_(__NR_readlinkat,	 sys_readlinkat),       // 305
-    LINX_(__NR_fchmodat,		 sys_fchmodat),         // 306
-    LINX_(__NR_faccessat,	 sys_faccessat),        // 307
--   LINX_(__NR_pselect6,		 sys_pselect6),         // 308
-+   LINXY(__NR_pselect6,		 sys_pselect6),         // 308
-    LINXY(__NR_ppoll,		 sys_ppoll),            // 309
- 
-    LINX_(__NR_unshare,		 sys_unshare),          // 310
-diff --git a/none/tests/Makefile.am b/none/tests/Makefile.am
-index 7eb2bf8..5d8e942 100644
---- a/none/tests/Makefile.am
-+++ b/none/tests/Makefile.am
-@@ -142,12 +142,14 @@ EXTRA_DIST = \
- 	nestedfns.stderr.exp nestedfns.stdout.exp nestedfns.vgtest \
- 	nodir.stderr.exp nodir.vgtest \
- 	pending.stdout.exp pending.stderr.exp pending.vgtest \
-+	ppoll_alarm.stdout.exp ppoll_alarm.stderr.exp ppoll_alarm.vgtest \
- 	procfs-linux.stderr.exp-with-readlinkat \
- 	procfs-linux.stderr.exp-without-readlinkat \
- 	procfs-linux.vgtest \
- 	procfs-non-linux.vgtest \
- 	procfs-non-linux.stderr.exp-with-readlinkat \
- 	procfs-non-linux.stderr.exp-without-readlinkat \
-+	pselect_alarm.stdout.exp pselect_alarm.stderr.exp pselect_alarm.vgtest \
- 	pth_atfork1.stderr.exp pth_atfork1.stdout.exp pth_atfork1.vgtest \
- 	pth_blockedsig.stderr.exp \
- 	pth_blockedsig.stdout.exp pth_blockedsig.vgtest \
-@@ -215,7 +217,9 @@ check_PROGRAMS = \
- 	mmap_fcntl_bug \
- 	munmap_exe map_unaligned map_unmap mq \
- 	pending \
-+	ppoll_alarm \
- 	procfs-cmdline-exe \
-+	pselect_alarm \
- 	pth_atfork1 pth_blockedsig pth_cancel1 pth_cancel2 pth_cvsimple \
- 	pth_empty pth_exit pth_exit2 pth_mutexspeed pth_once pth_rwlock \
- 	pth_stackalign \
-@@ -289,6 +293,8 @@ libvexmultiarch_test_LDADD = \
- 	../../VEX/libvexmultiarch-@VGCONF_ARCH_PRI@-@VGCONF_OS@.a \
- 	../../VEX/libvex-@VGCONF_ARCH_PRI@-@VGCONF_OS@.a @LIB_UBSAN@
- libvexmultiarch_test_SOURCES = libvex_test.c
-+ppoll_alarm_LDADD	= -lpthread
-+pselect_alarm_LDADD	= -lpthread
- pth_atfork1_LDADD	= -lpthread
- pth_blockedsig_LDADD	= -lpthread
- pth_cancel1_CFLAGS	= $(AM_CFLAGS) -Wno-shadow
-diff --git a/none/tests/ppoll_alarm.c b/none/tests/ppoll_alarm.c
-new file mode 100644
-index 0000000..1b1794b
---- /dev/null
-+++ b/none/tests/ppoll_alarm.c
-@@ -0,0 +1,55 @@
-+/* Tries to exploit bug in ppoll mask handling:
-+   https://bugs.kde.org/show_bug.cgi?id=359871
-+   where client program was able to successfully block VG_SIGVGKILL. */
-+
-+#define _GNU_SOURCE /* for ppoll */
-+#include <poll.h>
-+#include <pthread.h>
-+#include <signal.h>
-+#include <stdio.h>
-+#include <unistd.h>
-+
-+static int ready = 0;
-+static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
-+static pthread_cond_t cond = PTHREAD_COND_INITIALIZER;
-+
-+static void *
-+mythr(void *ignore)
-+{
-+    pthread_mutex_lock(&mutex);
-+    ready = 1;
-+    pthread_cond_signal(&cond);
-+    pthread_mutex_unlock(&mutex);
-+
-+    sigset_t ss;
-+    sigfillset(&ss);
-+    while (1) {
-+        struct timespec ts = {10000, 0};
-+        ppoll(NULL, 0, &ts, &ss);
-+    }
-+
-+    return NULL;
-+}
-+
-+int
-+main()
-+{
-+    pthread_t thr;
-+    int ret = pthread_create(&thr, NULL, mythr, NULL);
-+    if (ret != 0) {
-+        fprintf(stderr, "pthread_create failed\n");
-+        return 1;
-+    }
-+
-+    pthread_mutex_lock(&mutex);
-+    while (ready == 0) {
-+        pthread_cond_wait(&cond, &mutex);
-+    }
-+    pthread_mutex_unlock(&mutex);
-+
-+    alarm(1); /* Unhandled SIGALRM should cause exit. */
-+    while (1)
-+        sleep(1);
-+
-+    return 0;
-+}
-diff --git a/none/tests/ppoll_alarm.stderr.exp b/none/tests/ppoll_alarm.stderr.exp
-new file mode 100644
-index 0000000..e69de29
-diff --git a/none/tests/ppoll_alarm.stdout.exp b/none/tests/ppoll_alarm.stdout.exp
-new file mode 100644
-index 0000000..e69de29
-diff --git a/none/tests/ppoll_alarm.vgtest b/none/tests/ppoll_alarm.vgtest
-new file mode 100644
-index 0000000..b1309d3
---- /dev/null
-+++ b/none/tests/ppoll_alarm.vgtest
-@@ -0,0 +1,3 @@
-+prog: ppoll_alarm
-+vgopts: -q
-+stderr_filter: filter_stderr
-diff --git a/none/tests/pselect_alarm.c b/none/tests/pselect_alarm.c
-new file mode 100644
-index 0000000..7a68ec0
---- /dev/null
-+++ b/none/tests/pselect_alarm.c
-@@ -0,0 +1,61 @@
-+/* Tries to exploit bug in pselect mask handling:
-+   https://bugs.kde.org/show_bug.cgi?id=359871
-+   where client program was able to successfully block VG_SIGVGKILL. */
-+
-+#include <sys/select.h>
-+#include <assert.h>
-+#include <errno.h>
-+#include <pthread.h>
-+#include <signal.h>
-+#include <stdio.h>
-+#include <unistd.h>
-+
-+static int ready = 0;
-+static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
-+static pthread_cond_t cond = PTHREAD_COND_INITIALIZER;
-+
-+static void *
-+mythr(void *ignore)
-+{
-+    pthread_mutex_lock(&mutex);
-+    ready = 1;
-+    pthread_cond_signal(&cond);
-+    pthread_mutex_unlock(&mutex);
-+
-+    sigset_t ss;
-+    sigfillset(&ss);
-+    while (1) {
-+        struct timespec ts = {10000, 0};
-+        pselect(0, NULL, NULL, NULL, &ts, &ss);
-+    }
-+
-+    return NULL;
-+}
-+
-+int
-+main()
-+{
-+    pthread_t thr;
-+    int ret = pthread_create(&thr, NULL, mythr, NULL);
-+    if (ret != 0) {
-+        fprintf(stderr, "pthread_create failed\n");
-+        return 1;
-+    }
-+
-+    pthread_mutex_lock(&mutex);
-+    while (ready == 0) {
-+        pthread_cond_wait(&cond, &mutex);
-+    }
-+    pthread_mutex_unlock(&mutex);
-+
-+#if defined(VGO_linux)
-+    assert(pselect(0, NULL, NULL, NULL, NULL, (sigset_t *)12) == -1);
-+    assert(errno == EFAULT);
-+#endif
-+
-+    alarm(1); /* Unhandled SIGALRM should cause exit. */
-+    while (1)
-+        sleep(1);
-+
-+    return 0;
-+}
-diff --git a/none/tests/pselect_alarm.stderr.exp b/none/tests/pselect_alarm.stderr.exp
-new file mode 100644
-index 0000000..e69de29
-diff --git a/none/tests/pselect_alarm.stdout.exp b/none/tests/pselect_alarm.stdout.exp
-new file mode 100644
-index 0000000..e69de29
-diff --git a/none/tests/pselect_alarm.vgtest b/none/tests/pselect_alarm.vgtest
-new file mode 100644
-index 0000000..84cc674
---- /dev/null
-+++ b/none/tests/pselect_alarm.vgtest
-@@ -0,0 +1,3 @@
-+prog: pselect_alarm
-+vgopts: -q
-+stderr_filter: filter_stderr
-diff --git a/tests/filter_stderr_basic b/tests/filter_stderr_basic
-index 472cd8f..4b6e480 100755
---- a/tests/filter_stderr_basic
-+++ b/tests/filter_stderr_basic
-@@ -46,7 +46,7 @@ sed "/warning: line info addresses out of order/d" |
- # of the bash process. Newer bash versions redirect such messages properly.
- # Suppress any redirected abnormal termination messages. You can find the
- # complete list of messages in the bash source file siglist.c.
--perl -n -e 'print if !/^(Segmentation fault|Alarm clock|Aborted|Bus error)( \(core dumped\))?$/' |
-+perl -n -e 'print if !/^(Segmentation fault|Alarm clock|Aborted|Bus error|Killed)( \(core dumped\))?$/' |
- 
- # Similar as above, but for ksh on Solaris/illumos.
- perl -n -e 'print if !/^(Memory fault|Killed) $/' |
-Only in valgrind-3.11.0: autom4te.cache
-diff -ru valgrind-3.11.0.orig/none/tests/Makefile.in valgrind-3.11.0/none/tests/Makefile.in
---- valgrind-3.11.0.orig/none/tests/Makefile.in	2016-03-09 20:07:53.451112914 +0100
-+++ valgrind-3.11.0/none/tests/Makefile.in	2016-03-09 20:09:44.281584703 +0100
-@@ -151,7 +151,8 @@
- 	libvexmultiarch_test$(EXEEXT) manythreads$(EXEEXT) \
- 	mmap_fcntl_bug$(EXEEXT) munmap_exe$(EXEEXT) \
- 	map_unaligned$(EXEEXT) map_unmap$(EXEEXT) mq$(EXEEXT) \
--	pending$(EXEEXT) procfs-cmdline-exe$(EXEEXT) \
-+	pending$(EXEEXT) ppoll_alarm$(EXEEXT) \
-+	procfs-cmdline-exe$(EXEEXT) pselect_alarm$(EXEEXT) \
- 	pth_atfork1$(EXEEXT) pth_blockedsig$(EXEEXT) \
- 	pth_cancel1$(EXEEXT) pth_cancel2$(EXEEXT) \
- 	pth_cvsimple$(EXEEXT) pth_empty$(EXEEXT) pth_exit$(EXEEXT) \
-@@ -329,12 +330,18 @@
- pending_SOURCES = pending.c
- pending_OBJECTS = pending.$(OBJEXT)
- pending_LDADD = $(LDADD)
-+ppoll_alarm_SOURCES = ppoll_alarm.c
-+ppoll_alarm_OBJECTS = ppoll_alarm.$(OBJEXT)
-+ppoll_alarm_DEPENDENCIES =
- process_vm_readv_writev_SOURCES = process_vm_readv_writev.c
- process_vm_readv_writev_OBJECTS = process_vm_readv_writev.$(OBJEXT)
- process_vm_readv_writev_LDADD = $(LDADD)
- procfs_cmdline_exe_SOURCES = procfs-cmdline-exe.c
- procfs_cmdline_exe_OBJECTS = procfs-cmdline-exe.$(OBJEXT)
- procfs_cmdline_exe_LDADD = $(LDADD)
-+pselect_alarm_SOURCES = pselect_alarm.c
-+pselect_alarm_OBJECTS = pselect_alarm.$(OBJEXT)
-+pselect_alarm_DEPENDENCIES =
- pth_atfork1_SOURCES = pth_atfork1.c
- pth_atfork1_OBJECTS = pth_atfork1.$(OBJEXT)
- pth_atfork1_DEPENDENCIES =
-@@ -527,18 +534,18 @@
- 	$(gxx304_SOURCES) ifunc.c ioctl_moans.c libvex_test.c \
- 	$(libvexmultiarch_test_SOURCES) manythreads.c map_unaligned.c \
- 	map_unmap.c mmap_fcntl_bug.c mq.c munmap_exe.c nestedfns.c \
--	pending.c process_vm_readv_writev.c procfs-cmdline-exe.c \
--	pth_atfork1.c pth_blockedsig.c pth_cancel1.c pth_cancel2.c \
--	pth_cvsimple.c pth_empty.c pth_exit.c pth_exit2.c \
--	pth_mutexspeed.c pth_once.c pth_rwlock.c pth_stackalign.c \
--	rcrl.c readline1.c require-text-symbol.c res_search.c resolv.c \
--	rlimit64_nofile.c rlimit_nofile.c selfrun.c sem.c semlimit.c \
--	sha1_test.c shortpush.c shorts.c sigstackgrowth.c \
--	stackgrowth.c syscall-restart1.c syscall-restart2.c syslog.c \
--	system.c thread-exits.c threaded-fork.c threadederrno.c \
--	timestamp.c $(tls_SOURCES) $(tls_so_SOURCES) \
--	$(tls2_so_SOURCES) unit_debuglog.c \
--	$(valgrind_cpp_test_SOURCES) vgprintf.c
-+	pending.c ppoll_alarm.c process_vm_readv_writev.c \
-+	procfs-cmdline-exe.c pselect_alarm.c pth_atfork1.c \
-+	pth_blockedsig.c pth_cancel1.c pth_cancel2.c pth_cvsimple.c \
-+	pth_empty.c pth_exit.c pth_exit2.c pth_mutexspeed.c pth_once.c \
-+	pth_rwlock.c pth_stackalign.c rcrl.c readline1.c \
-+	require-text-symbol.c res_search.c resolv.c rlimit64_nofile.c \
-+	rlimit_nofile.c selfrun.c sem.c semlimit.c sha1_test.c \
-+	shortpush.c shorts.c sigstackgrowth.c stackgrowth.c \
-+	syscall-restart1.c syscall-restart2.c syslog.c system.c \
-+	thread-exits.c threaded-fork.c threadederrno.c timestamp.c \
-+	$(tls_SOURCES) $(tls_so_SOURCES) $(tls2_so_SOURCES) \
-+	unit_debuglog.c $(valgrind_cpp_test_SOURCES) vgprintf.c
- DIST_SOURCES = ansi.c args.c async-sigs.c bitfield1.c bug129866.c \
- 	bug234814.c closeall.c $(coolo_sigaction_SOURCES) \
- 	coolo_strlen.c discard.c exec-sigmask.c execve.c faultstatus.c \
-@@ -548,18 +555,18 @@
- 	$(gxx304_SOURCES) ifunc.c ioctl_moans.c libvex_test.c \
- 	$(libvexmultiarch_test_SOURCES) manythreads.c map_unaligned.c \
- 	map_unmap.c mmap_fcntl_bug.c mq.c munmap_exe.c nestedfns.c \
--	pending.c process_vm_readv_writev.c procfs-cmdline-exe.c \
--	pth_atfork1.c pth_blockedsig.c pth_cancel1.c pth_cancel2.c \
--	pth_cvsimple.c pth_empty.c pth_exit.c pth_exit2.c \
--	pth_mutexspeed.c pth_once.c pth_rwlock.c pth_stackalign.c \
--	rcrl.c readline1.c require-text-symbol.c res_search.c resolv.c \
--	rlimit64_nofile.c rlimit_nofile.c selfrun.c sem.c semlimit.c \
--	sha1_test.c shortpush.c shorts.c sigstackgrowth.c \
--	stackgrowth.c syscall-restart1.c syscall-restart2.c syslog.c \
--	system.c thread-exits.c threaded-fork.c threadederrno.c \
--	timestamp.c $(tls_SOURCES) $(tls_so_SOURCES) \
--	$(tls2_so_SOURCES) unit_debuglog.c \
--	$(valgrind_cpp_test_SOURCES) vgprintf.c
-+	pending.c ppoll_alarm.c process_vm_readv_writev.c \
-+	procfs-cmdline-exe.c pselect_alarm.c pth_atfork1.c \
-+	pth_blockedsig.c pth_cancel1.c pth_cancel2.c pth_cvsimple.c \
-+	pth_empty.c pth_exit.c pth_exit2.c pth_mutexspeed.c pth_once.c \
-+	pth_rwlock.c pth_stackalign.c rcrl.c readline1.c \
-+	require-text-symbol.c res_search.c resolv.c rlimit64_nofile.c \
-+	rlimit_nofile.c selfrun.c sem.c semlimit.c sha1_test.c \
-+	shortpush.c shorts.c sigstackgrowth.c stackgrowth.c \
-+	syscall-restart1.c syscall-restart2.c syslog.c system.c \
-+	thread-exits.c threaded-fork.c threadederrno.c timestamp.c \
-+	$(tls_SOURCES) $(tls_so_SOURCES) $(tls2_so_SOURCES) \
-+	unit_debuglog.c $(valgrind_cpp_test_SOURCES) vgprintf.c
- RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
- 	ctags-recursive dvi-recursive html-recursive info-recursive \
- 	install-data-recursive install-dvi-recursive \
-@@ -1072,12 +1079,14 @@
- 	nestedfns.stderr.exp nestedfns.stdout.exp nestedfns.vgtest \
- 	nodir.stderr.exp nodir.vgtest \
- 	pending.stdout.exp pending.stderr.exp pending.vgtest \
-+	ppoll_alarm.stdout.exp ppoll_alarm.stderr.exp ppoll_alarm.vgtest \
- 	procfs-linux.stderr.exp-with-readlinkat \
- 	procfs-linux.stderr.exp-without-readlinkat \
- 	procfs-linux.vgtest \
- 	procfs-non-linux.vgtest \
- 	procfs-non-linux.stderr.exp-with-readlinkat \
- 	procfs-non-linux.stderr.exp-without-readlinkat \
-+	pselect_alarm.stdout.exp pselect_alarm.stderr.exp pselect_alarm.vgtest \
- 	pth_atfork1.stderr.exp pth_atfork1.stdout.exp pth_atfork1.vgtest \
- 	pth_blockedsig.stderr.exp \
- 	pth_blockedsig.stdout.exp pth_blockedsig.vgtest \
-@@ -1152,6 +1161,8 @@
- 	../../VEX/libvex-@VGCONF_ARCH_PRI@-@VGCONF_OS@.a @LIB_UBSAN@
- 
- libvexmultiarch_test_SOURCES = libvex_test.c
-+ppoll_alarm_LDADD = -lpthread
-+pselect_alarm_LDADD = -lpthread
- pth_atfork1_LDADD = -lpthread
- pth_blockedsig_LDADD = -lpthread
- pth_cancel1_CFLAGS = $(AM_CFLAGS) -Wno-shadow
-@@ -1390,6 +1401,10 @@
- 	@rm -f pending$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(pending_OBJECTS) $(pending_LDADD) $(LIBS)
- 
-+ppoll_alarm$(EXEEXT): $(ppoll_alarm_OBJECTS) $(ppoll_alarm_DEPENDENCIES) $(EXTRA_ppoll_alarm_DEPENDENCIES) 
-+	@rm -f ppoll_alarm$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(ppoll_alarm_OBJECTS) $(ppoll_alarm_LDADD) $(LIBS)
-+
- process_vm_readv_writev$(EXEEXT): $(process_vm_readv_writev_OBJECTS) $(process_vm_readv_writev_DEPENDENCIES) $(EXTRA_process_vm_readv_writev_DEPENDENCIES) 
- 	@rm -f process_vm_readv_writev$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(process_vm_readv_writev_OBJECTS) $(process_vm_readv_writev_LDADD) $(LIBS)
-@@ -1398,6 +1413,10 @@
- 	@rm -f procfs-cmdline-exe$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(procfs_cmdline_exe_OBJECTS) $(procfs_cmdline_exe_LDADD) $(LIBS)
- 
-+pselect_alarm$(EXEEXT): $(pselect_alarm_OBJECTS) $(pselect_alarm_DEPENDENCIES) $(EXTRA_pselect_alarm_DEPENDENCIES) 
-+	@rm -f pselect_alarm$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(pselect_alarm_OBJECTS) $(pselect_alarm_LDADD) $(LIBS)
-+
- pth_atfork1$(EXEEXT): $(pth_atfork1_OBJECTS) $(pth_atfork1_DEPENDENCIES) $(EXTRA_pth_atfork1_DEPENDENCIES) 
- 	@rm -f pth_atfork1$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(pth_atfork1_OBJECTS) $(pth_atfork1_LDADD) $(LIBS)
-@@ -1607,8 +1626,10 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/munmap_exe.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nestedfns-nestedfns.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pending.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppoll_alarm.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/process_vm_readv_writev.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/procfs-cmdline-exe.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pselect_alarm.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_atfork1.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_blockedsig.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_cancel1-pth_cancel1.Po@am__quote@
-commit 8c67aa7a7fb1a125e75937ad438d5f9a8fd20c5d
-Author: mjw <mjw@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Tue Jun 21 19:58:21 2016 +0000
-
-    Bug 364413 pselect sycallwrapper mishandles NULL sigmask.
-    
-    Don't check or try to copy sigmask if it is NULL. The sigmask might be
-    given in a struct, where the length is non-zero, but the signal set
-    pointer is NULL.
-    
-    Testcase provided by Paul Eggert <eggert@cs.ucla.edu>.
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15893 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/coregrind/m_syswrap/syswrap-linux.c b/coregrind/m_syswrap/syswrap-linux.c
-index 24a5ae9..9ace4fd 100644
---- a/coregrind/m_syswrap/syswrap-linux.c
-+++ b/coregrind/m_syswrap/syswrap-linux.c
-@@ -1316,11 +1316,15 @@ PRE(sys_pselect6)
-          pas->ss.ss = (void *)1;
-          pas->ss.ss_len = pss->ss_len;
-          if (pss->ss_len == sizeof(*pss->ss)) {
--            PRE_MEM_READ("pselect6(sig->ss)", (Addr)pss->ss, pss->ss_len);
--            if (ML_(safe_to_deref)(pss->ss, sizeof(*pss->ss))) {
--               pas->adjusted_ss = *pss->ss;
--               pas->ss.ss = &pas->adjusted_ss;
--               VG_(sanitize_client_sigmask)(&pas->adjusted_ss);
-+            if (pss->ss == NULL) {
-+               pas->ss.ss = NULL;
-+            } else {
-+               PRE_MEM_READ("pselect6(sig->ss)", (Addr)pss->ss, pss->ss_len);
-+               if (ML_(safe_to_deref)(pss->ss, sizeof(*pss->ss))) {
-+                  pas->adjusted_ss = *pss->ss;
-+                  pas->ss.ss = &pas->adjusted_ss;
-+                  VG_(sanitize_client_sigmask)(&pas->adjusted_ss);
-+               }
-             }
-          }
-       }
-diff --git a/none/tests/Makefile.am b/none/tests/Makefile.am
-index 0e11492..684c1af 100644
---- a/none/tests/Makefile.am
-+++ b/none/tests/Makefile.am
-@@ -150,6 +150,8 @@ EXTRA_DIST = \
- 	procfs-non-linux.stderr.exp-with-readlinkat \
- 	procfs-non-linux.stderr.exp-without-readlinkat \
- 	pselect_alarm.stdout.exp pselect_alarm.stderr.exp pselect_alarm.vgtest \
-+	pselect_signask_null.vgtest \
-+	pselect_sigmask_null.stdout.exp pselect_sigmask_null.stderr.exp \
- 	pth_atfork1.stderr.exp pth_atfork1.stdout.exp pth_atfork1.vgtest \
- 	pth_blockedsig.stderr.exp \
- 	pth_blockedsig.stdout.exp pth_blockedsig.vgtest \
-@@ -222,6 +222,7 @@
- 	ppoll_alarm \
- 	procfs-cmdline-exe \
- 	pselect_alarm \
-+	pselect_sigmask_null \
- 	pth_atfork1 pth_blockedsig pth_cancel1 pth_cancel2 pth_cvsimple \
- 	pth_empty pth_exit pth_exit2 pth_mutexspeed pth_once pth_rwlock \
- 	pth_stackalign \
-diff --git a/none/tests/pselect_sigmask_null.c b/none/tests/pselect_sigmask_null.c
-new file mode 100644
-index 0000000..34bd584
---- /dev/null
-+++ b/none/tests/pselect_sigmask_null.c
-@@ -0,0 +1,26 @@
-+/* Make sure handling of NULL sigmask is correct.
-+   https://bugs.kde.org/show_bug.cgi?id=XXX
-+   We might try to make a copy and adjust the mask.
-+   Testcase provided by Paul Eggert <eggert@cs.ucla.edu> */
-+
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <sys/select.h>
-+
-+int
-+main (void)
-+{
-+  struct timespec timeout;
-+  timeout.tv_sec = 1;
-+  timeout.tv_nsec = 0;
-+  switch (pselect (0, 0, 0, 0, &timeout, 0))
-+    {
-+    default:
-+      abort ();
-+    case -1:
-+      perror ("pselect");
-+      return 1;
-+    case 0:
-+      return 0;
-+    }
-+}
-diff --git a/none/tests/pselect_sigmask_null.stderr.exp b/none/tests/pselect_sigmask_null.stderr.exp
-new file mode 100644
-index 0000000..e69de29
-diff --git a/none/tests/pselect_sigmask_null.stdout.exp b/none/tests/pselect_sigmask_null.stdout.exp
-new file mode 100644
-index 0000000..e69de29
-diff --git a/none/tests/pselect_sigmask_null.vgtest b/none/tests/pselect_sigmask_null.vgtest
-new file mode 100644
-index 0000000..e59688c
---- /dev/null
-+++ b/none/tests/pselect_sigmask_null.vgtest
-@@ -0,0 +1,2 @@
-+prog: pselect_sigmask_null
-+vgopts: -q
-
-commit d41bebeb1e561ddfac17d9be65b29aa5bb3ebaf8
-Author: mjw <mjw@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Tue Jun 21 21:06:27 2016 +0000
-
-    Bug 364413 followup - fix signask -> sigmask typo in EXTRA_DIST
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15894 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/none/tests/Makefile.am b/none/tests/Makefile.am
-index 684c1af..7059e67 100644
---- a/none/tests/Makefile.am
-+++ b/none/tests/Makefile.am
-@@ -150,7 +150,7 @@ EXTRA_DIST = \
- 	procfs-non-linux.stderr.exp-with-readlinkat \
- 	procfs-non-linux.stderr.exp-without-readlinkat \
- 	pselect_alarm.stdout.exp pselect_alarm.stderr.exp pselect_alarm.vgtest \
--	pselect_signask_null.vgtest \
-+	pselect_sigmask_null.vgtest \
- 	pselect_sigmask_null.stdout.exp pselect_sigmask_null.stderr.exp \
- 	pth_atfork1.stderr.exp pth_atfork1.stdout.exp pth_atfork1.vgtest \
- 	pth_blockedsig.stderr.exp \
-Only in valgrind-3.11.0: autom4te.cache
-diff -ur valgrind-3.11.0.orig/none/tests/Makefile.in valgrind-3.11.0/none/tests/Makefile.in
---- valgrind-3.11.0.orig/none/tests/Makefile.in	2016-06-22 01:12:05.241643238 +0200
-+++ valgrind-3.11.0/none/tests/Makefile.in	2016-06-22 01:16:22.545150491 +0200
-@@ -153,12 +153,12 @@
- 	map_unaligned$(EXEEXT) map_unmap$(EXEEXT) mq$(EXEEXT) \
- 	pending$(EXEEXT) ppoll_alarm$(EXEEXT) \
- 	procfs-cmdline-exe$(EXEEXT) pselect_alarm$(EXEEXT) \
--	pth_atfork1$(EXEEXT) pth_blockedsig$(EXEEXT) \
--	pth_cancel1$(EXEEXT) pth_cancel2$(EXEEXT) \
--	pth_cvsimple$(EXEEXT) pth_empty$(EXEEXT) pth_exit$(EXEEXT) \
--	pth_exit2$(EXEEXT) pth_mutexspeed$(EXEEXT) pth_once$(EXEEXT) \
--	pth_rwlock$(EXEEXT) pth_stackalign$(EXEEXT) rcrl$(EXEEXT) \
--	readline1$(EXEEXT) require-text-symbol$(EXEEXT) \
-+	pselect_sigmask_null$(EXEEXT) pth_atfork1$(EXEEXT) \
-+	pth_blockedsig$(EXEEXT) pth_cancel1$(EXEEXT) \
-+	pth_cancel2$(EXEEXT) pth_cvsimple$(EXEEXT) pth_empty$(EXEEXT) \
-+	pth_exit$(EXEEXT) pth_exit2$(EXEEXT) pth_mutexspeed$(EXEEXT) \
-+	pth_once$(EXEEXT) pth_rwlock$(EXEEXT) pth_stackalign$(EXEEXT) \
-+	rcrl$(EXEEXT) readline1$(EXEEXT) require-text-symbol$(EXEEXT) \
- 	res_search$(EXEEXT) resolv$(EXEEXT) rlimit_nofile$(EXEEXT) \
- 	selfrun$(EXEEXT) sem$(EXEEXT) semlimit$(EXEEXT) \
- 	sha1_test$(EXEEXT) shortpush$(EXEEXT) shorts$(EXEEXT) \
-@@ -342,6 +342,9 @@
- pselect_alarm_SOURCES = pselect_alarm.c
- pselect_alarm_OBJECTS = pselect_alarm.$(OBJEXT)
- pselect_alarm_DEPENDENCIES =
-+pselect_sigmask_null_SOURCES = pselect_sigmask_null.c
-+pselect_sigmask_null_OBJECTS = pselect_sigmask_null.$(OBJEXT)
-+pselect_sigmask_null_LDADD = $(LDADD)
- pth_atfork1_SOURCES = pth_atfork1.c
- pth_atfork1_OBJECTS = pth_atfork1.$(OBJEXT)
- pth_atfork1_DEPENDENCIES =
-@@ -535,17 +538,18 @@
- 	$(libvexmultiarch_test_SOURCES) manythreads.c map_unaligned.c \
- 	map_unmap.c mmap_fcntl_bug.c mq.c munmap_exe.c nestedfns.c \
- 	pending.c ppoll_alarm.c process_vm_readv_writev.c \
--	procfs-cmdline-exe.c pselect_alarm.c pth_atfork1.c \
--	pth_blockedsig.c pth_cancel1.c pth_cancel2.c pth_cvsimple.c \
--	pth_empty.c pth_exit.c pth_exit2.c pth_mutexspeed.c pth_once.c \
--	pth_rwlock.c pth_stackalign.c rcrl.c readline1.c \
--	require-text-symbol.c res_search.c resolv.c rlimit64_nofile.c \
--	rlimit_nofile.c selfrun.c sem.c semlimit.c sha1_test.c \
--	shortpush.c shorts.c sigstackgrowth.c stackgrowth.c \
--	syscall-restart1.c syscall-restart2.c syslog.c system.c \
--	thread-exits.c threaded-fork.c threadederrno.c timestamp.c \
--	$(tls_SOURCES) $(tls_so_SOURCES) $(tls2_so_SOURCES) \
--	unit_debuglog.c $(valgrind_cpp_test_SOURCES) vgprintf.c
-+	procfs-cmdline-exe.c pselect_alarm.c pselect_sigmask_null.c \
-+	pth_atfork1.c pth_blockedsig.c pth_cancel1.c pth_cancel2.c \
-+	pth_cvsimple.c pth_empty.c pth_exit.c pth_exit2.c \
-+	pth_mutexspeed.c pth_once.c pth_rwlock.c pth_stackalign.c \
-+	rcrl.c readline1.c require-text-symbol.c res_search.c resolv.c \
-+	rlimit64_nofile.c rlimit_nofile.c selfrun.c sem.c semlimit.c \
-+	sha1_test.c shortpush.c shorts.c sigstackgrowth.c \
-+	stackgrowth.c syscall-restart1.c syscall-restart2.c syslog.c \
-+	system.c thread-exits.c threaded-fork.c threadederrno.c \
-+	timestamp.c $(tls_SOURCES) $(tls_so_SOURCES) \
-+	$(tls2_so_SOURCES) unit_debuglog.c \
-+	$(valgrind_cpp_test_SOURCES) vgprintf.c
- DIST_SOURCES = ansi.c args.c async-sigs.c bitfield1.c bug129866.c \
- 	bug234814.c closeall.c $(coolo_sigaction_SOURCES) \
- 	coolo_strlen.c discard.c exec-sigmask.c execve.c faultstatus.c \
-@@ -556,17 +560,18 @@
- 	$(libvexmultiarch_test_SOURCES) manythreads.c map_unaligned.c \
- 	map_unmap.c mmap_fcntl_bug.c mq.c munmap_exe.c nestedfns.c \
- 	pending.c ppoll_alarm.c process_vm_readv_writev.c \
--	procfs-cmdline-exe.c pselect_alarm.c pth_atfork1.c \
--	pth_blockedsig.c pth_cancel1.c pth_cancel2.c pth_cvsimple.c \
--	pth_empty.c pth_exit.c pth_exit2.c pth_mutexspeed.c pth_once.c \
--	pth_rwlock.c pth_stackalign.c rcrl.c readline1.c \
--	require-text-symbol.c res_search.c resolv.c rlimit64_nofile.c \
--	rlimit_nofile.c selfrun.c sem.c semlimit.c sha1_test.c \
--	shortpush.c shorts.c sigstackgrowth.c stackgrowth.c \
--	syscall-restart1.c syscall-restart2.c syslog.c system.c \
--	thread-exits.c threaded-fork.c threadederrno.c timestamp.c \
--	$(tls_SOURCES) $(tls_so_SOURCES) $(tls2_so_SOURCES) \
--	unit_debuglog.c $(valgrind_cpp_test_SOURCES) vgprintf.c
-+	procfs-cmdline-exe.c pselect_alarm.c pselect_sigmask_null.c \
-+	pth_atfork1.c pth_blockedsig.c pth_cancel1.c pth_cancel2.c \
-+	pth_cvsimple.c pth_empty.c pth_exit.c pth_exit2.c \
-+	pth_mutexspeed.c pth_once.c pth_rwlock.c pth_stackalign.c \
-+	rcrl.c readline1.c require-text-symbol.c res_search.c resolv.c \
-+	rlimit64_nofile.c rlimit_nofile.c selfrun.c sem.c semlimit.c \
-+	sha1_test.c shortpush.c shorts.c sigstackgrowth.c \
-+	stackgrowth.c syscall-restart1.c syscall-restart2.c syslog.c \
-+	system.c thread-exits.c threaded-fork.c threadederrno.c \
-+	timestamp.c $(tls_SOURCES) $(tls_so_SOURCES) \
-+	$(tls2_so_SOURCES) unit_debuglog.c \
-+	$(valgrind_cpp_test_SOURCES) vgprintf.c
- RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
- 	ctags-recursive dvi-recursive html-recursive info-recursive \
- 	install-data-recursive install-dvi-recursive \
-@@ -1087,6 +1092,8 @@
- 	procfs-non-linux.stderr.exp-with-readlinkat \
- 	procfs-non-linux.stderr.exp-without-readlinkat \
- 	pselect_alarm.stdout.exp pselect_alarm.stderr.exp pselect_alarm.vgtest \
-+	pselect_sigmask_null.vgtest \
-+	pselect_sigmask_null.stdout.exp pselect_sigmask_null.stderr.exp \
- 	pth_atfork1.stderr.exp pth_atfork1.stdout.exp pth_atfork1.vgtest \
- 	pth_blockedsig.stderr.exp \
- 	pth_blockedsig.stdout.exp pth_blockedsig.vgtest \
-@@ -1417,6 +1424,10 @@
- 	@rm -f pselect_alarm$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(pselect_alarm_OBJECTS) $(pselect_alarm_LDADD) $(LIBS)
- 
-+pselect_sigmask_null$(EXEEXT): $(pselect_sigmask_null_OBJECTS) $(pselect_sigmask_null_DEPENDENCIES) $(EXTRA_pselect_sigmask_null_DEPENDENCIES) 
-+	@rm -f pselect_sigmask_null$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(pselect_sigmask_null_OBJECTS) $(pselect_sigmask_null_LDADD) $(LIBS)
-+
- pth_atfork1$(EXEEXT): $(pth_atfork1_OBJECTS) $(pth_atfork1_DEPENDENCIES) $(EXTRA_pth_atfork1_DEPENDENCIES) 
- 	@rm -f pth_atfork1$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(pth_atfork1_OBJECTS) $(pth_atfork1_LDADD) $(LIBS)
-@@ -1630,6 +1641,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/process_vm_readv_writev.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/procfs-cmdline-exe.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pselect_alarm.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pselect_sigmask_null.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_atfork1.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_blockedsig.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_cancel1-pth_cancel1.Po@am__quote@
diff --git a/valgrind-3.11.0-pthread_barrier.patch b/valgrind-3.11.0-pthread_barrier.patch
deleted file mode 100644
index 5942115..0000000
--- a/valgrind-3.11.0-pthread_barrier.patch
+++ /dev/null
@@ -1,757 +0,0 @@
-commit f4d91a5df8b749c6cdfec25e38a44c02c90ad4be
-Author: Mark Wielaard <mjw@redhat.com>
-Date:   Tue Jan 19 15:13:47 2016 +0100
-
-    Bug #358213 helgrind/drd pthread_barrier tests vs new glibc implementation
-    
-    glibc 2.23 will have a new pthread_barrier implementation.
-    This implementation reacts differently on bad usage of barriers.
-    Because of this the bar_bad testcase will hang indefinitely.
-    In particular pthread_barrier_destroy will hang when there are
-    still other threads waiting on a barrier. To solve this we add
-    extra threads to will "unblock" the hanging destroy by sleeping
-    for a while and then also waiting on the barrier, which will unblock
-    the destroy operation. Or if this is the last test, just exit
-    the whole program since we are done anyway. Also newer glibc is
-    more picky about destroying uninitialized barriers, we would crash
-    when zero filling, so we now one fill. Which doesn't crash, but
-    depending on glibc version might return an error or hang. Since
-    depending on version we now get slightly different error reports
-    there are now alternative exp files.
-    
-    Tested against glibc 2.17, glibc 2.22 and glibc 2.23-prerelease.
-
-diff --git a/drd/tests/Makefile.am b/drd/tests/Makefile.am
-index 2885391..cfd74d0 100644
---- a/drd/tests/Makefile.am
-+++ b/drd/tests/Makefile.am
-@@ -81,8 +81,10 @@ EXTRA_DIST =                                        \
- 	atomic_var.stderr.exp			    \
- 	atomic_var.vgtest			    \
- 	bar_bad.stderr.exp			    \
-+	bar_bad.stderr.exp-nohang		    \
- 	bar_bad.vgtest				    \
- 	bar_bad_xml.stderr.exp			    \
-+	bar_bad_xml.stderr.exp-nohang		    \
- 	bar_bad_xml.vgtest			    \
- 	bar_trivial.stderr.exp			    \
- 	bar_trivial.stdout.exp			    \
-diff --git a/drd/tests/bar_bad.stderr.exp b/drd/tests/bar_bad.stderr.exp
-index 75f121f..3581b08 100644
---- a/drd/tests/bar_bad.stderr.exp
-+++ b/drd/tests/bar_bad.stderr.exp
-@@ -34,16 +34,5 @@ barrier 0x........ was first observed at:
- 
- 
- destroy a barrier that was never initialised
--Not a barrier
--   at 0x........: pthread_barrier_destroy (drd_pthread_intercepts.c:?)
--   by 0x........: main (bar_bad.c:?)
--
--Destruction of barrier that is being waited upon: barrier 0x........
--   at 0x........: free (vg_replace_malloc.c:...)
--   by 0x........: main (bar_bad.c:?)
--barrier 0x........ was first observed at:
--   at 0x........: pthread_barrier_init (drd_pthread_intercepts.c:?)
--   by 0x........: main (bar_bad.c:?)
--
- 
--ERROR SUMMARY: 7 errors from 6 contexts (suppressed: 0 from 0)
-+ERROR SUMMARY: 5 errors from 4 contexts (suppressed: 0 from 0)
-diff --git a/drd/tests/bar_bad.stderr.exp-nohang b/drd/tests/bar_bad.stderr.exp-nohang
-new file mode 100644
-index 0000000..44f9651
---- /dev/null
-+++ b/drd/tests/bar_bad.stderr.exp-nohang
-@@ -0,0 +1,42 @@
-+
-+
-+initialise a barrier with zero count
-+pthread_barrier_init: 'count' argument is zero: barrier 0x........
-+   at 0x........: pthread_barrier_init (drd_pthread_intercepts.c:?)
-+   by 0x........: main (bar_bad.c:?)
-+
-+
-+initialise a barrier twice
-+Barrier reinitialization: barrier 0x........
-+   at 0x........: pthread_barrier_init (drd_pthread_intercepts.c:?)
-+   by 0x........: main (bar_bad.c:?)
-+barrier 0x........ was first observed at:
-+   at 0x........: pthread_barrier_init (drd_pthread_intercepts.c:?)
-+   by 0x........: main (bar_bad.c:?)
-+
-+
-+initialise a barrier which has threads waiting on it
-+Barrier reinitialization: barrier 0x........
-+   at 0x........: pthread_barrier_init (drd_pthread_intercepts.c:?)
-+   by 0x........: main (bar_bad.c:?)
-+barrier 0x........ was first observed at:
-+   at 0x........: pthread_barrier_init (drd_pthread_intercepts.c:?)
-+   by 0x........: main (bar_bad.c:?)
-+
-+
-+destroy a barrier that has waiting threads
-+Destruction of a barrier with active waiters: barrier 0x........
-+   at 0x........: pthread_barrier_destroy (drd_pthread_intercepts.c:?)
-+   by 0x........: main (bar_bad.c:?)
-+barrier 0x........ was first observed at:
-+   at 0x........: pthread_barrier_init (drd_pthread_intercepts.c:?)
-+   by 0x........: main (bar_bad.c:?)
-+
-+
-+destroy a barrier that was never initialised
-+Not a barrier
-+   at 0x........: pthread_barrier_destroy (drd_pthread_intercepts.c:?)
-+   by 0x........: main (bar_bad.c:?)
-+
-+
-+ERROR SUMMARY: 6 errors from 5 contexts (suppressed: 0 from 0)
-diff --git a/drd/tests/bar_bad_xml.stderr.exp b/drd/tests/bar_bad_xml.stderr.exp
-index acb9656..8539f75 100644
---- a/drd/tests/bar_bad_xml.stderr.exp
-+++ b/drd/tests/bar_bad_xml.stderr.exp
-@@ -204,78 +204,6 @@ destroy a barrier that has waiting threads
- 
- 
- destroy a barrier that was never initialised
--<error>
--  <unique>0x........</unique>
--  <tid>...</tid>
--  <kind>GenericErr</kind>
--  <what>Not a barrier</what>
--  <stack>
--    <frame>
--      <ip>0x........</ip>
--      <obj>...</obj>
--      <fn>pthread_barrier_destroy</fn>
--      <dir>...</dir>
--      <file>drd_pthread_intercepts.c</file>
--      <line>...</line>
--    </frame>
--    <frame>
--      <ip>0x........</ip>
--      <obj>...</obj>
--      <fn>main</fn>
--      <dir>...</dir>
--      <file>bar_bad.c</file>
--      <line>...</line>
--    </frame>
--  </stack>
--</error>
--
--<error>
--  <unique>0x........</unique>
--  <tid>...</tid>
--  <kind>BarrierErr</kind>
--  <what>Destruction of barrier that is being waited upon: barrier 0x........</what>
--  <stack>
--    <frame>
--      <ip>0x........</ip>
--      <obj>...</obj>
--      <fn>free</fn>
--      <dir>...</dir>
--      <file>vg_replace_malloc.c</file>
--      <line>...</line>
--    </frame>
--    <frame>
--      <ip>0x........</ip>
--      <obj>...</obj>
--      <fn>main</fn>
--      <dir>...</dir>
--      <file>bar_bad.c</file>
--      <line>...</line>
--    </frame>
--  </stack>
--  <first_observed_at>
--    <what>barrier</what>
--    <address>0x........</address>
--  <stack>
--    <frame>
--      <ip>0x........</ip>
--      <obj>...</obj>
--      <fn>pthread_barrier_init</fn>
--      <dir>...</dir>
--      <file>drd_pthread_intercepts.c</file>
--      <line>...</line>
--    </frame>
--    <frame>
--      <ip>0x........</ip>
--      <obj>...</obj>
--      <fn>main</fn>
--      <dir>...</dir>
--      <file>bar_bad.c</file>
--      <line>...</line>
--    </frame>
--  </stack>
--  </first_observed_at>
--</error>
--
- 
- <status>
-   <state>FINISHED</state>
-@@ -299,14 +227,6 @@ destroy a barrier that was never initialised
-     <count>...</count>
-     <unique>0x........</unique>
-   </pair>
--  <pair>
--    <count>...</count>
--    <unique>0x........</unique>
--  </pair>
--  <pair>
--    <count>...</count>
--    <unique>0x........</unique>
--  </pair>
- </errorcounts>
- 
- <suppcounts>...</suppcounts>
-diff --git a/drd/tests/bar_bad_xml.stderr.exp-nohang b/drd/tests/bar_bad_xml.stderr.exp-nohang
-new file mode 100644
-index 0000000..a47cd60
---- /dev/null
-+++ b/drd/tests/bar_bad_xml.stderr.exp-nohang
-@@ -0,0 +1,264 @@
-+<?xml version="1.0"?>
-+
-+<valgrindoutput>
-+
-+<protocolversion>4</protocolversion>
-+<protocoltool>drd</protocoltool>
-+
-+<preamble>
-+  <line>...</line>
-+  <line>...</line>
-+  <line>...</line>
-+  <line>...</line>
-+</preamble>
-+
-+<pid>...</pid>
-+<ppid>...</ppid>
-+<tool>drd</tool>
-+
-+<args>
-+  <vargv>...</vargv>
-+  <argv>
-+    <exe>./../../helgrind/tests/bar_bad</exe>
-+  </argv>
-+</args>
-+
-+<status>
-+  <state>RUNNING</state>
-+  <time>...</time>
-+</status>
-+
-+
-+initialise a barrier with zero count
-+<error>
-+  <unique>0x........</unique>
-+  <tid>...</tid>
-+  <kind>BarrierErr</kind>
-+  <what>pthread_barrier_init: 'count' argument is zero: barrier 0x........</what>
-+  <stack>
-+    <frame>
-+      <ip>0x........</ip>
-+      <obj>...</obj>
-+      <fn>pthread_barrier_init</fn>
-+      <dir>...</dir>
-+      <file>drd_pthread_intercepts.c</file>
-+      <line>...</line>
-+    </frame>
-+    <frame>
-+      <ip>0x........</ip>
-+      <obj>...</obj>
-+      <fn>main</fn>
-+      <dir>...</dir>
-+      <file>bar_bad.c</file>
-+      <line>...</line>
-+    </frame>
-+  </stack>
-+</error>
-+
-+
-+initialise a barrier twice
-+<error>
-+  <unique>0x........</unique>
-+  <tid>...</tid>
-+  <kind>BarrierErr</kind>
-+  <what>Barrier reinitialization: barrier 0x........</what>
-+  <stack>
-+    <frame>
-+      <ip>0x........</ip>
-+      <obj>...</obj>
-+      <fn>pthread_barrier_init</fn>
-+      <dir>...</dir>
-+      <file>drd_pthread_intercepts.c</file>
-+      <line>...</line>
-+    </frame>
-+    <frame>
-+      <ip>0x........</ip>
-+      <obj>...</obj>
-+      <fn>main</fn>
-+      <dir>...</dir>
-+      <file>bar_bad.c</file>
-+      <line>...</line>
-+    </frame>
-+  </stack>
-+  <first_observed_at>
-+    <what>barrier</what>
-+    <address>0x........</address>
-+  <stack>
-+    <frame>
-+      <ip>0x........</ip>
-+      <obj>...</obj>
-+      <fn>pthread_barrier_init</fn>
-+      <dir>...</dir>
-+      <file>drd_pthread_intercepts.c</file>
-+      <line>...</line>
-+    </frame>
-+    <frame>
-+      <ip>0x........</ip>
-+      <obj>...</obj>
-+      <fn>main</fn>
-+      <dir>...</dir>
-+      <file>bar_bad.c</file>
-+      <line>...</line>
-+    </frame>
-+  </stack>
-+  </first_observed_at>
-+</error>
-+
-+
-+initialise a barrier which has threads waiting on it
-+<error>
-+  <unique>0x........</unique>
-+  <tid>...</tid>
-+  <kind>BarrierErr</kind>
-+  <what>Barrier reinitialization: barrier 0x........</what>
-+  <stack>
-+    <frame>
-+      <ip>0x........</ip>
-+      <obj>...</obj>
-+      <fn>pthread_barrier_init</fn>
-+      <dir>...</dir>
-+      <file>drd_pthread_intercepts.c</file>
-+      <line>...</line>
-+    </frame>
-+    <frame>
-+      <ip>0x........</ip>
-+      <obj>...</obj>
-+      <fn>main</fn>
-+      <dir>...</dir>
-+      <file>bar_bad.c</file>
-+      <line>...</line>
-+    </frame>
-+  </stack>
-+  <first_observed_at>
-+    <what>barrier</what>
-+    <address>0x........</address>
-+  <stack>
-+    <frame>
-+      <ip>0x........</ip>
-+      <obj>...</obj>
-+      <fn>pthread_barrier_init</fn>
-+      <dir>...</dir>
-+      <file>drd_pthread_intercepts.c</file>
-+      <line>...</line>
-+    </frame>
-+    <frame>
-+      <ip>0x........</ip>
-+      <obj>...</obj>
-+      <fn>main</fn>
-+      <dir>...</dir>
-+      <file>bar_bad.c</file>
-+      <line>...</line>
-+    </frame>
-+  </stack>
-+  </first_observed_at>
-+</error>
-+
-+
-+destroy a barrier that has waiting threads
-+<error>
-+  <unique>0x........</unique>
-+  <tid>...</tid>
-+  <kind>BarrierErr</kind>
-+  <what>Destruction of a barrier with active waiters: barrier 0x........</what>
-+  <stack>
-+    <frame>
-+      <ip>0x........</ip>
-+      <obj>...</obj>
-+      <fn>pthread_barrier_destroy</fn>
-+      <dir>...</dir>
-+      <file>drd_pthread_intercepts.c</file>
-+      <line>...</line>
-+    </frame>
-+    <frame>
-+      <ip>0x........</ip>
-+      <obj>...</obj>
-+      <fn>main</fn>
-+      <dir>...</dir>
-+      <file>bar_bad.c</file>
-+      <line>...</line>
-+    </frame>
-+  </stack>
-+  <first_observed_at>
-+    <what>barrier</what>
-+    <address>0x........</address>
-+  <stack>
-+    <frame>
-+      <ip>0x........</ip>
-+      <obj>...</obj>
-+      <fn>pthread_barrier_init</fn>
-+      <dir>...</dir>
-+      <file>drd_pthread_intercepts.c</file>
-+      <line>...</line>
-+    </frame>
-+    <frame>
-+      <ip>0x........</ip>
-+      <obj>...</obj>
-+      <fn>main</fn>
-+      <dir>...</dir>
-+      <file>bar_bad.c</file>
-+      <line>...</line>
-+    </frame>
-+  </stack>
-+  </first_observed_at>
-+</error>
-+
-+
-+destroy a barrier that was never initialised
-+<error>
-+  <unique>0x........</unique>
-+  <tid>...</tid>
-+  <kind>GenericErr</kind>
-+  <what>Not a barrier</what>
-+  <stack>
-+    <frame>
-+      <ip>0x........</ip>
-+      <obj>...</obj>
-+      <fn>pthread_barrier_destroy</fn>
-+      <dir>...</dir>
-+      <file>drd_pthread_intercepts.c</file>
-+      <line>...</line>
-+    </frame>
-+    <frame>
-+      <ip>0x........</ip>
-+      <obj>...</obj>
-+      <fn>main</fn>
-+      <dir>...</dir>
-+      <file>bar_bad.c</file>
-+      <line>...</line>
-+    </frame>
-+  </stack>
-+</error>
-+
-+
-+<status>
-+  <state>FINISHED</state>
-+  <time>...</time>
-+</status>
-+
-+<errorcounts>
-+  <pair>
-+    <count>...</count>
-+    <unique>0x........</unique>
-+  </pair>
-+  <pair>
-+    <count>...</count>
-+    <unique>0x........</unique>
-+  </pair>
-+  <pair>
-+    <count>...</count>
-+    <unique>0x........</unique>
-+  </pair>
-+  <pair>
-+    <count>...</count>
-+    <unique>0x........</unique>
-+  </pair>
-+  <pair>
-+    <count>...</count>
-+    <unique>0x........</unique>
-+  </pair>
-+</errorcounts>
-+
-+<suppcounts>...</suppcounts>
-+
-+</valgrindoutput>
-+
-diff --git a/helgrind/tests/Makefile.am b/helgrind/tests/Makefile.am
-index 8a0d6e6..df82169 100644
---- a/helgrind/tests/Makefile.am
-+++ b/helgrind/tests/Makefile.am
-@@ -19,6 +19,7 @@ EXTRA_DIST = \
- 	cond_timedwait_test.vgtest cond_timedwait_test.stdout.exp \
- 		cond_timedwait_test.stderr.exp \
- 	bar_bad.vgtest bar_bad.stdout.exp bar_bad.stderr.exp \
-+		bar_bad.stderr.exp-destroy-hang \
- 	bar_trivial.vgtest bar_trivial.stdout.exp bar_trivial.stderr.exp \
- 	free_is_write.vgtest free_is_write.stdout.exp \
- 		free_is_write.stderr.exp \
-diff --git a/helgrind/tests/bar_bad.c b/helgrind/tests/bar_bad.c
-index dd6079c..424ae2f 100644
---- a/helgrind/tests/bar_bad.c
-+++ b/helgrind/tests/bar_bad.c
-@@ -15,23 +15,27 @@ void* child1 ( void* arg )
-    return NULL;
- }
- 
-+void *sleep1 ( void* arg )
-+{
-+   /* Long sleep, we hope to never trigger. */
-+   sleep (6);
-+   pthread_barrier_wait ( (pthread_barrier_t*)arg );
-+   return NULL;
-+}
-+
-+void *exit1 ( void* arg )
-+{
-+   /* Sleep a bit, then exit, we are done. */
-+   sleep (1);
-+   exit (0);
-+   return NULL;
-+}
-+
- int main ( void )
- {
-   pthread_barrier_t *bar1, *bar2, *bar3, *bar4, *bar5;
--  pthread_t thr1, thr2;
-   int r;
--
--  /* possibly set up a watchdog timer thread here. */
--
--
--
--
--
--
--
--
--
--
-+  pthread_t thr1, thr2, slp1, slp2, ext1;
- 
-   /* initialise a barrier with a zero count */
-   fprintf(stderr, "\ninitialise a barrier with zero count\n");
-@@ -49,6 +53,9 @@ int main ( void )
-   fprintf(stderr, "\ninitialise a barrier which has threads waiting on it\n");
-   bar3 = malloc(sizeof(pthread_barrier_t));
-   pthread_barrier_init(bar3, NULL, 2);
-+  /* create a thread, whose purpose is to "unblock" the barrier after
-+     some sleeping in case it keeps being blocked.  */
-+  pthread_create(&slp1, NULL, sleep1, (void*)bar3);
-   /* create a thread, whose only purpose is to block on the barrier */
-   pthread_create(&thr1, NULL, child1, (void*)bar3);
-   /* guarantee that it gets there first */
-@@ -61,6 +68,12 @@ int main ( void )
-   /* once again, create a thread, whose only purpose is to block. */
-   bar4 = malloc(sizeof(pthread_barrier_t));
-   pthread_barrier_init(bar4, NULL, 2);
-+  /* create a thread, whose purpose is to "unblock" the barrier after
-+     some sleeping in case it keeps being blocked. We hope it isn't
-+     needed, but if it is, because pthread_barier_destroy hangs
-+     and we will get an extra warning about the barrier being already
-+     destroyed. */
-+  pthread_create(&slp2, NULL, sleep1, (void*)bar4);
-   /* create a thread, whose only purpose is to block on the barrier */
-   pthread_create(&thr2, NULL, child1, (void*)bar4);
-   /* guarantee that it gets there first */
-@@ -70,13 +83,16 @@ int main ( void )
- 
-   /* destroy a barrier that was never initialised.  This is a bit
-      tricky, in that we have to fill the barrier with bytes which
--     ensure that the pthread_barrier_destroy call doesn't hang for
--     some reason.  Zero-fill seems to work ok on amd64-linux (glibc
-+     ensure that the pthread_barrier_destroy call doesn't crash for
-+     some reason.  One-fill seems to work ok on amd64-linux (glibc
-      2.8). */
-   fprintf(stderr, "\ndestroy a barrier that was never initialised\n");
-+  /* Create a thread that just exits the process after some sleep.
-+     We are really done at this point, even if we hang. */
-+  pthread_create(&ext1, NULL, exit1, NULL);
-   bar5 = malloc(sizeof(pthread_barrier_t));
-   assert(bar5);
--  memset(bar5, 0, sizeof(*bar5));
-+  memset(bar5, 1, sizeof(*bar5));
-   pthread_barrier_destroy(bar5);
- 
-   /* now we need to clean up the mess .. */
-@@ -85,5 +101,6 @@ int main ( void )
- 
-   free(bar1); free(bar2); free(bar3); free(bar4); free(bar5);
- 
--  return 0;
-+  /* Use exit, we want to kill any "sleeper threads". */
-+  exit (0);
- }
-diff --git a/helgrind/tests/bar_bad.stderr.exp b/helgrind/tests/bar_bad.stderr.exp
-index 74af4fa..d0901b2 100644
---- a/helgrind/tests/bar_bad.stderr.exp
-+++ b/helgrind/tests/bar_bad.stderr.exp
-@@ -8,14 +8,14 @@ Thread #x is the program's root thread
- 
- Thread #x: pthread_barrier_init: 'count' argument is zero
-    at 0x........: pthread_barrier_init (hg_intercepts.c:...)
--   by 0x........: main (bar_bad.c:39)
-+   by 0x........: main (bar_bad.c:43)
- 
- ----------------------------------------------------------------
- 
- Thread #x's call to pthread_barrier_init failed
-    with error code 22 (EINVAL: Invalid argument)
-    at 0x........: pthread_barrier_init (hg_intercepts.c:...)
--   by 0x........: main (bar_bad.c:39)
-+   by 0x........: main (bar_bad.c:43)
- 
- 
- initialise a barrier twice
-@@ -23,7 +23,7 @@ initialise a barrier twice
- 
- Thread #x: pthread_barrier_init: barrier is already initialised
-    at 0x........: pthread_barrier_init (hg_intercepts.c:...)
--   by 0x........: main (bar_bad.c:45)
-+   by 0x........: main (bar_bad.c:49)
- 
- 
- initialise a barrier which has threads waiting on it
-@@ -31,13 +31,13 @@ initialise a barrier which has threads waiting on it
- 
- Thread #x: pthread_barrier_init: barrier is already initialised
-    at 0x........: pthread_barrier_init (hg_intercepts.c:...)
--   by 0x........: main (bar_bad.c:57)
-+   by 0x........: main (bar_bad.c:64)
- 
- ----------------------------------------------------------------
- 
- Thread #x: pthread_barrier_init: threads are waiting at barrier
-    at 0x........: pthread_barrier_init (hg_intercepts.c:...)
--   by 0x........: main (bar_bad.c:57)
-+   by 0x........: main (bar_bad.c:64)
- 
- 
- destroy a barrier that has waiting threads
-@@ -45,14 +45,14 @@ destroy a barrier that has waiting threads
- 
- Thread #x: pthread_barrier_destroy: threads are waiting at barrier
-    at 0x........: pthread_barrier_destroy (hg_intercepts.c:...)
--   by 0x........: main (bar_bad.c:69)
-+   by 0x........: main (bar_bad.c:82)
- 
- ----------------------------------------------------------------
- 
- Thread #x's call to pthread_barrier_destroy failed
-    with error code 16 (EBUSY: Device or resource busy)
-    at 0x........: pthread_barrier_destroy (hg_intercepts.c:...)
--   by 0x........: main (bar_bad.c:69)
-+   by 0x........: main (bar_bad.c:82)
- 
- 
- destroy a barrier that was never initialised
-@@ -60,5 +60,5 @@ destroy a barrier that was never initialised
- 
- Thread #x: pthread_barrier_destroy: barrier was never initialised
-    at 0x........: pthread_barrier_destroy (hg_intercepts.c:...)
--   by 0x........: main (bar_bad.c:80)
-+   by 0x........: main (bar_bad.c:96)
- 
-diff --git a/helgrind/tests/bar_bad.stderr.exp-destroy-hang b/helgrind/tests/bar_bad.stderr.exp-destroy-hang
-new file mode 100644
-index 0000000..ddf5624
---- /dev/null
-+++ b/helgrind/tests/bar_bad.stderr.exp-destroy-hang
-@@ -0,0 +1,72 @@
-+
-+initialise a barrier with zero count
-+---Thread-Announcement------------------------------------------
-+
-+Thread #x is the program's root thread
-+
-+----------------------------------------------------------------
-+
-+Thread #x: pthread_barrier_init: 'count' argument is zero
-+   at 0x........: pthread_barrier_init (hg_intercepts.c:...)
-+   by 0x........: main (bar_bad.c:43)
-+
-+----------------------------------------------------------------
-+
-+Thread #x's call to pthread_barrier_init failed
-+   with error code 22 (EINVAL: Invalid argument)
-+   at 0x........: pthread_barrier_init (hg_intercepts.c:...)
-+   by 0x........: main (bar_bad.c:43)
-+
-+
-+initialise a barrier twice
-+----------------------------------------------------------------
-+
-+Thread #x: pthread_barrier_init: barrier is already initialised
-+   at 0x........: pthread_barrier_init (hg_intercepts.c:...)
-+   by 0x........: main (bar_bad.c:49)
-+
-+
-+initialise a barrier which has threads waiting on it
-+----------------------------------------------------------------
-+
-+Thread #x: pthread_barrier_init: barrier is already initialised
-+   at 0x........: pthread_barrier_init (hg_intercepts.c:...)
-+   by 0x........: main (bar_bad.c:64)
-+
-+----------------------------------------------------------------
-+
-+Thread #x: pthread_barrier_init: threads are waiting at barrier
-+   at 0x........: pthread_barrier_init (hg_intercepts.c:...)
-+   by 0x........: main (bar_bad.c:64)
-+
-+
-+destroy a barrier that has waiting threads
-+----------------------------------------------------------------
-+
-+Thread #x: pthread_barrier_destroy: threads are waiting at barrier
-+   at 0x........: pthread_barrier_destroy (hg_intercepts.c:...)
-+   by 0x........: main (bar_bad.c:82)
-+
-+---Thread-Announcement------------------------------------------
-+
-+Thread #x was created
-+   ...
-+   by 0x........: pthread_create@* (hg_intercepts.c:...)
-+   by 0x........: main (bar_bad.c:76)
-+
-+----------------------------------------------------------------
-+
-+Thread #x: pthread_barrier_wait: barrier is uninitialised
-+   at 0x........: pthread_barrier_wait (hg_intercepts.c:...)
-+   by 0x........: sleep1 (bar_bad.c:22)
-+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
-+   ...
-+
-+
-+destroy a barrier that was never initialised
-+----------------------------------------------------------------
-+
-+Thread #x: pthread_barrier_destroy: barrier was never initialised
-+   at 0x........: pthread_barrier_destroy (hg_intercepts.c:...)
-+   by 0x........: main (bar_bad.c:96)
-+
-diff -ur valgrind-3.11.0.orig/drd/tests/Makefile.in valgrind-3.11.0/drd/tests/Makefile.in
---- valgrind-3.11.0.orig/drd/tests/Makefile.in	2016-01-25 21:16:13.095563405 +0100
-+++ valgrind-3.11.0/drd/tests/Makefile.in	2016-01-25 21:17:33.386330569 +0100
-@@ -1084,8 +1084,10 @@
- 	atomic_var.stderr.exp			    \
- 	atomic_var.vgtest			    \
- 	bar_bad.stderr.exp			    \
-+	bar_bad.stderr.exp-nohang		    \
- 	bar_bad.vgtest				    \
- 	bar_bad_xml.stderr.exp			    \
-+	bar_bad_xml.stderr.exp-nohang		    \
- 	bar_bad_xml.vgtest			    \
- 	bar_trivial.stderr.exp			    \
- 	bar_trivial.stdout.exp			    \
-diff -ur valgrind-3.11.0.orig/helgrind/tests/Makefile.in valgrind-3.11.0/helgrind/tests/Makefile.in
---- valgrind-3.11.0.orig/helgrind/tests/Makefile.in	2016-01-25 21:16:12.883564020 +0100
-+++ valgrind-3.11.0/helgrind/tests/Makefile.in	2016-01-25 21:17:34.266328017 +0100
-@@ -835,6 +835,7 @@
- 	cond_timedwait_test.vgtest cond_timedwait_test.stdout.exp \
- 		cond_timedwait_test.stderr.exp \
- 	bar_bad.vgtest bar_bad.stdout.exp bar_bad.stderr.exp \
-+		bar_bad.stderr.exp-destroy-hang \
- 	bar_trivial.vgtest bar_trivial.stdout.exp bar_trivial.stderr.exp \
- 	free_is_write.vgtest free_is_write.stdout.exp \
- 		free_is_write.stderr.exp \
diff --git a/valgrind-3.11.0-pthread_spin_destroy.patch b/valgrind-3.11.0-pthread_spin_destroy.patch
deleted file mode 100644
index 1e83e18..0000000
--- a/valgrind-3.11.0-pthread_spin_destroy.patch
+++ /dev/null
@@ -1,1244 +0,0 @@
-commit c69445c1e07425e827ce936d7c416f7972b51aa2
-Author: iraisr <iraisr@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Tue Jan 12 20:31:15 2016 +0000
-
-    Fix typo in Helgrind's wrapper of pthread_spin_destroy().
-    Patch provided by: Jason Dillaman <dillaman@redhat.com>.
-    Fixes BZ #357871.
-    
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15756 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/helgrind/hg_intercepts.c b/helgrind/hg_intercepts.c
-index fd53208..ff36e93 100644
---- a/helgrind/hg_intercepts.c
-+++ b/helgrind/hg_intercepts.c
-@@ -1854,13 +1854,13 @@ static int pthread_spin_destroy_WRK(pthread_spinlock_t *lock)
-    return ret;
- }
- #if defined(VGO_linux)
--   PTH_FUNC(int, pthreadZuspinZusdestroy, // pthread_spin_destroy
-+   PTH_FUNC(int, pthreadZuspinZudestroy, // pthread_spin_destroy
-             pthread_spinlock_t *lock) {
-       return pthread_spin_destroy_WRK(lock);
-    }
- #elif defined(VGO_darwin)
- #elif defined(VGO_solaris)
--   PTH_FUNC(int, pthreadZuspinZusdestroy, // pthread_spin_destroy
-+   PTH_FUNC(int, pthreadZuspinZudestroy, // pthread_spin_destroy
-             pthread_spinlock_t *lock) {
-       return pthread_spin_destroy_WRK(lock);
-    }
-diff --git a/helgrind/tests/tc20_verifywrap.c b/helgrind/tests/tc20_verifywrap.c
-index f71c7f8..c110000 100644
---- a/helgrind/tests/tc20_verifywrap.c
-+++ b/helgrind/tests/tc20_verifywrap.c
-@@ -29,6 +29,11 @@
- #endif
- #endif /* __sun__ */
- 
-+typedef union {
-+   pthread_spinlock_t spinlock;
-+   pthread_rwlock_t rwlock;
-+} spin_rw_lock;
-+
- short unprotected = 0;
- 
- void* lazy_child ( void* v ) {
-@@ -236,6 +241,20 @@ int main ( void )
-    r= pthread_rwlock_init( &rwl3, NULL ); assert(!r);
-    r= pthread_rwlock_rdlock( &rwl3 ); assert(!r);
- 
-+   /* --------- pthread_spin_* --------- */
-+
-+   fprintf(stderr,
-+   "\n---------------- pthread_spin_* ----------------\n\n");
-+
-+   /* The following sequence verifies correct wrapping of pthread_spin_init()
-+      and pthread_spin_destroy(). */
-+   spin_rw_lock srwl1;
-+   pthread_spin_init(&srwl1.spinlock, PTHREAD_PROCESS_PRIVATE);
-+   pthread_spin_destroy(&srwl1.spinlock);
-+
-+   pthread_rwlock_init(&srwl1.rwlock, NULL);
-+   pthread_rwlock_destroy(&srwl1.rwlock);
-+
-    /* ------------- sem_* ------------- */
- 
-    /* This is pretty lame, and duplicates tc18_semabuse.c. */
-diff --git a/helgrind/tests/tc20_verifywrap.stderr.exp b/helgrind/tests/tc20_verifywrap.stderr.exp
-index d9019d4..372daea 100644
---- a/helgrind/tests/tc20_verifywrap.stderr.exp
-+++ b/helgrind/tests/tc20_verifywrap.stderr.exp
-@@ -14,21 +14,21 @@ Thread #x is the program's root thread
- Thread #x was created
-    ...
-    by 0x........: pthread_create@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:81)
-+   by 0x........: main (tc20_verifywrap.c:86)
- 
- ----------------------------------------------------------------
- 
- Possible data race during write of size 2 at 0x........ by thread #x
- Locks held: none
--   at 0x........: main (tc20_verifywrap.c:83)
-+   at 0x........: main (tc20_verifywrap.c:88)
- 
- This conflicts with a previous write of size 2 by thread #x
- Locks held: none
--   at 0x........: racy_child (tc20_verifywrap.c:39)
-+   at 0x........: racy_child (tc20_verifywrap.c:44)
-    by 0x........: mythread_wrapper (hg_intercepts.c:...)
-    ...
-  Location 0x........ is 0 bytes inside global var "unprotected"
-- declared at tc20_verifywrap.c:32
-+ declared at tc20_verifywrap.c:37
- 
- ----------------------------------------------------------------
- 
-@@ -36,7 +36,7 @@ Thread #x's call to pthread_join failed
-    with error code 35 (EDEADLK: Resource deadlock would occur)
-    at 0x........: pthread_join_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_join (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:88)
-+   by 0x........: main (tc20_verifywrap.c:93)
- 
- 
- ---------------- pthread_mutex_lock et al ----------------
-@@ -46,14 +46,14 @@ Thread #x's call to pthread_join failed
- Thread #x's call to pthread_mutex_init failed
-    with error code 95 (EOPNOTSUPP: Operation not supported on transport endpoint)
-    at 0x........: pthread_mutex_init (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:102)
-+   by 0x........: main (tc20_verifywrap.c:107)
- 
- ----------------------------------------------------------------
- 
- Thread #x: pthread_mutex_destroy of a locked mutex
-    at 0x........: mutex_destroy_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:112)
-+   by 0x........: main (tc20_verifywrap.c:117)
- 
- ----------------------------------------------------------------
- 
-@@ -61,7 +61,7 @@ Thread #x's call to pthread_mutex_destroy failed
-    with error code 16 (EBUSY: Device or resource busy)
-    at 0x........: mutex_destroy_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:112)
-+   by 0x........: main (tc20_verifywrap.c:117)
- 
- ----------------------------------------------------------------
- 
-@@ -69,7 +69,7 @@ Thread #x's call to pthread_mutex_lock failed
-    with error code 22 (EINVAL: Invalid argument)
-    at 0x........: mutex_lock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_mutex_lock (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:118)
-+   by 0x........: main (tc20_verifywrap.c:123)
- 
- ----------------------------------------------------------------
- 
-@@ -77,7 +77,7 @@ Thread #x's call to pthread_mutex_trylock failed
-    with error code 22 (EINVAL: Invalid argument)
-    at 0x........: mutex_trylock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_mutex_trylock (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:126)
-+   by 0x........: main (tc20_verifywrap.c:131)
- 
- ----------------------------------------------------------------
- 
-@@ -85,14 +85,14 @@ Thread #x's call to pthread_mutex_timedlock failed
-    with error code 22 (EINVAL: Invalid argument)
-    at 0x........: mutex_timedlock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_mutex_timedlock (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:131)
-+   by 0x........: main (tc20_verifywrap.c:136)
- 
- ----------------------------------------------------------------
- 
- Thread #x unlocked an invalid lock at 0x........
-    at 0x........: mutex_unlock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:135)
-+   by 0x........: main (tc20_verifywrap.c:140)
- 
- ----------------------------------------------------------------
- 
-@@ -100,7 +100,7 @@ Thread #x's call to pthread_mutex_unlock failed
-    with error code 22 (EINVAL: Invalid argument)
-    at 0x........: mutex_unlock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:135)
-+   by 0x........: main (tc20_verifywrap.c:140)
- 
- 
- ---------------- pthread_cond_wait et al ----------------
-@@ -110,7 +110,7 @@ Thread #x's call to pthread_mutex_unlock failed
- Thread #x: pthread_cond_{timed}wait called with un-held mutex
-    at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:157)
-+   by 0x........: main (tc20_verifywrap.c:162)
- 
- ----------------------------------------------------------------
- 
-@@ -118,14 +118,14 @@ Thread #x's call to pthread_cond_wait failed
-    with error code 1 (EPERM: Operation not permitted)
-    at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:157)
-+   by 0x........: main (tc20_verifywrap.c:162)
- 
- ----------------------------------------------------------------
- 
- Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
-    at 0x........: pthread_cond_signal_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_cond_signal@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:162)
-+   by 0x........: main (tc20_verifywrap.c:167)
- 
- 
- FIXME: can't figure out how to verify wrap of pthread_cond_signal
-@@ -135,7 +135,7 @@ FIXME: can't figure out how to verify wrap of pthread_cond_signal
- Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
-    at 0x........: pthread_cond_broadcast_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_cond_broadcast@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:168)
-+   by 0x........: main (tc20_verifywrap.c:173)
- 
- 
- FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
-@@ -145,7 +145,7 @@ FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
- Thread #x: pthread_cond_{timed}wait called with un-held mutex
-    at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:175)
-+   by 0x........: main (tc20_verifywrap.c:180)
- 
- ----------------------------------------------------------------
- 
-@@ -153,7 +153,7 @@ Thread #x's call to pthread_cond_timedwait failed
-    with error code 22 (EINVAL: Invalid argument)
-    at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:175)
-+   by 0x........: main (tc20_verifywrap.c:180)
- 
- 
- ---------------- pthread_rwlock_* ----------------
-@@ -164,13 +164,13 @@ Thread #x unlocked a not-locked lock at 0x........
-    at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
-    ...
--   by 0x........: main (tc20_verifywrap.c:189)
-+   by 0x........: main (tc20_verifywrap.c:194)
-  Lock at 0x........ was first observed
-    at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:188)
-+   by 0x........: main (tc20_verifywrap.c:193)
-  Location 0x........ is 0 bytes inside local var "rwl"
-- declared at tc20_verifywrap.c:52, in frame #x of thread x
-+ declared at tc20_verifywrap.c:57, in frame #x of thread x
- 
- 
- (1) no error on next line
-@@ -182,13 +182,13 @@ Thread #x unlocked a not-locked lock at 0x........
-    at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
-    ...
--   by 0x........: main (tc20_verifywrap.c:206)
-+   by 0x........: main (tc20_verifywrap.c:211)
-  Lock at 0x........ was first observed
-    at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:196)
-+   by 0x........: main (tc20_verifywrap.c:201)
-  Location 0x........ is 0 bytes inside local var "rwl2"
-- declared at tc20_verifywrap.c:53, in frame #x of thread x
-+ declared at tc20_verifywrap.c:58, in frame #x of thread x
- 
- 
- (4) no error on next line
-@@ -202,14 +202,17 @@ Thread #x unlocked a not-locked lock at 0x........
-    at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
-    ...
--   by 0x........: main (tc20_verifywrap.c:227)
-+   by 0x........: main (tc20_verifywrap.c:232)
-  Lock at 0x........ was first observed
-    at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:196)
-+   by 0x........: main (tc20_verifywrap.c:201)
-  Location 0x........ is 0 bytes inside local var "rwl2"
-- declared at tc20_verifywrap.c:53, in frame #x of thread x
-+ declared at tc20_verifywrap.c:58, in frame #x of thread x
-+
-+
- 
-+---------------- pthread_spin_* ----------------
- 
- 
- ---------------- sem_* ----------------
-@@ -220,7 +223,7 @@ Thread #x's call to sem_init failed
-    with error code 22 (EINVAL: Invalid argument)
-    at 0x........: sem_init_WRK (hg_intercepts.c:...)
-    by 0x........: sem_init@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:248)
-+   by 0x........: main (tc20_verifywrap.c:267)
- 
- 
- FIXME: can't figure out how to verify wrap of sem_destroy
-@@ -230,7 +233,7 @@ FIXME: can't figure out how to verify wrap of sem_destroy
- Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post
-    at 0x........: sem_wait_WRK (hg_intercepts.c:...)
-    by 0x........: sem_wait (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:262)
-+   by 0x........: main (tc20_verifywrap.c:281)
- 
- ----------------------------------------------------------------
- 
-@@ -239,7 +242,7 @@ Thread #x's call to sem_post failed
-    at 0x........: sem_post_WRK (hg_intercepts.c:...)
-    by 0x........: sem_post (hg_intercepts.c:...)
-    ...
--   by 0x........: main (tc20_verifywrap.c:265)
-+   by 0x........: main (tc20_verifywrap.c:284)
- 
- 
- FIXME: can't figure out how to verify wrap of sem_post
-diff --git a/helgrind/tests/tc20_verifywrap.stderr.exp-glibc-2.18 b/helgrind/tests/tc20_verifywrap.stderr.exp-glibc-2.18
-index f109673..b823d40 100644
---- a/helgrind/tests/tc20_verifywrap.stderr.exp-glibc-2.18
-+++ b/helgrind/tests/tc20_verifywrap.stderr.exp-glibc-2.18
-@@ -14,21 +14,21 @@ Thread #x is the program's root thread
- Thread #x was created
-    ...
-    by 0x........: pthread_create@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:81)
-+   by 0x........: main (tc20_verifywrap.c:86)
- 
- ----------------------------------------------------------------
- 
- Possible data race during write of size 2 at 0x........ by thread #x
- Locks held: none
--   at 0x........: main (tc20_verifywrap.c:83)
-+   at 0x........: main (tc20_verifywrap.c:88)
- 
- This conflicts with a previous write of size 2 by thread #x
- Locks held: none
--   at 0x........: racy_child (tc20_verifywrap.c:39)
-+   at 0x........: racy_child (tc20_verifywrap.c:44)
-    by 0x........: mythread_wrapper (hg_intercepts.c:...)
-    ...
-  Location 0x........ is 0 bytes inside global var "unprotected"
-- declared at tc20_verifywrap.c:32
-+ declared at tc20_verifywrap.c:37
- 
- ----------------------------------------------------------------
- 
-@@ -36,7 +36,7 @@ Thread #x's call to pthread_join failed
-    with error code 35 (EDEADLK: Resource deadlock would occur)
-    at 0x........: pthread_join_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_join (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:88)
-+   by 0x........: main (tc20_verifywrap.c:93)
- 
- 
- ---------------- pthread_mutex_lock et al ----------------
-@@ -46,14 +46,14 @@ Thread #x's call to pthread_join failed
- Thread #x's call to pthread_mutex_init failed
-    with error code 95 (EOPNOTSUPP: Operation not supported on transport endpoint)
-    at 0x........: pthread_mutex_init (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:102)
-+   by 0x........: main (tc20_verifywrap.c:107)
- 
- ----------------------------------------------------------------
- 
- Thread #x: pthread_mutex_destroy of a locked mutex
-    at 0x........: mutex_destroy_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:112)
-+   by 0x........: main (tc20_verifywrap.c:117)
- 
- ----------------------------------------------------------------
- 
-@@ -61,7 +61,7 @@ Thread #x's call to pthread_mutex_lock failed
-    with error code 22 (EINVAL: Invalid argument)
-    at 0x........: mutex_lock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_mutex_lock (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:118)
-+   by 0x........: main (tc20_verifywrap.c:123)
- 
- ----------------------------------------------------------------
- 
-@@ -69,7 +69,7 @@ Thread #x's call to pthread_mutex_trylock failed
-    with error code 22 (EINVAL: Invalid argument)
-    at 0x........: mutex_trylock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_mutex_trylock (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:126)
-+   by 0x........: main (tc20_verifywrap.c:131)
- 
- ----------------------------------------------------------------
- 
-@@ -77,14 +77,14 @@ Thread #x's call to pthread_mutex_timedlock failed
-    with error code 22 (EINVAL: Invalid argument)
-    at 0x........: mutex_timedlock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_mutex_timedlock (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:131)
-+   by 0x........: main (tc20_verifywrap.c:136)
- 
- ----------------------------------------------------------------
- 
- Thread #x unlocked an invalid lock at 0x........
-    at 0x........: mutex_unlock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:135)
-+   by 0x........: main (tc20_verifywrap.c:140)
- 
- ----------------------------------------------------------------
- 
-@@ -92,7 +92,7 @@ Thread #x's call to pthread_mutex_unlock failed
-    with error code 22 (EINVAL: Invalid argument)
-    at 0x........: mutex_unlock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:135)
-+   by 0x........: main (tc20_verifywrap.c:140)
- 
- 
- ---------------- pthread_cond_wait et al ----------------
-@@ -102,7 +102,7 @@ Thread #x's call to pthread_mutex_unlock failed
- Thread #x: pthread_cond_{timed}wait called with un-held mutex
-    at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:157)
-+   by 0x........: main (tc20_verifywrap.c:162)
- 
- ----------------------------------------------------------------
- 
-@@ -110,14 +110,14 @@ Thread #x's call to pthread_cond_wait failed
-    with error code 1 (EPERM: Operation not permitted)
-    at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:157)
-+   by 0x........: main (tc20_verifywrap.c:162)
- 
- ----------------------------------------------------------------
- 
- Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
-    at 0x........: pthread_cond_signal_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_cond_signal@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:162)
-+   by 0x........: main (tc20_verifywrap.c:167)
- 
- 
- FIXME: can't figure out how to verify wrap of pthread_cond_signal
-@@ -127,7 +127,7 @@ FIXME: can't figure out how to verify wrap of pthread_cond_signal
- Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
-    at 0x........: pthread_cond_broadcast_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_cond_broadcast@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:168)
-+   by 0x........: main (tc20_verifywrap.c:173)
- 
- 
- FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
-@@ -137,7 +137,7 @@ FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
- Thread #x: pthread_cond_{timed}wait called with un-held mutex
-    at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:175)
-+   by 0x........: main (tc20_verifywrap.c:180)
- 
- ----------------------------------------------------------------
- 
-@@ -145,7 +145,7 @@ Thread #x's call to pthread_cond_timedwait failed
-    with error code 22 (EINVAL: Invalid argument)
-    at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:175)
-+   by 0x........: main (tc20_verifywrap.c:180)
- 
- 
- ---------------- pthread_rwlock_* ----------------
-@@ -156,11 +156,11 @@ Thread #x unlocked a not-locked lock at 0x........
-    at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
-    ...
--   by 0x........: main (tc20_verifywrap.c:189)
-+   by 0x........: main (tc20_verifywrap.c:194)
-   Lock at 0x........ was first observed
-    at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:188)
-+   by 0x........: main (tc20_verifywrap.c:193)
- 
- (1) no error on next line
- (2) no error on next line
-@@ -171,11 +171,11 @@ Thread #x unlocked a not-locked lock at 0x........
-    at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
-    ...
--   by 0x........: main (tc20_verifywrap.c:206)
-+   by 0x........: main (tc20_verifywrap.c:211)
-   Lock at 0x........ was first observed
-    at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:196)
-+   by 0x........: main (tc20_verifywrap.c:201)
- 
- (4) no error on next line
- (5) no error on next line
-@@ -187,11 +187,15 @@ Thread #x unlocked a not-locked lock at 0x........
- Thread #x unlocked a not-locked lock at 0x........
-    at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:227)
-+   by 0x........: main (tc20_verifywrap.c:232)
-   Lock at 0x........ was first observed
-    at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:196)
-+   by 0x........: main (tc20_verifywrap.c:201)
-+
-+
-+
-+---------------- pthread_spin_* ----------------
- 
- 
- ---------------- sem_* ----------------
-@@ -202,7 +206,7 @@ Thread #x's call to sem_init failed
-    with error code 22 (EINVAL: Invalid argument)
-    at 0x........: sem_init_WRK (hg_intercepts.c:...)
-    by 0x........: sem_init@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:243)
-+   by 0x........: main (tc20_verifywrap.c:267)
- 
- 
- FIXME: can't figure out how to verify wrap of sem_destroy
-@@ -212,7 +216,7 @@ FIXME: can't figure out how to verify wrap of sem_destroy
- Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post
-    at 0x........: sem_wait_WRK (hg_intercepts.c:...)
-    by 0x........: sem_wait (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:257)
-+   by 0x........: main (tc20_verifywrap.c:281)
- 
- ----------------------------------------------------------------
- 
-@@ -220,7 +224,7 @@ Thread #x's call to sem_post failed
-    with error code 22 (EINVAL: Invalid argument)
-    at 0x........: sem_post_WRK (hg_intercepts.c:...)
-    by 0x........: sem_post (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:260)
-+   by 0x........: main (tc20_verifywrap.c:284)
- 
- 
- FIXME: can't figure out how to verify wrap of sem_post
-diff --git a/helgrind/tests/tc20_verifywrap.stderr.exp-glibc-2.21 b/helgrind/tests/tc20_verifywrap.stderr.exp-glibc-2.21
-index 7f4eb21..2a2ee9b 100644
---- a/helgrind/tests/tc20_verifywrap.stderr.exp-glibc-2.21
-+++ b/helgrind/tests/tc20_verifywrap.stderr.exp-glibc-2.21
-@@ -14,21 +14,21 @@ Thread #x is the program's root thread
- Thread #x was created
-    ...
-    by 0x........: pthread_create@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:81)
-+   by 0x........: main (tc20_verifywrap.c:86)
- 
- ----------------------------------------------------------------
- 
- Possible data race during write of size 2 at 0x........ by thread #x
- Locks held: none
--   at 0x........: main (tc20_verifywrap.c:83)
-+   at 0x........: main (tc20_verifywrap.c:88)
- 
- This conflicts with a previous write of size 2 by thread #x
- Locks held: none
--   at 0x........: racy_child (tc20_verifywrap.c:39)
-+   at 0x........: racy_child (tc20_verifywrap.c:44)
-    by 0x........: mythread_wrapper (hg_intercepts.c:...)
-    ...
-  Location 0x........ is 0 bytes inside global var "unprotected"
-- declared at tc20_verifywrap.c:32
-+ declared at tc20_verifywrap.c:37
- 
- ----------------------------------------------------------------
- 
-@@ -36,7 +36,7 @@ Thread #x's call to pthread_join failed
-    with error code 35 (EDEADLK: Resource deadlock would occur)
-    at 0x........: pthread_join_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_join (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:88)
-+   by 0x........: main (tc20_verifywrap.c:93)
- 
- 
- ---------------- pthread_mutex_lock et al ----------------
-@@ -46,14 +46,14 @@ Thread #x's call to pthread_join failed
- Thread #x's call to pthread_mutex_init failed
-    with error code 95 (EOPNOTSUPP: Operation not supported on transport endpoint)
-    at 0x........: pthread_mutex_init (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:102)
-+   by 0x........: main (tc20_verifywrap.c:107)
- 
- ----------------------------------------------------------------
- 
- Thread #x: pthread_mutex_destroy of a locked mutex
-    at 0x........: mutex_destroy_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:112)
-+   by 0x........: main (tc20_verifywrap.c:117)
- 
- ----------------------------------------------------------------
- 
-@@ -61,7 +61,7 @@ Thread #x's call to pthread_mutex_destroy failed
-    with error code 16 (EBUSY: Device or resource busy)
-    at 0x........: mutex_destroy_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:112)
-+   by 0x........: main (tc20_verifywrap.c:117)
- 
- ----------------------------------------------------------------
- 
-@@ -69,7 +69,7 @@ Thread #x's call to pthread_mutex_lock failed
-    with error code 22 (EINVAL: Invalid argument)
-    at 0x........: mutex_lock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_mutex_lock (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:118)
-+   by 0x........: main (tc20_verifywrap.c:123)
- 
- ----------------------------------------------------------------
- 
-@@ -77,7 +77,7 @@ Thread #x's call to pthread_mutex_trylock failed
-    with error code 22 (EINVAL: Invalid argument)
-    at 0x........: mutex_trylock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_mutex_trylock (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:126)
-+   by 0x........: main (tc20_verifywrap.c:131)
- 
- ----------------------------------------------------------------
- 
-@@ -85,14 +85,14 @@ Thread #x's call to pthread_mutex_timedlock failed
-    with error code 22 (EINVAL: Invalid argument)
-    at 0x........: mutex_timedlock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_mutex_timedlock (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:131)
-+   by 0x........: main (tc20_verifywrap.c:136)
- 
- ----------------------------------------------------------------
- 
- Thread #x unlocked an invalid lock at 0x........
-    at 0x........: mutex_unlock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:135)
-+   by 0x........: main (tc20_verifywrap.c:140)
- 
- ----------------------------------------------------------------
- 
-@@ -100,7 +100,7 @@ Thread #x's call to pthread_mutex_unlock failed
-    with error code 22 (EINVAL: Invalid argument)
-    at 0x........: mutex_unlock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:135)
-+   by 0x........: main (tc20_verifywrap.c:140)
- 
- 
- ---------------- pthread_cond_wait et al ----------------
-@@ -110,7 +110,7 @@ Thread #x's call to pthread_mutex_unlock failed
- Thread #x: pthread_cond_{timed}wait called with un-held mutex
-    at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:157)
-+   by 0x........: main (tc20_verifywrap.c:162)
- 
- ----------------------------------------------------------------
- 
-@@ -118,14 +118,14 @@ Thread #x's call to pthread_cond_wait failed
-    with error code 1 (EPERM: Operation not permitted)
-    at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:157)
-+   by 0x........: main (tc20_verifywrap.c:162)
- 
- ----------------------------------------------------------------
- 
- Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
-    at 0x........: pthread_cond_signal_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_cond_signal@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:162)
-+   by 0x........: main (tc20_verifywrap.c:167)
- 
- 
- FIXME: can't figure out how to verify wrap of pthread_cond_signal
-@@ -135,7 +135,7 @@ FIXME: can't figure out how to verify wrap of pthread_cond_signal
- Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
-    at 0x........: pthread_cond_broadcast_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_cond_broadcast@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:168)
-+   by 0x........: main (tc20_verifywrap.c:173)
- 
- 
- FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
-@@ -145,7 +145,7 @@ FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
- Thread #x: pthread_cond_{timed}wait called with un-held mutex
-    at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:175)
-+   by 0x........: main (tc20_verifywrap.c:180)
- 
- ----------------------------------------------------------------
- 
-@@ -153,7 +153,7 @@ Thread #x's call to pthread_cond_timedwait failed
-    with error code 22 (EINVAL: Invalid argument)
-    at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:175)
-+   by 0x........: main (tc20_verifywrap.c:180)
- 
- 
- ---------------- pthread_rwlock_* ----------------
-@@ -164,13 +164,13 @@ Thread #x unlocked a not-locked lock at 0x........
-    at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
-    ...
--   by 0x........: main (tc20_verifywrap.c:189)
-+   by 0x........: main (tc20_verifywrap.c:194)
-  Lock at 0x........ was first observed
-    at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:188)
-+   by 0x........: main (tc20_verifywrap.c:193)
-  Location 0x........ is 0 bytes inside local var "rwl"
-- declared at tc20_verifywrap.c:52, in frame #x of thread x
-+ declared at tc20_verifywrap.c:57, in frame #x of thread x
- 
- 
- (1) no error on next line
-@@ -182,13 +182,13 @@ Thread #x unlocked a not-locked lock at 0x........
-    at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
-    ...
--   by 0x........: main (tc20_verifywrap.c:206)
-+   by 0x........: main (tc20_verifywrap.c:211)
-  Lock at 0x........ was first observed
-    at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:196)
-+   by 0x........: main (tc20_verifywrap.c:201)
-  Location 0x........ is 0 bytes inside local var "rwl2"
-- declared at tc20_verifywrap.c:53, in frame #x of thread x
-+ declared at tc20_verifywrap.c:58, in frame #x of thread x
- 
- 
- (4) no error on next line
-@@ -202,14 +202,17 @@ Thread #x unlocked a not-locked lock at 0x........
-    at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
-    ...
--   by 0x........: main (tc20_verifywrap.c:227)
-+   by 0x........: main (tc20_verifywrap.c:232)
-  Lock at 0x........ was first observed
-    at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:196)
-+   by 0x........: main (tc20_verifywrap.c:201)
-  Location 0x........ is 0 bytes inside local var "rwl2"
-- declared at tc20_verifywrap.c:53, in frame #x of thread x
-+ declared at tc20_verifywrap.c:58, in frame #x of thread x
-+
-+
- 
-+---------------- pthread_spin_* ----------------
- 
- 
- ---------------- sem_* ----------------
-@@ -220,7 +223,7 @@ Thread #x's call to sem_init failed
-    with error code 22 (EINVAL: Invalid argument)
-    at 0x........: sem_init_WRK (hg_intercepts.c:...)
-    by 0x........: sem_init@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:248)
-+   by 0x........: main (tc20_verifywrap.c:267)
- 
- 
- FIXME: can't figure out how to verify wrap of sem_destroy
-@@ -230,7 +233,7 @@ FIXME: can't figure out how to verify wrap of sem_destroy
- Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post
-    at 0x........: sem_wait_WRK (hg_intercepts.c:...)
-    by 0x........: sem_wait (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:262)
-+   by 0x........: main (tc20_verifywrap.c:281)
- 
- 
- FIXME: can't figure out how to verify wrap of sem_post
-diff --git a/helgrind/tests/tc20_verifywrap.stderr.exp-s390x b/helgrind/tests/tc20_verifywrap.stderr.exp-s390x
-index 3f60f79..f19215e 100644
---- a/helgrind/tests/tc20_verifywrap.stderr.exp-s390x
-+++ b/helgrind/tests/tc20_verifywrap.stderr.exp-s390x
-@@ -15,22 +15,22 @@ Thread #x was created
-    ...
-    by 0x........: pthread_create_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_create@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:81)
-+   by 0x........: main (tc20_verifywrap.c:86)
- 
- ----------------------------------------------------------------
- 
- Possible data race during write of size 2 at 0x........ by thread #x
- Locks held: none
--   at 0x........: main (tc20_verifywrap.c:83)
-+   at 0x........: main (tc20_verifywrap.c:88)
- 
- This conflicts with a previous write of size 2 by thread #x
- Locks held: none
--   at 0x........: racy_child (tc20_verifywrap.c:39)
-+   at 0x........: racy_child (tc20_verifywrap.c:44)
-    by 0x........: mythread_wrapper (hg_intercepts.c:...)
-    ...
- 
- Location 0x........ is 0 bytes inside global var "unprotected"
--declared at tc20_verifywrap.c:32
-+declared at tc20_verifywrap.c:37
- 
- ----------------------------------------------------------------
- 
-@@ -38,7 +38,7 @@ Thread #x's call to pthread_join failed
-    with error code 35 (EDEADLK: Resource deadlock would occur)
-    at 0x........: pthread_join_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_join (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:88)
-+   by 0x........: main (tc20_verifywrap.c:93)
- 
- 
- ---------------- pthread_mutex_lock et al ----------------
-@@ -48,14 +48,14 @@ Thread #x's call to pthread_join failed
- Thread #x's call to pthread_mutex_init failed
-    with error code 95 (EOPNOTSUPP: Operation not supported on transport endpoint)
-    at 0x........: pthread_mutex_init (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:102)
-+   by 0x........: main (tc20_verifywrap.c:107)
- 
- ----------------------------------------------------------------
- 
- Thread #x: pthread_mutex_destroy of a locked mutex
-    at 0x........: mutex_destroy_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:112)
-+   by 0x........: main (tc20_verifywrap.c:117)
- 
- ----------------------------------------------------------------
- 
-@@ -63,7 +63,7 @@ Thread #x's call to pthread_mutex_destroy failed
-    with error code 16 (EBUSY: Device or resource busy)
-    at 0x........: mutex_destroy_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:112)
-+   by 0x........: main (tc20_verifywrap.c:117)
- 
- ----------------------------------------------------------------
- 
-@@ -71,7 +71,7 @@ Thread #x's call to pthread_mutex_lock failed
-    with error code 22 (EINVAL: Invalid argument)
-    at 0x........: mutex_lock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_mutex_lock (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:118)
-+   by 0x........: main (tc20_verifywrap.c:123)
- 
- ----------------------------------------------------------------
- 
-@@ -79,7 +79,7 @@ Thread #x's call to pthread_mutex_trylock failed
-    with error code 22 (EINVAL: Invalid argument)
-    at 0x........: mutex_trylock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_mutex_trylock (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:126)
-+   by 0x........: main (tc20_verifywrap.c:131)
- 
- ----------------------------------------------------------------
- 
-@@ -87,14 +87,14 @@ Thread #x's call to pthread_mutex_timedlock failed
-    with error code 22 (EINVAL: Invalid argument)
-    at 0x........: mutex_timedlock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_mutex_timedlock (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:131)
-+   by 0x........: main (tc20_verifywrap.c:136)
- 
- ----------------------------------------------------------------
- 
- Thread #x unlocked an invalid lock at 0x........
-    at 0x........: mutex_unlock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:135)
-+   by 0x........: main (tc20_verifywrap.c:140)
- 
- ----------------------------------------------------------------
- 
-@@ -102,7 +102,7 @@ Thread #x's call to pthread_mutex_unlock failed
-    with error code 22 (EINVAL: Invalid argument)
-    at 0x........: mutex_unlock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:135)
-+   by 0x........: main (tc20_verifywrap.c:140)
- 
- 
- ---------------- pthread_cond_wait et al ----------------
-@@ -112,7 +112,7 @@ Thread #x's call to pthread_mutex_unlock failed
- Thread #x: pthread_cond_{timed}wait called with un-held mutex
-    at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:157)
-+   by 0x........: main (tc20_verifywrap.c:162)
- 
- ----------------------------------------------------------------
- 
-@@ -120,14 +120,14 @@ Thread #x's call to pthread_cond_wait failed
-    with error code 1 (EPERM: Operation not permitted)
-    at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:157)
-+   by 0x........: main (tc20_verifywrap.c:162)
- 
- ----------------------------------------------------------------
- 
- Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
-    at 0x........: pthread_cond_signal_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_cond_signal@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:162)
-+   by 0x........: main (tc20_verifywrap.c:167)
- 
- 
- FIXME: can't figure out how to verify wrap of pthread_cond_signal
-@@ -137,7 +137,7 @@ FIXME: can't figure out how to verify wrap of pthread_cond_signal
- Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
-    at 0x........: pthread_cond_broadcast_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_cond_broadcast@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:168)
-+   by 0x........: main (tc20_verifywrap.c:173)
- 
- 
- FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
-@@ -147,7 +147,7 @@ FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
- Thread #x: pthread_cond_{timed}wait called with un-held mutex
-    at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:175)
-+   by 0x........: main (tc20_verifywrap.c:180)
- 
- ----------------------------------------------------------------
- 
-@@ -155,7 +155,7 @@ Thread #x's call to pthread_cond_timedwait failed
-    with error code 22 (EINVAL: Invalid argument)
-    at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:175)
-+   by 0x........: main (tc20_verifywrap.c:180)
- 
- 
- ---------------- pthread_rwlock_* ----------------
-@@ -166,11 +166,11 @@ Thread #x unlocked a not-locked lock at 0x........
-    at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
-    ...
--   by 0x........: main (tc20_verifywrap.c:189)
-+   by 0x........: main (tc20_verifywrap.c:194)
-   Lock at 0x........ was first observed
-    at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:188)
-+   by 0x........: main (tc20_verifywrap.c:193)
- 
- (1) no error on next line
- (2) no error on next line
-@@ -181,11 +181,11 @@ Thread #x unlocked a not-locked lock at 0x........
-    at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
-    ...
--   by 0x........: main (tc20_verifywrap.c:206)
-+   by 0x........: main (tc20_verifywrap.c:211)
-   Lock at 0x........ was first observed
-    at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:196)
-+   by 0x........: main (tc20_verifywrap.c:201)
- 
- (4) no error on next line
- (5) no error on next line
-@@ -198,11 +198,15 @@ Thread #x unlocked a not-locked lock at 0x........
-    at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
-    ...
--   by 0x........: main (tc20_verifywrap.c:227)
-+   by 0x........: main (tc20_verifywrap.c:232)
-   Lock at 0x........ was first observed
-    at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:196)
-+   by 0x........: main (tc20_verifywrap.c:201)
-+
-+
-+
-+---------------- pthread_spin_* ----------------
- 
- 
- ---------------- sem_* ----------------
-@@ -213,7 +217,7 @@ Thread #x's call to sem_init failed
-    with error code 22 (EINVAL: Invalid argument)
-    at 0x........: sem_init_WRK (hg_intercepts.c:...)
-    by 0x........: sem_init@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:243)
-+   by 0x........: main (tc20_verifywrap.c:267)
- 
- 
- FIXME: can't figure out how to verify wrap of sem_destroy
-@@ -223,7 +227,7 @@ FIXME: can't figure out how to verify wrap of sem_destroy
- Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post
-    at 0x........: sem_wait_WRK (hg_intercepts.c:...)
-    by 0x........: sem_wait (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:257)
-+   by 0x........: main (tc20_verifywrap.c:281)
- 
- 
- FIXME: can't figure out how to verify wrap of sem_post
-diff --git a/helgrind/tests/tc20_verifywrap.stderr.exp-solaris b/helgrind/tests/tc20_verifywrap.stderr.exp-solaris
-index 921ebf5..072cc18 100644
---- a/helgrind/tests/tc20_verifywrap.stderr.exp-solaris
-+++ b/helgrind/tests/tc20_verifywrap.stderr.exp-solaris
-@@ -14,21 +14,21 @@ Thread #x is the program's root thread
- Thread #x was created
-    ...
-    by 0x........: pthread_create@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:81)
-+   by 0x........: main (tc20_verifywrap.c:86)
- 
- ----------------------------------------------------------------
- 
- Possible data race during write of size 2 at 0x........ by thread #x
- Locks held: none
--   at 0x........: main (tc20_verifywrap.c:83)
-+   at 0x........: main (tc20_verifywrap.c:88)
- 
- This conflicts with a previous write of size 2 by thread #x
- Locks held: none
--   at 0x........: racy_child (tc20_verifywrap.c:39)
-+   at 0x........: racy_child (tc20_verifywrap.c:44)
-    by 0x........: mythread_wrapper (hg_intercepts.c:...)
-    ...
-  Location 0x........ is 0 bytes inside global var "unprotected"
-- declared at tc20_verifywrap.c:32
-+ declared at tc20_verifywrap.c:37
- 
- ----------------------------------------------------------------
- 
-@@ -36,7 +36,7 @@ Thread #x's call to pthread_join failed
-    with error code 45 (EDEADLK: Resource deadlock would occur)
-    at 0x........: pthread_join_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_join (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:88)
-+   by 0x........: main (tc20_verifywrap.c:93)
- 
- 
- ---------------- pthread_mutex_lock et al ----------------
-@@ -46,14 +46,14 @@ Thread #x's call to pthread_join failed
- Thread #x's call to mutex_init failed
-    with error code 22 (EINVAL: Invalid argument)
-    at 0x........: pthread_mutex_init (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:102)
-+   by 0x........: main (tc20_verifywrap.c:107)
- 
- ----------------------------------------------------------------
- 
- Thread #x: pthread_mutex_destroy of a locked mutex
-    at 0x........: mutex_destroy_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:112)
-+   by 0x........: main (tc20_verifywrap.c:117)
- 
- ----------------------------------------------------------------
- 
-@@ -61,7 +61,7 @@ Thread #x's call to pthread_mutex_lock failed
-    with error code 1 (EPERM: Operation not permitted)
-    at 0x........: mutex_lock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_mutex_lock (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:118)
-+   by 0x........: main (tc20_verifywrap.c:123)
- 
- ----------------------------------------------------------------
- 
-@@ -69,7 +69,7 @@ Thread #x's call to pthread_mutex_trylock failed
-    with error code 1 (EPERM: Operation not permitted)
-    at 0x........: mutex_trylock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_mutex_trylock (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:126)
-+   by 0x........: main (tc20_verifywrap.c:131)
- 
- ----------------------------------------------------------------
- 
-@@ -77,14 +77,14 @@ Thread #x's call to pthread_mutex_timedlock failed
-    with error code 1 (EPERM: Operation not permitted)
-    at 0x........: mutex_timedlock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_mutex_timedlock (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:131)
-+   by 0x........: main (tc20_verifywrap.c:136)
- 
- ----------------------------------------------------------------
- 
- Thread #x unlocked an invalid lock at 0x........
-    at 0x........: mutex_unlock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:135)
-+   by 0x........: main (tc20_verifywrap.c:140)
- 
- ----------------------------------------------------------------
- 
-@@ -92,7 +92,7 @@ Thread #x's call to pthread_mutex_unlock failed
-    with error code 1 (EPERM: Operation not permitted)
-    at 0x........: mutex_unlock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:135)
-+   by 0x........: main (tc20_verifywrap.c:140)
- 
- 
- ---------------- pthread_cond_wait et al ----------------
-@@ -102,7 +102,7 @@ Thread #x's call to pthread_mutex_unlock failed
- Thread #x: pthread_cond_{timed}wait called with un-held mutex
-    at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:157)
-+   by 0x........: main (tc20_verifywrap.c:162)
- 
- ----------------------------------------------------------------
- 
-@@ -110,14 +110,14 @@ Thread #x's call to pthread_cond_wait failed
-    with error code 1 (EPERM: Operation not permitted)
-    at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:157)
-+   by 0x........: main (tc20_verifywrap.c:162)
- 
- ----------------------------------------------------------------
- 
- Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
-    at 0x........: pthread_cond_signal_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_cond_signal@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:162)
-+   by 0x........: main (tc20_verifywrap.c:167)
- 
- 
- FIXME: can't figure out how to verify wrap of pthread_cond_signal
-@@ -127,7 +127,7 @@ FIXME: can't figure out how to verify wrap of pthread_cond_signal
- Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
-    at 0x........: pthread_cond_broadcast_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_cond_broadcast@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:168)
-+   by 0x........: main (tc20_verifywrap.c:173)
- 
- 
- FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
-@@ -137,7 +137,7 @@ FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
- Thread #x: pthread_cond_{timed}wait called with un-held mutex
-    at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:175)
-+   by 0x........: main (tc20_verifywrap.c:180)
- 
- ----------------------------------------------------------------
- 
-@@ -145,7 +145,7 @@ Thread #x's call to pthread_cond_timedwait failed
-    with error code 1 (EPERM: Operation not permitted)
-    at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
--   by 0x........: main (tc20_verifywrap.c:175)
-+   by 0x........: main (tc20_verifywrap.c:180)
- 
- 
- ---------------- pthread_rwlock_* ----------------
-@@ -156,13 +156,13 @@ Thread #x unlocked a not-locked lock at 0x........
-    at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
-    ...
--   by 0x........: main (tc20_verifywrap.c:189)
-+   by 0x........: main (tc20_verifywrap.c:194)
-  Lock at 0x........ was first observed
-    at 0x........: pthread_rwlock_init (hg_intercepts.c:...)
-    ...
--   by 0x........: main (tc20_verifywrap.c:188)
-+   by 0x........: main (tc20_verifywrap.c:193)
-  Location 0x........ is 0 bytes inside rwl.__pthread_rwlock_readers,
-- declared at tc20_verifywrap.c:52, in frame #x of thread x
-+ declared at tc20_verifywrap.c:57, in frame #x of thread x
- 
- 
- ----------------------------------------------------------------
-@@ -172,7 +172,7 @@ Thread #x's call to pthread_rwlock_unlock failed
-    at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
-    ...
--   by 0x........: main (tc20_verifywrap.c:189)
-+   by 0x........: main (tc20_verifywrap.c:194)
- 
- (1) no error on next line
- (2) no error on next line
-@@ -183,13 +183,13 @@ Thread #x unlocked a not-locked lock at 0x........
-    at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
-    ...
--   by 0x........: main (tc20_verifywrap.c:206)
-+   by 0x........: main (tc20_verifywrap.c:211)
-  Lock at 0x........ was first observed
-    at 0x........: pthread_rwlock_init (hg_intercepts.c:...)
-    ...
--   by 0x........: main (tc20_verifywrap.c:196)
-+   by 0x........: main (tc20_verifywrap.c:201)
-  Location 0x........ is 0 bytes inside rwl2.__pthread_rwlock_readers,
-- declared at tc20_verifywrap.c:53, in frame #x of thread x
-+ declared at tc20_verifywrap.c:58, in frame #x of thread x
- 
- 
- ----------------------------------------------------------------
-@@ -199,7 +199,7 @@ Thread #x's call to pthread_rwlock_unlock failed
-    at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
-    ...
--   by 0x........: main (tc20_verifywrap.c:206)
-+   by 0x........: main (tc20_verifywrap.c:211)
- 
- (4) no error on next line
- (5) no error on next line
-@@ -212,13 +212,13 @@ Thread #x unlocked a not-locked lock at 0x........
-    at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
-    ...
--   by 0x........: main (tc20_verifywrap.c:227)
-+   by 0x........: main (tc20_verifywrap.c:232)
-  Lock at 0x........ was first observed
-    at 0x........: pthread_rwlock_init (hg_intercepts.c:...)
-    ...
--   by 0x........: main (tc20_verifywrap.c:196)
-+   by 0x........: main (tc20_verifywrap.c:201)
-  Location 0x........ is 0 bytes inside rwl2.__pthread_rwlock_readers,
-- declared at tc20_verifywrap.c:53, in frame #x of thread x
-+ declared at tc20_verifywrap.c:58, in frame #x of thread x
- 
- 
- ----------------------------------------------------------------
-@@ -228,7 +228,11 @@ Thread #x's call to pthread_rwlock_unlock failed
-    at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
-    by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
-    ...
--   by 0x........: main (tc20_verifywrap.c:227)
-+   by 0x........: main (tc20_verifywrap.c:232)
-+
-+
-+
-+---------------- pthread_spin_* ----------------
- 
- 
- ---------------- sem_* ----------------
-@@ -239,7 +243,7 @@ Thread #x's call to sema_init failed
-    with error code 22 (EINVAL: Invalid argument)
-    at 0x........: sema_init (hg_intercepts.c:...)
-    ...
--   by 0x........: main (tc20_verifywrap.c:248)
-+   by 0x........: main (tc20_verifywrap.c:267)
- 
- 
- FIXME: can't figure out how to verify wrap of sem_destroy
diff --git a/valgrind-3.11.0-rexw-cvtps2pd.patch b/valgrind-3.11.0-rexw-cvtps2pd.patch
deleted file mode 100644
index 12cef42..0000000
--- a/valgrind-3.11.0-rexw-cvtps2pd.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-diff --git a/VEX/priv/guest_amd64_toIR.c b/VEX/priv/guest_amd64_toIR.c
-index 98596d2..06552e8 100644
---- a/VEX/priv/guest_amd64_toIR.c
-+++ b/VEX/priv/guest_amd64_toIR.c
-@@ -13396,7 +13396,8 @@ Long dis_ESC_0F__SSE2 ( Bool* decode_OK,
-    case 0x5A:
-       /* 0F 5A = CVTPS2PD -- convert 2 x F32 in low half mem/xmm to 2 x
-          F64 in xmm(G). */
--      if (haveNo66noF2noF3(pfx) && sz == 4) {
-+      if (haveNo66noF2noF3(pfx)
-+          && (sz == 4 || /* ignore redundant REX.W */ sz == 8)) {
-          delta = dis_CVTPS2PD_128( vbi, pfx, delta, False/*!isAvx*/ );
-          goto decode_success;
-       }
-diff --git a/none/tests/amd64/redundantRexW.c b/none/tests/amd64/redundantRexW.c
-index e189267..0a50c3b 100644
---- a/none/tests/amd64/redundantRexW.c
-+++ b/none/tests/amd64/redundantRexW.c
-@@ -596,6 +596,23 @@ int main ( void )
-      after_test( "rex.WB subsd  -0x8(%r13),%xmm1", regs, mem );
-    }
- 
-+   /* cvtps2pd mem, reg   48 0f 5a 07     rex.W cvtps2pd  (%rdi),%xmm0 */
-+   {
-+     before_test( regs, mem );
-+     __asm__ __volatile__(
-+         "movq %0, %%r14\n"
-+       "\tmovq %1, %%r15\n"
-+       LOAD_XMMREGS_from_r14
-+       "\tmovq %%r15, %%rdi\n"
-+       "\t.byte 0x48,0x0f,0x5a,0x07\n"
-+       SAVE_XMMREGS_to_r14
-+          : /*out*/ : /*in*/ "r"(regs), "r"( -0 + (char*)&mem->dqw[2] )
-+                    : /*trash*/ "r14","r15","memory", XMMREGS,
-+                                "rdi"
-+     );
-+     after_test( "rex.W cvtps2pd  (%rdi),%xmm0", regs, mem );
-+   }
-+
-    free(regs);
-    free(mem);
-    return 0;
-diff --git a/none/tests/amd64/redundantRexW.stdout.exp b/none/tests/amd64/redundantRexW.stdout.exp
-index dd1697a..94b255a 100644
---- a/none/tests/amd64/redundantRexW.stdout.exp
-+++ b/none/tests/amd64/redundantRexW.stdout.exp
-@@ -648,3 +648,29 @@ after "rex.WB subsd  -0x8(%r13),%xmm1" (xmms in order [15..0]) {
-   %xmm15 ................................
- }
- 
-+after "rex.W cvtps2pd  (%rdi),%xmm0" (dqws in order [15 .. 0]) {
-+  [0]    ................................
-+  [1]    ................................
-+  [2]    ................................
-+  [3]    ................................
-+  [4]    ................................
-+}
-+after "rex.W cvtps2pd  (%rdi),%xmm0" (xmms in order [15..0]) {
-+  %xmm 0 113a1c7d5554535213bd9cffd4535251
-+  %xmm 1 ................................
-+  %xmm 2 ................................
-+  %xmm 3 ................................
-+  %xmm 4 ................................
-+  %xmm 5 ................................
-+  %xmm 6 ................................
-+  %xmm 7 ................................
-+  %xmm 8 ................................
-+  %xmm 9 ................................
-+  %xmm10 ................................
-+  %xmm11 ................................
-+  %xmm12 ................................
-+  %xmm13 ................................
-+  %xmm14 ................................
-+  %xmm15 ................................
-+}
-+
diff --git a/valgrind-3.11.0-rlimit_data.patch b/valgrind-3.11.0-rlimit_data.patch
deleted file mode 100644
index 8c1c1fd..0000000
--- a/valgrind-3.11.0-rlimit_data.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-diff --git a/coregrind/m_libcproc.c b/coregrind/m_libcproc.c
-index f314b55..a30f7dc 100644
---- a/coregrind/m_libcproc.c
-+++ b/coregrind/m_libcproc.c
-@@ -450,9 +450,6 @@ void VG_(execv) ( const HChar* filename, const HChar** argv )
-    HChar** envp;
-    SysRes res;
- 
--   /* restore the DATA rlimit for the child */
--   VG_(setrlimit)(VKI_RLIMIT_DATA, &VG_(client_rlimit_data));
--
-    envp = VG_(env_clone)(VG_(client_envp));
-    VG_(env_remove_valgrind_env_stuff)( envp, True /*ro_strings*/, NULL );
- 
-@@ -511,17 +508,9 @@ Int VG_(spawn) ( const HChar *filename, const HChar **argv )
- #  undef COPY_CHAR_TO_ARGENV
- #  undef COPY_STRING_TOARGENV
- 
--   /* HACK: Temporarily restore the DATA rlimit for spawned child. */
--   VG_(setrlimit)(VKI_RLIMIT_DATA, &VG_(client_rlimit_data));
--
-    SysRes res = VG_(do_syscall5)(__NR_spawn, (UWord) filename, (UWord) NULL, 0,
-                                  (UWord) argenv, argenv_size);
- 
--   /* Restore DATA rlimit back to its previous value set in m_main.c. */
--   struct vki_rlimit zero = { 0, 0 };
--   zero.rlim_max = VG_(client_rlimit_data).rlim_max;
--   VG_(setrlimit)(VKI_RLIMIT_DATA, &zero);
--
-    VG_(free)(argenv);
-    for (HChar **p = envp; *p != NULL; p++) {
-       VG_(free)(*p);
-diff --git a/coregrind/m_main.c b/coregrind/m_main.c
-index 1821c94..9b659ae 100644
---- a/coregrind/m_main.c
-+++ b/coregrind/m_main.c
-@@ -1627,7 +1627,6 @@ Int valgrind_main ( Int argc, HChar **argv, HChar **envp )
-    Bool    logging_to_fd      = False;
-    const HChar* xml_fname_unexpanded = NULL;
-    Int     loglevel, i;
--   struct vki_rlimit zero = { 0, 0 };
-    XArray* addr2dihandle = NULL;
- 
-    //============================================================
-@@ -1800,13 +1799,15 @@ Int valgrind_main ( Int argc, HChar **argv, HChar **envp )
-    VG_(debugLog)(1, "main", "... %s\n", VG_(name_of_launcher));
- 
-    //--------------------------------------------------------------
--   // Get the current process datasize rlimit, and set it to zero.
--   // This prevents any internal uses of brk() from having any effect.
--   // We remember the old value so we can restore it on exec, so that
--   // child processes will have a reasonable brk value.
-+   // We used to set the process datasize rlimit to zero to prevent
-+   // any internal use of brk() from having any effect. But later
-+   // linux kernels redefine RLIMIT_DATA as the size of any data
-+   // areas, including some dynamic mmap memory allocations.
-+   // See bug #357833 for the commit that went into linux 4.5
-+   // changing the definition of RLIMIT_DATA. So don't mess with
-+   // RLIMIT_DATA here now anymore. Just remember it for use in
-+   // the syscall wrappers.
-    VG_(getrlimit)(VKI_RLIMIT_DATA, &VG_(client_rlimit_data));
--   zero.rlim_max = VG_(client_rlimit_data).rlim_max;
--   VG_(setrlimit)(VKI_RLIMIT_DATA, &zero);
- 
-    // Get the current process stack rlimit.
-    VG_(getrlimit)(VKI_RLIMIT_STACK, &VG_(client_rlimit_stack));
-diff --git a/coregrind/m_syswrap/syswrap-generic.c b/coregrind/m_syswrap/syswrap-generic.c
-index aa60d67..061c1e1 100644
---- a/coregrind/m_syswrap/syswrap-generic.c
-+++ b/coregrind/m_syswrap/syswrap-generic.c
-@@ -3014,9 +3014,6 @@ PRE(sys_execve)
-       vg_assert(j == tot_args+1);
-    }
- 
--   /* restore the DATA rlimit for the child */
--   VG_(setrlimit)(VKI_RLIMIT_DATA, &VG_(client_rlimit_data));
--
-    /*
-       Set the signal state up for exec.
- 
-diff --git a/coregrind/m_syswrap/syswrap-solaris.c b/coregrind/m_syswrap/syswrap-solaris.c
-index 4e2662c..c700b59 100644
---- a/coregrind/m_syswrap/syswrap-solaris.c
-+++ b/coregrind/m_syswrap/syswrap-solaris.c
-@@ -1589,21 +1589,12 @@ PRE(sys_spawn)
- #undef COPY_CHAR_TO_ARGENV
- #undef COPY_STRING_TOARGENV
- 
--   /* HACK: Temporarily restore the DATA rlimit for spawned child.
--      This is a terrible hack to provide sensible brk limit for child. */
--   VG_(setrlimit)(VKI_RLIMIT_DATA, &VG_(client_rlimit_data));
--
-    /* Actual spawn() syscall. */
-    SysRes res = VG_(do_syscall5)(__NR_spawn, (UWord) path, (UWord) attrs,
-                                  attrs_size, (UWord) argenv, argenv_size);
-    SET_STATUS_from_SysRes(res);
-    VG_(free)(argenv);
- 
--   /* Restore DATA rlimit back to its previous value set in m_main.c. */
--   struct vki_rlimit zero = { 0, 0 };
--   zero.rlim_max = VG_(client_rlimit_data).rlim_max;
--   VG_(setrlimit)(VKI_RLIMIT_DATA, &zero);
--
-    if (SUCCESS) {
-       PRINT("   spawn: process %d spawned child %ld\n", VG_(getpid)(), RES);
-    }
-@@ -3794,9 +3785,6 @@ PRE(sys_execve)
-       VG_(sigprocmask)(VKI_SIG_SETMASK, &tst->sig_mask, NULL);
-    }
- 
--   /* Restore the DATA rlimit for the child. */
--   VG_(setrlimit)(VKI_RLIMIT_DATA, &VG_(client_rlimit_data));
--
-    /* Debug-only printing. */
-    if (0) {
-       HChar **cpp;
diff --git a/valgrind-3.11.0-s390-hwcap.patch b/valgrind-3.11.0-s390-hwcap.patch
deleted file mode 100644
index 4413a8e..0000000
--- a/valgrind-3.11.0-s390-hwcap.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-On a zEC12 or z13, a glibc with lock elision enabled infers from HWCAP
-that the prerequisites for lock elision are met.  Then it may use TBEGIN
-and other transactional-execution instructions which are not implemented
-by Valgrind.  Likewise, the upcoming glibc 2.23 will exploit vector
-instructions if they are advertised by HWCAP; and those are currently
-not implemented by Valgrind either.  In general, the increased use of
-ifunc may lead to more such cases in the future.
-
-This patch suppresses the advertising of those hardware features via
-HWCAP which are either not known to Valgrind or currently unsupported.
-
-Patch by Andreas Arnez (arnez@linux.vnet.ibm.com).
-Fixes BZ #353680.
-
-Modified: trunk/README.s390
-==============================================================================
---- trunk/README.s390 (original)
-+++ trunk/README.s390 Mon Oct 12 21:35:56 2015
-@@ -22,6 +22,9 @@
- - Some gcc versions use mvc to copy 4/8 byte values. This will affect
-   certain debug messages. For example, memcheck will complain about
-   4 one-byte reads/writes instead of just a single read/write.
-+- The transactional-execution facility is not supported; it is masked
-+  off from HWCAP.
-+- The vector facility is not supported; it is masked off from HWCAP.
- 
- 
- Hardware facilities
-
-Modified: trunk/coregrind/m_initimg/initimg-linux.c
-==============================================================================
---- trunk/coregrind/m_initimg/initimg-linux.c (original)
-+++ trunk/coregrind/m_initimg/initimg-linux.c Mon Oct 12 21:35:56 2015
-@@ -701,6 +701,12 @@
-                  in syswrap-arm-linux.c rather than to base this on
-                  conditional compilation. */
-             }
-+#           elif defined(VGP_s390x_linux)
-+            {
-+               /* Advertise hardware features "below" TE only.  TE and VXRS
-+                  (and anything above) are not supported by Valgrind. */
-+               auxv->u.a_val &= VKI_HWCAP_S390_TE - 1;
-+            }
- #           endif
-             break;
- #        if defined(VGP_ppc64be_linux) || defined(VGP_ppc64le_linux)
-
-Modified: trunk/include/vki/vki-s390x-linux.h
-==============================================================================
---- trunk/include/vki/vki-s390x-linux.h (original)
-+++ trunk/include/vki/vki-s390x-linux.h Mon Oct 12 21:35:56 2015
-@@ -800,12 +800,15 @@
- #define VKI_PTRACE_POKEUSR_AREA       0x5001
- 
- //----------------------------------------------------------------------
--// From linux-2.6.16.60/include/asm-s390/elf.h
-+// From linux-3.18/include/asm-s390/elf.h
- //----------------------------------------------------------------------
- 
- typedef vki_s390_fp_regs vki_elf_fpregset_t;
- typedef vki_s390_regs vki_elf_gregset_t;
- 
-+#define VKI_HWCAP_S390_TE           1024
-+#define VKI_HWCAP_S390_VXRS         2048
-+
- 
- //----------------------------------------------------------------------
- // From linux-2.6.16.60/include/asm-s390/ucontext.h
-
-
diff --git a/valgrind-3.11.0-s390-separate-socketcalls.patch b/valgrind-3.11.0-s390-separate-socketcalls.patch
deleted file mode 100644
index 96e0ef6..0000000
--- a/valgrind-3.11.0-s390-separate-socketcalls.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-commit d9201968186f799b9a2c0793a29029819372a072
-Author: mjw <mjw@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Tue Feb 23 15:19:49 2016 +0000
-
-    Bug 359703 s390: wire up separate socketcalls system calls
-    
-    The linux 4.3 s390 kernel has separate system calls that were originally
-    hidden behind the socketcall multiplexer system call. Newer glibc versions
-    will use these direct system calls instead of socketcall when available.
-    Causing several regtest failures.
-    
-    This fix simply wires up the split out system calls directly to the
-    existing syswrap handlers for s390.
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15802 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/coregrind/m_syswrap/syswrap-s390x-linux.c b/coregrind/m_syswrap/syswrap-s390x-linux.c
-index e919b8f..0513789 100644
---- a/coregrind/m_syswrap/syswrap-s390x-linux.c
-+++ b/coregrind/m_syswrap/syswrap-s390x-linux.c
-@@ -1051,7 +1051,25 @@ static SyscallTableEntry syscall_table[] = {
- // ?????(__NR_seccomp, ),                                             // 348
-    LINXY(__NR_getrandom, sys_getrandom),                              // 349
- 
--   LINXY(__NR_memfd_create, sys_memfd_create)                         // 350
-+   LINXY(__NR_memfd_create, sys_memfd_create),                        // 350
-+
-+   LINXY(__NR_recvmmsg, sys_recvmmsg),                                // 357
-+   LINXY(__NR_sendmmsg, sys_sendmmsg),                                // 358
-+   LINXY(__NR_socket, sys_socket),                                    // 359
-+   LINXY(__NR_socketpair, sys_socketpair),                            // 360
-+   LINX_(__NR_bind, sys_bind),                                        // 361
-+   LINX_(__NR_connect, sys_connect),                                  // 362
-+   LINX_(__NR_listen, sys_listen),                                    // 363
-+   LINXY(__NR_accept4, sys_accept4),                                  // 364
-+   LINXY(__NR_getsockopt, sys_getsockopt),                            // 365
-+   LINX_(__NR_setsockopt, sys_setsockopt),                            // 366
-+   LINXY(__NR_getsockname, sys_getsockname),                          // 367
-+   LINXY(__NR_getpeername, sys_getpeername),                          // 368
-+   LINX_(__NR_sendto, sys_sendto),                                    // 369
-+   LINX_(__NR_sendmsg, sys_sendmsg),                                  // 270
-+   LINXY(__NR_recvfrom, sys_recvfrom),                                // 371
-+   LINXY(__NR_recvmsg, sys_recvmsg),                                  // 372
-+   LINX_(__NR_shutdown, sys_shutdown)                                 // 373
- };
- 
- SyscallTableEntry* ML_(get_linux_syscall_entry) ( UInt sysno )
-diff --git a/include/vki/vki-scnums-s390x-linux.h b/include/vki/vki-scnums-s390x-linux.h
-index 2a4a8f1..0187045 100644
---- a/include/vki/vki-scnums-s390x-linux.h
-+++ b/include/vki/vki-scnums-s390x-linux.h
-@@ -316,7 +316,26 @@
- #define __NR_seccomp		348
- #define __NR_getrandom		349
- #define __NR_memfd_create	350
--#define NR_syscalls 351
-+
-+#define __NR_recvmmsg		357
-+#define __NR_sendmmsg		358
-+#define __NR_socket		359
-+#define __NR_socketpair		360
-+#define __NR_bind		361
-+#define __NR_connect		362
-+#define __NR_listen		363
-+#define __NR_accept4		364
-+#define __NR_getsockopt		365
-+#define __NR_setsockopt		366
-+#define __NR_getsockname	367
-+#define __NR_getpeername	368
-+#define __NR_sendto		369
-+#define __NR_sendmsg		370
-+#define __NR_recvfrom		371
-+#define __NR_recvmsg		372
-+#define __NR_shutdown		373
-+
-+#define NR_syscalls 374
- 
- /* 
-  * There are some system calls that are not present on 64 bit, some
diff --git a/valgrind-3.11.0-s390x-popcnt.patch b/valgrind-3.11.0-s390x-popcnt.patch
deleted file mode 100644
index 935d9fd..0000000
--- a/valgrind-3.11.0-s390x-popcnt.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-commit 4b825ef5dcf064fd0f05323e7edd538ce02ac146
-Author: florian <florian@8f6e269a-dfd6-0310-a8e1-e2731360e62c>
-Date:   Wed Feb 17 19:57:01 2016 +0000
-
-    s390: Implement popcnt insn. Part of fixing BZ #359289.
-    Patch by Andreas Arnez (arnez@linux.vnet.ibm.com)
-    
-    
-    git-svn-id: svn://svn.valgrind.org/vex/trunk@3210 8f6e269a-dfd6-0310-a8e1-e2731360e62c
-
-diff --git a/VEX/priv/guest_s390_toIR.c b/VEX/priv/guest_s390_toIR.c
-index 116a606..5e6acd4 100644
---- a/VEX/priv/guest_s390_toIR.c
-+++ b/VEX/priv/guest_s390_toIR.c
-@@ -12938,6 +12938,38 @@ s390_irgen_FLOGR(UChar r1, UChar r2)
- }
- 
- static const HChar *
-+s390_irgen_POPCNT(UChar r1, UChar r2)
-+{
-+   Int i;
-+   IRTemp val = newTemp(Ity_I64);
-+   IRTemp mask[3];
-+
-+   assign(val, get_gpr_dw0(r2));
-+   for (i = 0; i < 3; i++) {
-+      mask[i] = newTemp(Ity_I64);
-+   }
-+   assign(mask[0], mkU64(0x5555555555555555ULL));
-+   assign(mask[1], mkU64(0x3333333333333333ULL));
-+   assign(mask[2], mkU64(0x0F0F0F0F0F0F0F0FULL));
-+   for (i = 0; i < 3; i++) {
-+      IRTemp tmp = newTemp(Ity_I64);
-+
-+      assign(tmp,
-+             binop(Iop_Add64,
-+                   binop(Iop_And64,
-+                         mkexpr(val),
-+                         mkexpr(mask[i])),
-+                   binop(Iop_And64,
-+                         binop(Iop_Shr64, mkexpr(val), mkU8(1 << i)),
-+                         mkexpr(mask[i]))));
-+      val = tmp;
-+   }
-+   s390_cc_thunk_putZ(S390_CC_OP_BITWISE, val);
-+   put_gpr_dw0(r1, mkexpr(val));
-+   return "popcnt";
-+}
-+
-+static const HChar *
- s390_irgen_STCK(IRTemp op2addr)
- {
-    IRDirty *d;
-@@ -14999,7 +15031,8 @@ s390_decode_4byte_and_irgen(const UChar *bytes)
-                                    ovl.fmt.RRE.r2);  goto ok;
-    case 0xb9df: s390_format_RRE_RR(s390_irgen_CLHLR, ovl.fmt.RRE.r1,
-                                    ovl.fmt.RRE.r2);  goto ok;
--   case 0xb9e1: /* POPCNT */ goto unimplemented;
-+   case 0xb9e1: s390_format_RRE_RR(s390_irgen_POPCNT, ovl.fmt.RRE.r1,
-+                                   ovl.fmt.RRE.r2);  goto ok;
-    case 0xb9e2: s390_format_RRF_U0RR(s390_irgen_LOCGR, ovl.fmt.RRF3.r3,
-                                      ovl.fmt.RRF3.r1, ovl.fmt.RRF3.r2,
-                                      S390_XMNM_LOCGR);  goto ok;
diff --git a/valgrind-3.11.0-s390x-risbgn.patch b/valgrind-3.11.0-s390x-risbgn.patch
deleted file mode 100644
index def0fe2..0000000
--- a/valgrind-3.11.0-s390x-risbgn.patch
+++ /dev/null
@@ -1,1741 +0,0 @@
-commit 9ee91e10656ec648cdb6922fb5237659d944d6a9
-Author: cborntra <cborntra@8f6e269a-dfd6-0310-a8e1-e2731360e62c>
-Date:   Thu Apr 7 18:54:53 2016 +0000
-
-    Bug 361226 VEX part:  s390x: risbgn (EC59) not implemented
-    
-    
-    git-svn-id: svn://svn.valgrind.org/vex/trunk@3216 8f6e269a-dfd6-0310-a8e1-e2731360e62c
-
-diff --git a/VEX/priv/guest_s390_toIR.c b/VEX/priv/guest_s390_toIR.c
-index 5e6acd4..a587d2e 100644
---- a/VEX/priv/guest_s390_toIR.c
-+++ b/VEX/priv/guest_s390_toIR.c
-@@ -7578,7 +7578,8 @@ s390_irgen_ROSBG(UChar r1, UChar r2, UChar i3, UChar i4, UChar i5)
- }
- 
- static const HChar *
--s390_irgen_RISBG(UChar r1, UChar r2, UChar i3, UChar i4, UChar i5)
-+s390_irgen_RISBGx(UChar r1, UChar r2, UChar i3, UChar i4, UChar i5,
-+                  Bool set_cc)
- {
-    UChar from;
-    UChar to;
-@@ -7612,9 +7613,24 @@ s390_irgen_RISBG(UChar r1, UChar r2, UChar i3, UChar i4, UChar i5)
-       put_gpr_dw0(r1, binop(Iop_And64, mkexpr(op2), mkU64(mask)));
-    }
-    assign(result, get_gpr_dw0(r1));
--   s390_cc_thunk_putS(S390_CC_OP_LOAD_AND_TEST, result);
-+   if (set_cc) {
-+      s390_cc_thunk_putS(S390_CC_OP_LOAD_AND_TEST, result);
-+      return "risbg";
-+   }
-+
-+   return "risbgn";
-+}
-+
-+static const HChar *
-+s390_irgen_RISBG(UChar r1, UChar r2, UChar i3, UChar i4, UChar i5)
-+{
-+   return s390_irgen_RISBGx(r1, r2, i3, i4, i5, True);
-+}
- 
--   return "risbg";
-+static const HChar *
-+s390_irgen_RISBGN(UChar r1, UChar r2, UChar i3, UChar i4, UChar i5)
-+{
-+   return s390_irgen_RISBGx(r1, r2, i3, i4, i5, False);
- }
- 
- static const HChar *
-@@ -16059,7 +16075,13 @@ s390_decode_6byte_and_irgen(const UChar *bytes)
-                                                  ovl.fmt.RIE_RRUUU.i4,
-                                                  ovl.fmt.RIE_RRUUU.i5);
-                                                  goto ok;
--   case 0xec0000000059ULL: /* RISBGN */ goto unimplemented;
-+   case 0xec0000000059ULL: s390_format_RIE_RRUUU(s390_irgen_RISBGN,
-+                                                 ovl.fmt.RIE_RRUUU.r1,
-+                                                 ovl.fmt.RIE_RRUUU.r2,
-+                                                 ovl.fmt.RIE_RRUUU.i3,
-+                                                 ovl.fmt.RIE_RRUUU.i4,
-+                                                 ovl.fmt.RIE_RRUUU.i5);
-+                                                 goto ok;
-    case 0xec000000005dULL: /* RISBHG */ goto unimplemented;
-    case 0xec0000000064ULL: s390_format_RIE_RRPU(s390_irgen_CGRJ,
-                                                 ovl.fmt.RIE_RRPU.r1,
-commit 6a1772b2d1e47f19fb31d28218be8cacb5b72bca
-Author: cborntra <cborntra@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Thu Apr 7 18:55:25 2016 +0000
-
-    Bug 361226 valgrind part:  s390x: risbgn (EC59) not implemented
-    
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15852 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/none/tests/s390x/opcodes.h b/none/tests/s390x/opcodes.h
-index 0c5b737..e1fb3ef 100644
---- a/none/tests/s390x/opcodes.h
-+++ b/none/tests/s390x/opcodes.h
-@@ -329,6 +329,7 @@
- #define RNSBG(r1,r2,i3,i4,i5)           RIE_RRUUU(ec,r1,r2,i3,i4,i5,54)
- #define ROSBG(r1,r2,i3,i4,i5)           RIE_RRUUU(ec,r1,r2,i3,i4,i5,56)
- #define RXSBG(r1,r2,i3,i4,i5)           RIE_RRUUU(ec,r1,r2,i3,i4,i5,57)
-+#define RISBGN(r1,r2,i3,i4,i5)          RIE_RRUUU(ec,r1,r2,i3,i4,i5,59)
- #define SFPC(r1)                        RRE_R0(b384,r1)
- #define SGRK(r3,r1,r2)                  RRF_R0RR2(b9e9,r3,0,r1,r2)
- #define SHHHR(r3,r1,r2)                 RRF_R0RR2(b9c9,r3,0,r1,r2)
-diff --git a/none/tests/s390x/rxsbg.c b/none/tests/s390x/rxsbg.c
-index 6e15325..f6ab4cd 100644
---- a/none/tests/s390x/rxsbg.c
-+++ b/none/tests/s390x/rxsbg.c
-@@ -6,11 +6,12 @@
- 	register unsigned long r1 asm ("1") = _r1;	\
- 	register unsigned long r2 asm ("2") = _r2;	\
- 	int cc;						\
--	asm volatile(	insn(1,2, i3, i4, i5)		\
-+	asm volatile(   "clgr 1,2\n"                    \
-+                        insn(1,2, i3, i4, i5)           \
- 			"ipm %1\n"			\
- 			"srl %1,28\n"			\
- 			: "+d" (r1), "=d" (cc)		\
--			: "d" (r1), "d" (r2)			\
-+			: "d" (r1), "d" (r2)		\
- 			: "cc");			\
- 	printf(#insn " r1(==%16.16lX),r2(==%16.16lX),0x" #i3 ",0x" #i4 ",0x" #i5 " = %16.16lX (cc=%d)\n", _r1, _r2, r1, cc); \
- })
-@@ -73,6 +74,7 @@ int main()
- 	i5sweep(RNSBG);
- 	i5sweep(ROSBG);
- 	i5sweep(RXSBG);
-+        i5sweep(RISBGN);
- 
- 	return 0;
- }
-diff --git a/none/tests/s390x/rxsbg.stdout.exp b/none/tests/s390x/rxsbg.stdout.exp
-index 9f1d918..4bab353 100644
---- a/none/tests/s390x/rxsbg.stdout.exp
-+++ b/none/tests/s390x/rxsbg.stdout.exp
-@@ -6478,3 +6478,1623 @@ RXSBG r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xbf,0xbf,0x3f = FFFFFFFFFFF
- RXSBG r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xbf,0xbf,0x3f = 0000000000000000 (cc=1)
- RXSBG r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xbf,0xbf,0x3f = 0000FFFFCCCCAAAA (cc=1)
- RXSBG r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xbf,0xbf,0x3f = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x00,0x00,0x00 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x00,0x00,0x00 = 0000FFFFCCCCAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x00,0x00,0x00 = 7FFFFFFFFFFFFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x00,0x00,0x00 = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x00,0x00,0x00 = 0000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x00,0x00,0x00 = 7FFFFFFFFFFFFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x00,0x00,0x00 = 8000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x00,0x00,0x00 = 8000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x00,0x00,0x00 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x14,0x00,0x00 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x14,0x00,0x00 = 0000F00000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x14,0x00,0x00 = 7FFFF00000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x14,0x00,0x00 = 00000CCCFFFF0000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x14,0x00,0x00 = 0000FCCCFFFF0000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x14,0x00,0x00 = 7FFFFCCCFFFF0000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x14,0x00,0x00 = 80000FFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x14,0x00,0x00 = 8000FFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x14,0x00,0x00 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x3f,0x00,0x00 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x3f,0x00,0x00 = 0000FFFFCCCCAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x3f,0x00,0x00 = 7FFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x3f,0x00,0x00 = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x3f,0x00,0x00 = 0000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x3f,0x00,0x00 = 7FFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x3f,0x00,0x00 = 8000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x3f,0x00,0x00 = 8000FFFFCCCCAAAB (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x3f,0x00,0x00 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x80,0x00,0x00 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x80,0x00,0x00 = 0000FFFFCCCCAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x80,0x00,0x00 = 7FFFFFFFFFFFFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x80,0x00,0x00 = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x80,0x00,0x00 = 0000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x80,0x00,0x00 = 7FFFFFFFFFFFFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x80,0x00,0x00 = 8000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x80,0x00,0x00 = 8000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x80,0x00,0x00 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xa1,0x00,0x00 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xa1,0x00,0x00 = 0000FFFF80000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xa1,0x00,0x00 = 7FFFFFFF80000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xa1,0x00,0x00 = 000000007FFF0000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xa1,0x00,0x00 = 0000FFFFFFFF0000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xa1,0x00,0x00 = 7FFFFFFFFFFF0000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xa1,0x00,0x00 = 800000007FFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xa1,0x00,0x00 = 8000FFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xa1,0x00,0x00 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xbf,0x00,0x00 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xbf,0x00,0x00 = 0000FFFFCCCCAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xbf,0x00,0x00 = 7FFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xbf,0x00,0x00 = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xbf,0x00,0x00 = 0000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xbf,0x00,0x00 = 7FFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xbf,0x00,0x00 = 8000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xbf,0x00,0x00 = 8000FFFFCCCCAAAB (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xbf,0x00,0x00 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x00,0x2a,0x00 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x00,0x2a,0x00 = 00000000000CAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x00,0x2a,0x00 = 00000000001FFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x00,0x2a,0x00 = 5555CCCCFFE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x00,0x2a,0x00 = 5555CCCCFFECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x00,0x2a,0x00 = 5555CCCCFFFFFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x00,0x2a,0x00 = FFFFFFFFFFE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x00,0x2a,0x00 = FFFFFFFFFFECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x00,0x2a,0x00 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x14,0x2a,0x00 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x14,0x2a,0x00 = 0000F000000CAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x14,0x2a,0x00 = FFFFF000001FFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x14,0x2a,0x00 = 00000CCCFFE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x14,0x2a,0x00 = 0000FCCCFFECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x14,0x2a,0x00 = FFFFFCCCFFFFFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x14,0x2a,0x00 = 00000FFFFFE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x14,0x2a,0x00 = 0000FFFFFFECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x14,0x2a,0x00 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x3f,0x2a,0x00 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x3f,0x2a,0x00 = 00000000000CAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x3f,0x2a,0x00 = 00000000001FFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x3f,0x2a,0x00 = 5555CCCCFFE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x3f,0x2a,0x00 = 5555CCCCFFECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x3f,0x2a,0x00 = 5555CCCCFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x3f,0x2a,0x00 = FFFFFFFFFFE00001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x3f,0x2a,0x00 = FFFFFFFFFFECAAAB (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x3f,0x2a,0x00 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x80,0x2a,0x00 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x80,0x2a,0x00 = 00000000000CAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x80,0x2a,0x00 = 00000000001FFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x80,0x2a,0x00 = 5555CCCCFFE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x80,0x2a,0x00 = 5555CCCCFFECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x80,0x2a,0x00 = 5555CCCCFFFFFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x80,0x2a,0x00 = FFFFFFFFFFE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x80,0x2a,0x00 = FFFFFFFFFFECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x80,0x2a,0x00 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xa1,0x2a,0x00 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xa1,0x2a,0x00 = 0000FFFF800CAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xa1,0x2a,0x00 = FFFFFFFF801FFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xa1,0x2a,0x00 = 000000007FE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xa1,0x2a,0x00 = 0000FFFFFFECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xa1,0x2a,0x00 = FFFFFFFFFFFFFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xa1,0x2a,0x00 = 000000007FE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xa1,0x2a,0x00 = 0000FFFFFFECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xa1,0x2a,0x00 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xbf,0x2a,0x00 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xbf,0x2a,0x00 = 00000000000CAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xbf,0x2a,0x00 = 00000000001FFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xbf,0x2a,0x00 = 5555CCCCFFE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xbf,0x2a,0x00 = 5555CCCCFFECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xbf,0x2a,0x00 = 5555CCCCFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xbf,0x2a,0x00 = FFFFFFFFFFE00001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xbf,0x2a,0x00 = FFFFFFFFFFECAAAB (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xbf,0x2a,0x00 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x00,0x3f,0x00 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x00,0x3f,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x00,0x3f,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x00,0x3f,0x00 = 5555CCCCFFFF0000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x00,0x3f,0x00 = 5555CCCCFFFF0000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x00,0x3f,0x00 = 5555CCCCFFFF0000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x00,0x3f,0x00 = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x00,0x3f,0x00 = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x00,0x3f,0x00 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x14,0x3f,0x00 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x14,0x3f,0x00 = 0000F00000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x14,0x3f,0x00 = FFFFF00000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x14,0x3f,0x00 = 00000CCCFFFF0000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x14,0x3f,0x00 = 0000FCCCFFFF0000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x14,0x3f,0x00 = FFFFFCCCFFFF0000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x14,0x3f,0x00 = 00000FFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x14,0x3f,0x00 = 0000FFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x14,0x3f,0x00 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x3f,0x3f,0x00 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x3f,0x3f,0x00 = 0000FFFFCCCCAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x3f,0x3f,0x00 = FFFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x3f,0x3f,0x00 = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x3f,0x3f,0x00 = 0000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x3f,0x3f,0x00 = FFFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x3f,0x3f,0x00 = 0000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x3f,0x3f,0x00 = 0000FFFFCCCCAAAB (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x3f,0x3f,0x00 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x80,0x3f,0x00 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x80,0x3f,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x80,0x3f,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x80,0x3f,0x00 = 5555CCCCFFFF0000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x80,0x3f,0x00 = 5555CCCCFFFF0000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x80,0x3f,0x00 = 5555CCCCFFFF0000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x80,0x3f,0x00 = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x80,0x3f,0x00 = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x80,0x3f,0x00 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xa1,0x3f,0x00 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xa1,0x3f,0x00 = 0000FFFF80000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xa1,0x3f,0x00 = FFFFFFFF80000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xa1,0x3f,0x00 = 000000007FFF0000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xa1,0x3f,0x00 = 0000FFFFFFFF0000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xa1,0x3f,0x00 = FFFFFFFFFFFF0000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xa1,0x3f,0x00 = 000000007FFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xa1,0x3f,0x00 = 0000FFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xa1,0x3f,0x00 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xbf,0x3f,0x00 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xbf,0x3f,0x00 = 0000FFFFCCCCAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xbf,0x3f,0x00 = FFFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xbf,0x3f,0x00 = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xbf,0x3f,0x00 = 0000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xbf,0x3f,0x00 = FFFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xbf,0x3f,0x00 = 0000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xbf,0x3f,0x00 = 0000FFFFCCCCAAAB (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xbf,0x3f,0x00 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x00,0x80,0x00 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x00,0x80,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x00,0x80,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x00,0x80,0x00 = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x00,0x80,0x00 = 0000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x00,0x80,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x00,0x80,0x00 = 8000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x00,0x80,0x00 = 8000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x00,0x80,0x00 = 8000000000000000 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x14,0x80,0x00 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x14,0x80,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x14,0x80,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x14,0x80,0x00 = 00000CCCFFFF0000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x14,0x80,0x00 = 00000CCCFFFF0000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x14,0x80,0x00 = 00000CCCFFFF0000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x14,0x80,0x00 = 80000FFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x14,0x80,0x00 = 80000FFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x14,0x80,0x00 = 80000FFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x3f,0x80,0x00 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x3f,0x80,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x3f,0x80,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x3f,0x80,0x00 = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x3f,0x80,0x00 = 0000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x3f,0x80,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x3f,0x80,0x00 = 8000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x3f,0x80,0x00 = 8000000000000001 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x3f,0x80,0x00 = 8000000000000001 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x80,0x80,0x00 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x80,0x80,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x80,0x80,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x80,0x80,0x00 = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x80,0x80,0x00 = 0000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x80,0x80,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x80,0x80,0x00 = 8000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x80,0x80,0x00 = 8000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x80,0x80,0x00 = 8000000000000000 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xa1,0x80,0x00 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xa1,0x80,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xa1,0x80,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xa1,0x80,0x00 = 000000007FFF0000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xa1,0x80,0x00 = 000000007FFF0000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xa1,0x80,0x00 = 000000007FFF0000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xa1,0x80,0x00 = 800000007FFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xa1,0x80,0x00 = 800000007FFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xa1,0x80,0x00 = 800000007FFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xbf,0x80,0x00 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xbf,0x80,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xbf,0x80,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xbf,0x80,0x00 = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xbf,0x80,0x00 = 0000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xbf,0x80,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xbf,0x80,0x00 = 8000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xbf,0x80,0x00 = 8000000000000001 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xbf,0x80,0x00 = 8000000000000001 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x00,0x9e,0x00 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x00,0x9e,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x00,0x9e,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x00,0x9e,0x00 = 5555CCCC00000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x00,0x9e,0x00 = 5555CCCC00000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x00,0x9e,0x00 = 5555CCCC00000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x00,0x9e,0x00 = FFFFFFFE00000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x00,0x9e,0x00 = FFFFFFFE00000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x00,0x9e,0x00 = FFFFFFFE00000000 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x14,0x9e,0x00 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x14,0x9e,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x14,0x9e,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x14,0x9e,0x00 = 00000CCC00000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x14,0x9e,0x00 = 00000CCC00000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x14,0x9e,0x00 = 00000CCC00000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x14,0x9e,0x00 = 00000FFE00000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x14,0x9e,0x00 = 00000FFE00000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x14,0x9e,0x00 = 00000FFE00000000 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x3f,0x9e,0x00 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x3f,0x9e,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x3f,0x9e,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x3f,0x9e,0x00 = 5555CCCC00000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x3f,0x9e,0x00 = 5555CCCC00000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x3f,0x9e,0x00 = 5555CCCC00000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x3f,0x9e,0x00 = FFFFFFFE00000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x3f,0x9e,0x00 = FFFFFFFE00000001 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x3f,0x9e,0x00 = FFFFFFFE00000001 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x80,0x9e,0x00 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x80,0x9e,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x80,0x9e,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x80,0x9e,0x00 = 5555CCCC00000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x80,0x9e,0x00 = 5555CCCC00000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x80,0x9e,0x00 = 5555CCCC00000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x80,0x9e,0x00 = FFFFFFFE00000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x80,0x9e,0x00 = FFFFFFFE00000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x80,0x9e,0x00 = FFFFFFFE00000000 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xa1,0x9e,0x00 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xa1,0x9e,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xa1,0x9e,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xa1,0x9e,0x00 = 5555CCCC7FFF0000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xa1,0x9e,0x00 = 5555CCCC7FFF0000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xa1,0x9e,0x00 = 5555CCCC7FFF0000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xa1,0x9e,0x00 = FFFFFFFE7FFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xa1,0x9e,0x00 = FFFFFFFE7FFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xa1,0x9e,0x00 = FFFFFFFE7FFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xbf,0x9e,0x00 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xbf,0x9e,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xbf,0x9e,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xbf,0x9e,0x00 = 5555CCCC00000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xbf,0x9e,0x00 = 5555CCCC00000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xbf,0x9e,0x00 = 5555CCCC00000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xbf,0x9e,0x00 = FFFFFFFE00000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xbf,0x9e,0x00 = FFFFFFFE00000001 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xbf,0x9e,0x00 = FFFFFFFE00000001 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x00,0xbf,0x00 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x00,0xbf,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x00,0xbf,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x00,0xbf,0x00 = 5555CCCCFFFF0000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x00,0xbf,0x00 = 5555CCCCFFFF0000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x00,0xbf,0x00 = 5555CCCCFFFF0000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x00,0xbf,0x00 = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x00,0xbf,0x00 = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x00,0xbf,0x00 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x14,0xbf,0x00 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x14,0xbf,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x14,0xbf,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x14,0xbf,0x00 = 00000CCCFFFF0000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x14,0xbf,0x00 = 00000CCCFFFF0000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x14,0xbf,0x00 = 00000CCCFFFF0000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x14,0xbf,0x00 = 00000FFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x14,0xbf,0x00 = 00000FFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x14,0xbf,0x00 = 00000FFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x3f,0xbf,0x00 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x3f,0xbf,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x3f,0xbf,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x3f,0xbf,0x00 = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x3f,0xbf,0x00 = 0000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x3f,0xbf,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x3f,0xbf,0x00 = 0000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x3f,0xbf,0x00 = 0000000000000001 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x3f,0xbf,0x00 = 0000000000000001 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x80,0xbf,0x00 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x80,0xbf,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x80,0xbf,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x80,0xbf,0x00 = 5555CCCCFFFF0000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x80,0xbf,0x00 = 5555CCCCFFFF0000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x80,0xbf,0x00 = 5555CCCCFFFF0000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x80,0xbf,0x00 = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x80,0xbf,0x00 = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x80,0xbf,0x00 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xa1,0xbf,0x00 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xa1,0xbf,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xa1,0xbf,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xa1,0xbf,0x00 = 000000007FFF0000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xa1,0xbf,0x00 = 000000007FFF0000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xa1,0xbf,0x00 = 000000007FFF0000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xa1,0xbf,0x00 = 000000007FFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xa1,0xbf,0x00 = 000000007FFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xa1,0xbf,0x00 = 000000007FFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xbf,0xbf,0x00 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xbf,0xbf,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xbf,0xbf,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xbf,0xbf,0x00 = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xbf,0xbf,0x00 = 0000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xbf,0xbf,0x00 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xbf,0xbf,0x00 = 0000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xbf,0xbf,0x00 = 0000000000000001 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xbf,0xbf,0x00 = 0000000000000001 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x00,0x00,0x01 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x00,0x00,0x01 = 0000FFFFCCCCAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x00,0x00,0x01 = 7FFFFFFFFFFFFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x00,0x00,0x01 = 8000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x00,0x00,0x01 = 8000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x00,0x00,0x01 = FFFFFFFFFFFFFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x00,0x00,0x01 = 8000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x00,0x00,0x01 = 8000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x00,0x00,0x01 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x14,0x00,0x01 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x14,0x00,0x01 = 0000F00000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x14,0x00,0x01 = 7FFFF00000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x14,0x00,0x01 = 80000999FFFE0000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x14,0x00,0x01 = 8000F999FFFE0000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x14,0x00,0x01 = FFFFF999FFFE0000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x14,0x00,0x01 = 80000FFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x14,0x00,0x01 = 8000FFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x14,0x00,0x01 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x3f,0x00,0x01 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x3f,0x00,0x01 = 0000FFFFCCCCAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x3f,0x00,0x01 = 7FFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x3f,0x00,0x01 = 8000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x3f,0x00,0x01 = 8000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x3f,0x00,0x01 = FFFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x3f,0x00,0x01 = 8000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x3f,0x00,0x01 = 8000FFFFCCCCAAAB (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x3f,0x00,0x01 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x80,0x00,0x01 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x80,0x00,0x01 = 0000FFFFCCCCAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x80,0x00,0x01 = 7FFFFFFFFFFFFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x80,0x00,0x01 = 8000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x80,0x00,0x01 = 8000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x80,0x00,0x01 = FFFFFFFFFFFFFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x80,0x00,0x01 = 8000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x80,0x00,0x01 = 8000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x80,0x00,0x01 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xa1,0x00,0x01 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xa1,0x00,0x01 = 0000FFFF80000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xa1,0x00,0x01 = 7FFFFFFF80000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xa1,0x00,0x01 = 800000007FFE0000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xa1,0x00,0x01 = 8000FFFFFFFE0000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xa1,0x00,0x01 = FFFFFFFFFFFE0000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xa1,0x00,0x01 = 800000007FFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xa1,0x00,0x01 = 8000FFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xa1,0x00,0x01 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xbf,0x00,0x01 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xbf,0x00,0x01 = 0000FFFFCCCCAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xbf,0x00,0x01 = 7FFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xbf,0x00,0x01 = 8000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xbf,0x00,0x01 = 8000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xbf,0x00,0x01 = FFFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xbf,0x00,0x01 = 8000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xbf,0x00,0x01 = 8000FFFFCCCCAAAB (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xbf,0x00,0x01 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x00,0x2a,0x01 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x00,0x2a,0x01 = 00000000000CAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x00,0x2a,0x01 = 00000000001FFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x00,0x2a,0x01 = AAAB9999FFE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x00,0x2a,0x01 = AAAB9999FFECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x00,0x2a,0x01 = AAAB9999FFFFFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x00,0x2a,0x01 = FFFFFFFFFFE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x00,0x2a,0x01 = FFFFFFFFFFECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x00,0x2a,0x01 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x14,0x2a,0x01 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x14,0x2a,0x01 = 0000F000000CAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x14,0x2a,0x01 = FFFFF000001FFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x14,0x2a,0x01 = 00000999FFE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x14,0x2a,0x01 = 0000F999FFECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x14,0x2a,0x01 = FFFFF999FFFFFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x14,0x2a,0x01 = 00000FFFFFE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x14,0x2a,0x01 = 0000FFFFFFECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x14,0x2a,0x01 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x3f,0x2a,0x01 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x3f,0x2a,0x01 = 00000000000CAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x3f,0x2a,0x01 = 00000000001FFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x3f,0x2a,0x01 = AAAB9999FFE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x3f,0x2a,0x01 = AAAB9999FFECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x3f,0x2a,0x01 = AAAB9999FFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x3f,0x2a,0x01 = FFFFFFFFFFE00001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x3f,0x2a,0x01 = FFFFFFFFFFECAAAB (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x3f,0x2a,0x01 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x80,0x2a,0x01 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x80,0x2a,0x01 = 00000000000CAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x80,0x2a,0x01 = 00000000001FFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x80,0x2a,0x01 = AAAB9999FFE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x80,0x2a,0x01 = AAAB9999FFECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x80,0x2a,0x01 = AAAB9999FFFFFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x80,0x2a,0x01 = FFFFFFFFFFE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x80,0x2a,0x01 = FFFFFFFFFFECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x80,0x2a,0x01 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xa1,0x2a,0x01 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xa1,0x2a,0x01 = 0000FFFF800CAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xa1,0x2a,0x01 = FFFFFFFF801FFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xa1,0x2a,0x01 = 000000007FE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xa1,0x2a,0x01 = 0000FFFFFFECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xa1,0x2a,0x01 = FFFFFFFFFFFFFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xa1,0x2a,0x01 = 000000007FE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xa1,0x2a,0x01 = 0000FFFFFFECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xa1,0x2a,0x01 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xbf,0x2a,0x01 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xbf,0x2a,0x01 = 00000000000CAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xbf,0x2a,0x01 = 00000000001FFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xbf,0x2a,0x01 = AAAB9999FFE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xbf,0x2a,0x01 = AAAB9999FFECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xbf,0x2a,0x01 = AAAB9999FFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xbf,0x2a,0x01 = FFFFFFFFFFE00001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xbf,0x2a,0x01 = FFFFFFFFFFECAAAB (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xbf,0x2a,0x01 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x00,0x3f,0x01 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x00,0x3f,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x00,0x3f,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x00,0x3f,0x01 = AAAB9999FFFE0000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x00,0x3f,0x01 = AAAB9999FFFE0000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x00,0x3f,0x01 = AAAB9999FFFE0000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x00,0x3f,0x01 = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x00,0x3f,0x01 = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x00,0x3f,0x01 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x14,0x3f,0x01 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x14,0x3f,0x01 = 0000F00000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x14,0x3f,0x01 = FFFFF00000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x14,0x3f,0x01 = 00000999FFFE0000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x14,0x3f,0x01 = 0000F999FFFE0000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x14,0x3f,0x01 = FFFFF999FFFE0000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x14,0x3f,0x01 = 00000FFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x14,0x3f,0x01 = 0000FFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x14,0x3f,0x01 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x3f,0x3f,0x01 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x3f,0x3f,0x01 = 0000FFFFCCCCAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x3f,0x3f,0x01 = FFFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x3f,0x3f,0x01 = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x3f,0x3f,0x01 = 0000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x3f,0x3f,0x01 = FFFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x3f,0x3f,0x01 = 0000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x3f,0x3f,0x01 = 0000FFFFCCCCAAAB (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x3f,0x3f,0x01 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x80,0x3f,0x01 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x80,0x3f,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x80,0x3f,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x80,0x3f,0x01 = AAAB9999FFFE0000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x80,0x3f,0x01 = AAAB9999FFFE0000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x80,0x3f,0x01 = AAAB9999FFFE0000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x80,0x3f,0x01 = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x80,0x3f,0x01 = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x80,0x3f,0x01 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xa1,0x3f,0x01 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xa1,0x3f,0x01 = 0000FFFF80000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xa1,0x3f,0x01 = FFFFFFFF80000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xa1,0x3f,0x01 = 000000007FFE0000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xa1,0x3f,0x01 = 0000FFFFFFFE0000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xa1,0x3f,0x01 = FFFFFFFFFFFE0000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xa1,0x3f,0x01 = 000000007FFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xa1,0x3f,0x01 = 0000FFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xa1,0x3f,0x01 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xbf,0x3f,0x01 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xbf,0x3f,0x01 = 0000FFFFCCCCAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xbf,0x3f,0x01 = FFFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xbf,0x3f,0x01 = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xbf,0x3f,0x01 = 0000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xbf,0x3f,0x01 = FFFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xbf,0x3f,0x01 = 0000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xbf,0x3f,0x01 = 0000FFFFCCCCAAAB (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xbf,0x3f,0x01 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x00,0x80,0x01 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x00,0x80,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x00,0x80,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x00,0x80,0x01 = 8000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x00,0x80,0x01 = 8000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x00,0x80,0x01 = 8000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x00,0x80,0x01 = 8000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x00,0x80,0x01 = 8000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x00,0x80,0x01 = 8000000000000000 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x14,0x80,0x01 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x14,0x80,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x14,0x80,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x14,0x80,0x01 = 80000999FFFE0000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x14,0x80,0x01 = 80000999FFFE0000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x14,0x80,0x01 = 80000999FFFE0000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x14,0x80,0x01 = 80000FFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x14,0x80,0x01 = 80000FFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x14,0x80,0x01 = 80000FFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x3f,0x80,0x01 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x3f,0x80,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x3f,0x80,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x3f,0x80,0x01 = 8000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x3f,0x80,0x01 = 8000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x3f,0x80,0x01 = 8000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x3f,0x80,0x01 = 8000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x3f,0x80,0x01 = 8000000000000001 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x3f,0x80,0x01 = 8000000000000001 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x80,0x80,0x01 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x80,0x80,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x80,0x80,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x80,0x80,0x01 = 8000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x80,0x80,0x01 = 8000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x80,0x80,0x01 = 8000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x80,0x80,0x01 = 8000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x80,0x80,0x01 = 8000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x80,0x80,0x01 = 8000000000000000 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xa1,0x80,0x01 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xa1,0x80,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xa1,0x80,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xa1,0x80,0x01 = 800000007FFE0000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xa1,0x80,0x01 = 800000007FFE0000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xa1,0x80,0x01 = 800000007FFE0000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xa1,0x80,0x01 = 800000007FFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xa1,0x80,0x01 = 800000007FFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xa1,0x80,0x01 = 800000007FFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xbf,0x80,0x01 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xbf,0x80,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xbf,0x80,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xbf,0x80,0x01 = 8000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xbf,0x80,0x01 = 8000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xbf,0x80,0x01 = 8000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xbf,0x80,0x01 = 8000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xbf,0x80,0x01 = 8000000000000001 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xbf,0x80,0x01 = 8000000000000001 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x00,0x9e,0x01 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x00,0x9e,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x00,0x9e,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x00,0x9e,0x01 = AAAB999800000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x00,0x9e,0x01 = AAAB999800000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x00,0x9e,0x01 = AAAB999800000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x00,0x9e,0x01 = FFFFFFFE00000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x00,0x9e,0x01 = FFFFFFFE00000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x00,0x9e,0x01 = FFFFFFFE00000000 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x14,0x9e,0x01 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x14,0x9e,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x14,0x9e,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x14,0x9e,0x01 = 0000099800000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x14,0x9e,0x01 = 0000099800000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x14,0x9e,0x01 = 0000099800000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x14,0x9e,0x01 = 00000FFE00000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x14,0x9e,0x01 = 00000FFE00000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x14,0x9e,0x01 = 00000FFE00000000 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x3f,0x9e,0x01 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x3f,0x9e,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x3f,0x9e,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x3f,0x9e,0x01 = AAAB999800000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x3f,0x9e,0x01 = AAAB999800000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x3f,0x9e,0x01 = AAAB999800000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x3f,0x9e,0x01 = FFFFFFFE00000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x3f,0x9e,0x01 = FFFFFFFE00000001 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x3f,0x9e,0x01 = FFFFFFFE00000001 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x80,0x9e,0x01 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x80,0x9e,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x80,0x9e,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x80,0x9e,0x01 = AAAB999800000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x80,0x9e,0x01 = AAAB999800000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x80,0x9e,0x01 = AAAB999800000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x80,0x9e,0x01 = FFFFFFFE00000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x80,0x9e,0x01 = FFFFFFFE00000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x80,0x9e,0x01 = FFFFFFFE00000000 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xa1,0x9e,0x01 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xa1,0x9e,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xa1,0x9e,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xa1,0x9e,0x01 = AAAB99987FFE0000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xa1,0x9e,0x01 = AAAB99987FFE0000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xa1,0x9e,0x01 = AAAB99987FFE0000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xa1,0x9e,0x01 = FFFFFFFE7FFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xa1,0x9e,0x01 = FFFFFFFE7FFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xa1,0x9e,0x01 = FFFFFFFE7FFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xbf,0x9e,0x01 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xbf,0x9e,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xbf,0x9e,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xbf,0x9e,0x01 = AAAB999800000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xbf,0x9e,0x01 = AAAB999800000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xbf,0x9e,0x01 = AAAB999800000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xbf,0x9e,0x01 = FFFFFFFE00000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xbf,0x9e,0x01 = FFFFFFFE00000001 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xbf,0x9e,0x01 = FFFFFFFE00000001 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x00,0xbf,0x01 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x00,0xbf,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x00,0xbf,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x00,0xbf,0x01 = AAAB9999FFFE0000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x00,0xbf,0x01 = AAAB9999FFFE0000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x00,0xbf,0x01 = AAAB9999FFFE0000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x00,0xbf,0x01 = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x00,0xbf,0x01 = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x00,0xbf,0x01 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x14,0xbf,0x01 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x14,0xbf,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x14,0xbf,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x14,0xbf,0x01 = 00000999FFFE0000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x14,0xbf,0x01 = 00000999FFFE0000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x14,0xbf,0x01 = 00000999FFFE0000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x14,0xbf,0x01 = 00000FFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x14,0xbf,0x01 = 00000FFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x14,0xbf,0x01 = 00000FFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x3f,0xbf,0x01 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x3f,0xbf,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x3f,0xbf,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x3f,0xbf,0x01 = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x3f,0xbf,0x01 = 0000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x3f,0xbf,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x3f,0xbf,0x01 = 0000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x3f,0xbf,0x01 = 0000000000000001 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x3f,0xbf,0x01 = 0000000000000001 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x80,0xbf,0x01 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x80,0xbf,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x80,0xbf,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x80,0xbf,0x01 = AAAB9999FFFE0000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x80,0xbf,0x01 = AAAB9999FFFE0000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x80,0xbf,0x01 = AAAB9999FFFE0000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x80,0xbf,0x01 = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x80,0xbf,0x01 = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x80,0xbf,0x01 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xa1,0xbf,0x01 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xa1,0xbf,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xa1,0xbf,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xa1,0xbf,0x01 = 000000007FFE0000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xa1,0xbf,0x01 = 000000007FFE0000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xa1,0xbf,0x01 = 000000007FFE0000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xa1,0xbf,0x01 = 000000007FFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xa1,0xbf,0x01 = 000000007FFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xa1,0xbf,0x01 = 000000007FFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xbf,0xbf,0x01 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xbf,0xbf,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xbf,0xbf,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xbf,0xbf,0x01 = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xbf,0xbf,0x01 = 0000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xbf,0xbf,0x01 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xbf,0xbf,0x01 = 0000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xbf,0xbf,0x01 = 0000000000000001 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xbf,0xbf,0x01 = 0000000000000001 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x00,0x00,0x13 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x00,0x00,0x13 = 0000FFFFCCCCAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x00,0x00,0x13 = 7FFFFFFFFFFFFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x00,0x00,0x13 = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x00,0x00,0x13 = 0000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x00,0x00,0x13 = 7FFFFFFFFFFFFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x00,0x00,0x13 = 8000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x00,0x00,0x13 = 8000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x00,0x00,0x13 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x14,0x00,0x13 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x14,0x00,0x13 = 0000F00000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x14,0x00,0x13 = 7FFFF00000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x14,0x00,0x13 = 00000FF80002AAAE (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x14,0x00,0x13 = 0000FFF80002AAAE (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x14,0x00,0x13 = 7FFFFFF80002AAAE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x14,0x00,0x13 = 80000FFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x14,0x00,0x13 = 8000FFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x14,0x00,0x13 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x3f,0x00,0x13 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x3f,0x00,0x13 = 0000FFFFCCCCAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x3f,0x00,0x13 = 7FFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x3f,0x00,0x13 = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x3f,0x00,0x13 = 0000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x3f,0x00,0x13 = 7FFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x3f,0x00,0x13 = 8000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x3f,0x00,0x13 = 8000FFFFCCCCAAAB (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x3f,0x00,0x13 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x80,0x00,0x13 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x80,0x00,0x13 = 0000FFFFCCCCAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x80,0x00,0x13 = 7FFFFFFFFFFFFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x80,0x00,0x13 = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x80,0x00,0x13 = 0000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x80,0x00,0x13 = 7FFFFFFFFFFFFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x80,0x00,0x13 = 8000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x80,0x00,0x13 = 8000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x80,0x00,0x13 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xa1,0x00,0x13 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xa1,0x00,0x13 = 0000FFFF80000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xa1,0x00,0x13 = 7FFFFFFF80000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xa1,0x00,0x13 = 000000000002AAAE (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xa1,0x00,0x13 = 0000FFFF8002AAAE (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xa1,0x00,0x13 = 7FFFFFFF8002AAAE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xa1,0x00,0x13 = 800000007FFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xa1,0x00,0x13 = 8000FFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xa1,0x00,0x13 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xbf,0x00,0x13 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xbf,0x00,0x13 = 0000FFFFCCCCAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xbf,0x00,0x13 = 7FFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xbf,0x00,0x13 = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xbf,0x00,0x13 = 0000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xbf,0x00,0x13 = 7FFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xbf,0x00,0x13 = 8000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xbf,0x00,0x13 = 8000FFFFCCCCAAAB (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xbf,0x00,0x13 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x00,0x2a,0x13 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x00,0x2a,0x13 = 00000000000CAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x00,0x2a,0x13 = 00000000001FFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x00,0x2a,0x13 = 6667FFF800000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x00,0x2a,0x13 = 6667FFF8000CAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x00,0x2a,0x13 = 6667FFF8001FFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x00,0x2a,0x13 = FFFFFFFFFFE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x00,0x2a,0x13 = FFFFFFFFFFECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x00,0x2a,0x13 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x14,0x2a,0x13 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x14,0x2a,0x13 = 0000F000000CAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x14,0x2a,0x13 = FFFFF000001FFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x14,0x2a,0x13 = 00000FF800000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x14,0x2a,0x13 = 0000FFF8000CAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x14,0x2a,0x13 = FFFFFFF8001FFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x14,0x2a,0x13 = 00000FFFFFE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x14,0x2a,0x13 = 0000FFFFFFECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x14,0x2a,0x13 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x3f,0x2a,0x13 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x3f,0x2a,0x13 = 00000000000CAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x3f,0x2a,0x13 = 00000000001FFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x3f,0x2a,0x13 = 6667FFF800000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x3f,0x2a,0x13 = 6667FFF8000CAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x3f,0x2a,0x13 = 6667FFF8001FFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x3f,0x2a,0x13 = FFFFFFFFFFE00001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x3f,0x2a,0x13 = FFFFFFFFFFECAAAB (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x3f,0x2a,0x13 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x80,0x2a,0x13 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x80,0x2a,0x13 = 00000000000CAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x80,0x2a,0x13 = 00000000001FFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x80,0x2a,0x13 = 6667FFF800000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x80,0x2a,0x13 = 6667FFF8000CAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x80,0x2a,0x13 = 6667FFF8001FFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x80,0x2a,0x13 = FFFFFFFFFFE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x80,0x2a,0x13 = FFFFFFFFFFECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x80,0x2a,0x13 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xa1,0x2a,0x13 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xa1,0x2a,0x13 = 0000FFFF800CAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xa1,0x2a,0x13 = FFFFFFFF801FFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xa1,0x2a,0x13 = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xa1,0x2a,0x13 = 0000FFFF800CAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xa1,0x2a,0x13 = FFFFFFFF801FFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xa1,0x2a,0x13 = 000000007FE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xa1,0x2a,0x13 = 0000FFFFFFECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xa1,0x2a,0x13 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xbf,0x2a,0x13 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xbf,0x2a,0x13 = 00000000000CAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xbf,0x2a,0x13 = 00000000001FFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xbf,0x2a,0x13 = 6667FFF800000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xbf,0x2a,0x13 = 6667FFF8000CAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xbf,0x2a,0x13 = 6667FFF8001FFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xbf,0x2a,0x13 = FFFFFFFFFFE00001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xbf,0x2a,0x13 = FFFFFFFFFFECAAAB (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xbf,0x2a,0x13 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x00,0x3f,0x13 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x00,0x3f,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x00,0x3f,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x00,0x3f,0x13 = 6667FFF80002AAAE (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x00,0x3f,0x13 = 6667FFF80002AAAE (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x00,0x3f,0x13 = 6667FFF80002AAAE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x00,0x3f,0x13 = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x00,0x3f,0x13 = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x00,0x3f,0x13 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x14,0x3f,0x13 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x14,0x3f,0x13 = 0000F00000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x14,0x3f,0x13 = FFFFF00000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x14,0x3f,0x13 = 00000FF80002AAAE (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x14,0x3f,0x13 = 0000FFF80002AAAE (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x14,0x3f,0x13 = FFFFFFF80002AAAE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x14,0x3f,0x13 = 00000FFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x14,0x3f,0x13 = 0000FFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x14,0x3f,0x13 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x3f,0x3f,0x13 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x3f,0x3f,0x13 = 0000FFFFCCCCAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x3f,0x3f,0x13 = FFFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x3f,0x3f,0x13 = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x3f,0x3f,0x13 = 0000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x3f,0x3f,0x13 = FFFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x3f,0x3f,0x13 = 0000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x3f,0x3f,0x13 = 0000FFFFCCCCAAAB (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x3f,0x3f,0x13 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x80,0x3f,0x13 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x80,0x3f,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x80,0x3f,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x80,0x3f,0x13 = 6667FFF80002AAAE (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x80,0x3f,0x13 = 6667FFF80002AAAE (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x80,0x3f,0x13 = 6667FFF80002AAAE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x80,0x3f,0x13 = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x80,0x3f,0x13 = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x80,0x3f,0x13 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xa1,0x3f,0x13 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xa1,0x3f,0x13 = 0000FFFF80000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xa1,0x3f,0x13 = FFFFFFFF80000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xa1,0x3f,0x13 = 000000000002AAAE (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xa1,0x3f,0x13 = 0000FFFF8002AAAE (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xa1,0x3f,0x13 = FFFFFFFF8002AAAE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xa1,0x3f,0x13 = 000000007FFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xa1,0x3f,0x13 = 0000FFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xa1,0x3f,0x13 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xbf,0x3f,0x13 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xbf,0x3f,0x13 = 0000FFFFCCCCAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xbf,0x3f,0x13 = FFFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xbf,0x3f,0x13 = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xbf,0x3f,0x13 = 0000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xbf,0x3f,0x13 = FFFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xbf,0x3f,0x13 = 0000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xbf,0x3f,0x13 = 0000FFFFCCCCAAAB (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xbf,0x3f,0x13 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x00,0x80,0x13 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x00,0x80,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x00,0x80,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x00,0x80,0x13 = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x00,0x80,0x13 = 0000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x00,0x80,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x00,0x80,0x13 = 8000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x00,0x80,0x13 = 8000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x00,0x80,0x13 = 8000000000000000 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x14,0x80,0x13 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x14,0x80,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x14,0x80,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x14,0x80,0x13 = 00000FF80002AAAE (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x14,0x80,0x13 = 00000FF80002AAAE (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x14,0x80,0x13 = 00000FF80002AAAE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x14,0x80,0x13 = 80000FFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x14,0x80,0x13 = 80000FFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x14,0x80,0x13 = 80000FFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x3f,0x80,0x13 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x3f,0x80,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x3f,0x80,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x3f,0x80,0x13 = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x3f,0x80,0x13 = 0000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x3f,0x80,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x3f,0x80,0x13 = 8000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x3f,0x80,0x13 = 8000000000000001 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x3f,0x80,0x13 = 8000000000000001 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x80,0x80,0x13 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x80,0x80,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x80,0x80,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x80,0x80,0x13 = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x80,0x80,0x13 = 0000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x80,0x80,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x80,0x80,0x13 = 8000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x80,0x80,0x13 = 8000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x80,0x80,0x13 = 8000000000000000 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xa1,0x80,0x13 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xa1,0x80,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xa1,0x80,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xa1,0x80,0x13 = 000000000002AAAE (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xa1,0x80,0x13 = 000000000002AAAE (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xa1,0x80,0x13 = 000000000002AAAE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xa1,0x80,0x13 = 800000007FFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xa1,0x80,0x13 = 800000007FFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xa1,0x80,0x13 = 800000007FFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xbf,0x80,0x13 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xbf,0x80,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xbf,0x80,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xbf,0x80,0x13 = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xbf,0x80,0x13 = 0000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xbf,0x80,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xbf,0x80,0x13 = 8000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xbf,0x80,0x13 = 8000000000000001 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xbf,0x80,0x13 = 8000000000000001 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x00,0x9e,0x13 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x00,0x9e,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x00,0x9e,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x00,0x9e,0x13 = 6667FFF800000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x00,0x9e,0x13 = 6667FFF800000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x00,0x9e,0x13 = 6667FFF800000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x00,0x9e,0x13 = FFFFFFFE00000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x00,0x9e,0x13 = FFFFFFFE00000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x00,0x9e,0x13 = FFFFFFFE00000000 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x14,0x9e,0x13 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x14,0x9e,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x14,0x9e,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x14,0x9e,0x13 = 00000FF800000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x14,0x9e,0x13 = 00000FF800000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x14,0x9e,0x13 = 00000FF800000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x14,0x9e,0x13 = 00000FFE00000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x14,0x9e,0x13 = 00000FFE00000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x14,0x9e,0x13 = 00000FFE00000000 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x3f,0x9e,0x13 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x3f,0x9e,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x3f,0x9e,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x3f,0x9e,0x13 = 6667FFF800000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x3f,0x9e,0x13 = 6667FFF800000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x3f,0x9e,0x13 = 6667FFF800000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x3f,0x9e,0x13 = FFFFFFFE00000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x3f,0x9e,0x13 = FFFFFFFE00000001 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x3f,0x9e,0x13 = FFFFFFFE00000001 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x80,0x9e,0x13 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x80,0x9e,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x80,0x9e,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x80,0x9e,0x13 = 6667FFF800000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x80,0x9e,0x13 = 6667FFF800000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x80,0x9e,0x13 = 6667FFF800000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x80,0x9e,0x13 = FFFFFFFE00000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x80,0x9e,0x13 = FFFFFFFE00000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x80,0x9e,0x13 = FFFFFFFE00000000 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xa1,0x9e,0x13 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xa1,0x9e,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xa1,0x9e,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xa1,0x9e,0x13 = 6667FFF80002AAAE (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xa1,0x9e,0x13 = 6667FFF80002AAAE (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xa1,0x9e,0x13 = 6667FFF80002AAAE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xa1,0x9e,0x13 = FFFFFFFE7FFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xa1,0x9e,0x13 = FFFFFFFE7FFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xa1,0x9e,0x13 = FFFFFFFE7FFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xbf,0x9e,0x13 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xbf,0x9e,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xbf,0x9e,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xbf,0x9e,0x13 = 6667FFF800000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xbf,0x9e,0x13 = 6667FFF800000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xbf,0x9e,0x13 = 6667FFF800000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xbf,0x9e,0x13 = FFFFFFFE00000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xbf,0x9e,0x13 = FFFFFFFE00000001 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xbf,0x9e,0x13 = FFFFFFFE00000001 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x00,0xbf,0x13 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x00,0xbf,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x00,0xbf,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x00,0xbf,0x13 = 6667FFF80002AAAE (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x00,0xbf,0x13 = 6667FFF80002AAAE (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x00,0xbf,0x13 = 6667FFF80002AAAE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x00,0xbf,0x13 = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x00,0xbf,0x13 = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x00,0xbf,0x13 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x14,0xbf,0x13 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x14,0xbf,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x14,0xbf,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x14,0xbf,0x13 = 00000FF80002AAAE (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x14,0xbf,0x13 = 00000FF80002AAAE (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x14,0xbf,0x13 = 00000FF80002AAAE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x14,0xbf,0x13 = 00000FFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x14,0xbf,0x13 = 00000FFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x14,0xbf,0x13 = 00000FFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x3f,0xbf,0x13 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x3f,0xbf,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x3f,0xbf,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x3f,0xbf,0x13 = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x3f,0xbf,0x13 = 0000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x3f,0xbf,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x3f,0xbf,0x13 = 0000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x3f,0xbf,0x13 = 0000000000000001 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x3f,0xbf,0x13 = 0000000000000001 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x80,0xbf,0x13 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x80,0xbf,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x80,0xbf,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x80,0xbf,0x13 = 6667FFF80002AAAE (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x80,0xbf,0x13 = 6667FFF80002AAAE (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x80,0xbf,0x13 = 6667FFF80002AAAE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x80,0xbf,0x13 = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x80,0xbf,0x13 = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x80,0xbf,0x13 = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xa1,0xbf,0x13 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xa1,0xbf,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xa1,0xbf,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xa1,0xbf,0x13 = 000000000002AAAE (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xa1,0xbf,0x13 = 000000000002AAAE (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xa1,0xbf,0x13 = 000000000002AAAE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xa1,0xbf,0x13 = 000000007FFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xa1,0xbf,0x13 = 000000007FFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xa1,0xbf,0x13 = 000000007FFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xbf,0xbf,0x13 = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xbf,0xbf,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xbf,0xbf,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xbf,0xbf,0x13 = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xbf,0xbf,0x13 = 0000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xbf,0xbf,0x13 = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xbf,0xbf,0x13 = 0000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xbf,0xbf,0x13 = 0000000000000001 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xbf,0xbf,0x13 = 0000000000000001 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x00,0x00,0x3e = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x00,0x00,0x3e = 0000FFFFCCCCAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x00,0x00,0x3e = 7FFFFFFFFFFFFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x00,0x00,0x3e = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x00,0x00,0x3e = 0000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x00,0x00,0x3e = 7FFFFFFFFFFFFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x00,0x00,0x3e = 8000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x00,0x00,0x3e = 8000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x00,0x00,0x3e = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x14,0x00,0x3e = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x14,0x00,0x3e = 0000F00000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x14,0x00,0x3e = 7FFFF00000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x14,0x00,0x3e = 000003333FFFC000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x14,0x00,0x3e = 0000F3333FFFC000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x14,0x00,0x3e = 7FFFF3333FFFC000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x14,0x00,0x3e = 80000FFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x14,0x00,0x3e = 8000FFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x14,0x00,0x3e = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x3f,0x00,0x3e = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x3f,0x00,0x3e = 0000FFFFCCCCAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x3f,0x00,0x3e = 7FFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x3f,0x00,0x3e = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x3f,0x00,0x3e = 0000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x3f,0x00,0x3e = 7FFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x3f,0x00,0x3e = 8000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x3f,0x00,0x3e = 8000FFFFCCCCAAAB (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x3f,0x00,0x3e = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x80,0x00,0x3e = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x80,0x00,0x3e = 0000FFFFCCCCAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x80,0x00,0x3e = 7FFFFFFFFFFFFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x80,0x00,0x3e = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x80,0x00,0x3e = 0000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x80,0x00,0x3e = 7FFFFFFFFFFFFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x80,0x00,0x3e = 8000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x80,0x00,0x3e = 8000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x80,0x00,0x3e = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xa1,0x00,0x3e = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xa1,0x00,0x3e = 0000FFFF80000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xa1,0x00,0x3e = 7FFFFFFF80000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xa1,0x00,0x3e = 000000003FFFC000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xa1,0x00,0x3e = 0000FFFFBFFFC000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xa1,0x00,0x3e = 7FFFFFFFBFFFC000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xa1,0x00,0x3e = 800000007FFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xa1,0x00,0x3e = 8000FFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xa1,0x00,0x3e = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xbf,0x00,0x3e = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xbf,0x00,0x3e = 0000FFFFCCCCAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xbf,0x00,0x3e = 7FFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xbf,0x00,0x3e = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xbf,0x00,0x3e = 0000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xbf,0x00,0x3e = 7FFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xbf,0x00,0x3e = 8000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xbf,0x00,0x3e = 8000FFFFCCCCAAAB (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xbf,0x00,0x3e = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x00,0x2a,0x3e = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x00,0x2a,0x3e = 00000000000CAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x00,0x2a,0x3e = 00000000001FFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x00,0x2a,0x3e = 155573333FE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x00,0x2a,0x3e = 155573333FECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x00,0x2a,0x3e = 155573333FFFFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x00,0x2a,0x3e = FFFFFFFFFFE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x00,0x2a,0x3e = FFFFFFFFFFECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x00,0x2a,0x3e = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x14,0x2a,0x3e = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x14,0x2a,0x3e = 0000F000000CAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x14,0x2a,0x3e = FFFFF000001FFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x14,0x2a,0x3e = 000003333FE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x14,0x2a,0x3e = 0000F3333FECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x14,0x2a,0x3e = FFFFF3333FFFFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x14,0x2a,0x3e = 00000FFFFFE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x14,0x2a,0x3e = 0000FFFFFFECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x14,0x2a,0x3e = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x3f,0x2a,0x3e = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x3f,0x2a,0x3e = 00000000000CAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x3f,0x2a,0x3e = 00000000001FFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x3f,0x2a,0x3e = 155573333FE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x3f,0x2a,0x3e = 155573333FECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x3f,0x2a,0x3e = 155573333FFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x3f,0x2a,0x3e = FFFFFFFFFFE00001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x3f,0x2a,0x3e = FFFFFFFFFFECAAAB (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x3f,0x2a,0x3e = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x80,0x2a,0x3e = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x80,0x2a,0x3e = 00000000000CAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x80,0x2a,0x3e = 00000000001FFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x80,0x2a,0x3e = 155573333FE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x80,0x2a,0x3e = 155573333FECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x80,0x2a,0x3e = 155573333FFFFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x80,0x2a,0x3e = FFFFFFFFFFE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x80,0x2a,0x3e = FFFFFFFFFFECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x80,0x2a,0x3e = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xa1,0x2a,0x3e = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xa1,0x2a,0x3e = 0000FFFF800CAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xa1,0x2a,0x3e = FFFFFFFF801FFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xa1,0x2a,0x3e = 000000003FE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xa1,0x2a,0x3e = 0000FFFFBFECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xa1,0x2a,0x3e = FFFFFFFFBFFFFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xa1,0x2a,0x3e = 000000007FE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xa1,0x2a,0x3e = 0000FFFFFFECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xa1,0x2a,0x3e = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xbf,0x2a,0x3e = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xbf,0x2a,0x3e = 00000000000CAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xbf,0x2a,0x3e = 00000000001FFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xbf,0x2a,0x3e = 155573333FE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xbf,0x2a,0x3e = 155573333FECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xbf,0x2a,0x3e = 155573333FFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xbf,0x2a,0x3e = FFFFFFFFFFE00001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xbf,0x2a,0x3e = FFFFFFFFFFECAAAB (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xbf,0x2a,0x3e = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x00,0x3f,0x3e = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x00,0x3f,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x00,0x3f,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x00,0x3f,0x3e = 155573333FFFC000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x00,0x3f,0x3e = 155573333FFFC000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x00,0x3f,0x3e = 155573333FFFC000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x00,0x3f,0x3e = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x00,0x3f,0x3e = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x00,0x3f,0x3e = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x14,0x3f,0x3e = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x14,0x3f,0x3e = 0000F00000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x14,0x3f,0x3e = FFFFF00000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x14,0x3f,0x3e = 000003333FFFC000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x14,0x3f,0x3e = 0000F3333FFFC000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x14,0x3f,0x3e = FFFFF3333FFFC000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x14,0x3f,0x3e = 00000FFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x14,0x3f,0x3e = 0000FFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x14,0x3f,0x3e = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x3f,0x3f,0x3e = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x3f,0x3f,0x3e = 0000FFFFCCCCAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x3f,0x3f,0x3e = FFFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x3f,0x3f,0x3e = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x3f,0x3f,0x3e = 0000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x3f,0x3f,0x3e = FFFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x3f,0x3f,0x3e = 0000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x3f,0x3f,0x3e = 0000FFFFCCCCAAAB (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x3f,0x3f,0x3e = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x80,0x3f,0x3e = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x80,0x3f,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x80,0x3f,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x80,0x3f,0x3e = 155573333FFFC000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x80,0x3f,0x3e = 155573333FFFC000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x80,0x3f,0x3e = 155573333FFFC000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x80,0x3f,0x3e = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x80,0x3f,0x3e = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x80,0x3f,0x3e = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xa1,0x3f,0x3e = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xa1,0x3f,0x3e = 0000FFFF80000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xa1,0x3f,0x3e = FFFFFFFF80000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xa1,0x3f,0x3e = 000000003FFFC000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xa1,0x3f,0x3e = 0000FFFFBFFFC000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xa1,0x3f,0x3e = FFFFFFFFBFFFC000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xa1,0x3f,0x3e = 000000007FFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xa1,0x3f,0x3e = 0000FFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xa1,0x3f,0x3e = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xbf,0x3f,0x3e = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xbf,0x3f,0x3e = 0000FFFFCCCCAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xbf,0x3f,0x3e = FFFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xbf,0x3f,0x3e = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xbf,0x3f,0x3e = 0000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xbf,0x3f,0x3e = FFFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xbf,0x3f,0x3e = 0000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xbf,0x3f,0x3e = 0000FFFFCCCCAAAB (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xbf,0x3f,0x3e = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x00,0x80,0x3e = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x00,0x80,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x00,0x80,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x00,0x80,0x3e = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x00,0x80,0x3e = 0000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x00,0x80,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x00,0x80,0x3e = 8000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x00,0x80,0x3e = 8000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x00,0x80,0x3e = 8000000000000000 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x14,0x80,0x3e = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x14,0x80,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x14,0x80,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x14,0x80,0x3e = 000003333FFFC000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x14,0x80,0x3e = 000003333FFFC000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x14,0x80,0x3e = 000003333FFFC000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x14,0x80,0x3e = 80000FFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x14,0x80,0x3e = 80000FFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x14,0x80,0x3e = 80000FFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x3f,0x80,0x3e = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x3f,0x80,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x3f,0x80,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x3f,0x80,0x3e = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x3f,0x80,0x3e = 0000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x3f,0x80,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x3f,0x80,0x3e = 8000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x3f,0x80,0x3e = 8000000000000001 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x3f,0x80,0x3e = 8000000000000001 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x80,0x80,0x3e = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x80,0x80,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x80,0x80,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x80,0x80,0x3e = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x80,0x80,0x3e = 0000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x80,0x80,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x80,0x80,0x3e = 8000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x80,0x80,0x3e = 8000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x80,0x80,0x3e = 8000000000000000 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xa1,0x80,0x3e = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xa1,0x80,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xa1,0x80,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xa1,0x80,0x3e = 000000003FFFC000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xa1,0x80,0x3e = 000000003FFFC000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xa1,0x80,0x3e = 000000003FFFC000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xa1,0x80,0x3e = 800000007FFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xa1,0x80,0x3e = 800000007FFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xa1,0x80,0x3e = 800000007FFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xbf,0x80,0x3e = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xbf,0x80,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xbf,0x80,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xbf,0x80,0x3e = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xbf,0x80,0x3e = 0000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xbf,0x80,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xbf,0x80,0x3e = 8000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xbf,0x80,0x3e = 8000000000000001 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xbf,0x80,0x3e = 8000000000000001 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x00,0x9e,0x3e = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x00,0x9e,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x00,0x9e,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x00,0x9e,0x3e = 1555733200000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x00,0x9e,0x3e = 1555733200000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x00,0x9e,0x3e = 1555733200000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x00,0x9e,0x3e = FFFFFFFE00000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x00,0x9e,0x3e = FFFFFFFE00000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x00,0x9e,0x3e = FFFFFFFE00000000 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x14,0x9e,0x3e = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x14,0x9e,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x14,0x9e,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x14,0x9e,0x3e = 0000033200000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x14,0x9e,0x3e = 0000033200000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x14,0x9e,0x3e = 0000033200000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x14,0x9e,0x3e = 00000FFE00000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x14,0x9e,0x3e = 00000FFE00000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x14,0x9e,0x3e = 00000FFE00000000 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x3f,0x9e,0x3e = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x3f,0x9e,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x3f,0x9e,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x3f,0x9e,0x3e = 1555733200000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x3f,0x9e,0x3e = 1555733200000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x3f,0x9e,0x3e = 1555733200000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x3f,0x9e,0x3e = FFFFFFFE00000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x3f,0x9e,0x3e = FFFFFFFE00000001 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x3f,0x9e,0x3e = FFFFFFFE00000001 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x80,0x9e,0x3e = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x80,0x9e,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x80,0x9e,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x80,0x9e,0x3e = 1555733200000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x80,0x9e,0x3e = 1555733200000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x80,0x9e,0x3e = 1555733200000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x80,0x9e,0x3e = FFFFFFFE00000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x80,0x9e,0x3e = FFFFFFFE00000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x80,0x9e,0x3e = FFFFFFFE00000000 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xa1,0x9e,0x3e = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xa1,0x9e,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xa1,0x9e,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xa1,0x9e,0x3e = 155573323FFFC000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xa1,0x9e,0x3e = 155573323FFFC000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xa1,0x9e,0x3e = 155573323FFFC000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xa1,0x9e,0x3e = FFFFFFFE7FFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xa1,0x9e,0x3e = FFFFFFFE7FFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xa1,0x9e,0x3e = FFFFFFFE7FFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xbf,0x9e,0x3e = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xbf,0x9e,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xbf,0x9e,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xbf,0x9e,0x3e = 1555733200000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xbf,0x9e,0x3e = 1555733200000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xbf,0x9e,0x3e = 1555733200000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xbf,0x9e,0x3e = FFFFFFFE00000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xbf,0x9e,0x3e = FFFFFFFE00000001 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xbf,0x9e,0x3e = FFFFFFFE00000001 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x00,0xbf,0x3e = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x00,0xbf,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x00,0xbf,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x00,0xbf,0x3e = 155573333FFFC000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x00,0xbf,0x3e = 155573333FFFC000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x00,0xbf,0x3e = 155573333FFFC000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x00,0xbf,0x3e = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x00,0xbf,0x3e = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x00,0xbf,0x3e = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x14,0xbf,0x3e = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x14,0xbf,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x14,0xbf,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x14,0xbf,0x3e = 000003333FFFC000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x14,0xbf,0x3e = 000003333FFFC000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x14,0xbf,0x3e = 000003333FFFC000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x14,0xbf,0x3e = 00000FFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x14,0xbf,0x3e = 00000FFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x14,0xbf,0x3e = 00000FFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x3f,0xbf,0x3e = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x3f,0xbf,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x3f,0xbf,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x3f,0xbf,0x3e = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x3f,0xbf,0x3e = 0000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x3f,0xbf,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x3f,0xbf,0x3e = 0000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x3f,0xbf,0x3e = 0000000000000001 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x3f,0xbf,0x3e = 0000000000000001 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x80,0xbf,0x3e = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x80,0xbf,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x80,0xbf,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x80,0xbf,0x3e = 155573333FFFC000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x80,0xbf,0x3e = 155573333FFFC000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x80,0xbf,0x3e = 155573333FFFC000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x80,0xbf,0x3e = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x80,0xbf,0x3e = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x80,0xbf,0x3e = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xa1,0xbf,0x3e = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xa1,0xbf,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xa1,0xbf,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xa1,0xbf,0x3e = 000000003FFFC000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xa1,0xbf,0x3e = 000000003FFFC000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xa1,0xbf,0x3e = 000000003FFFC000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xa1,0xbf,0x3e = 000000007FFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xa1,0xbf,0x3e = 000000007FFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xa1,0xbf,0x3e = 000000007FFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xbf,0xbf,0x3e = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xbf,0xbf,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xbf,0xbf,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xbf,0xbf,0x3e = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xbf,0xbf,0x3e = 0000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xbf,0xbf,0x3e = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xbf,0xbf,0x3e = 0000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xbf,0xbf,0x3e = 0000000000000001 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xbf,0xbf,0x3e = 0000000000000001 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x00,0x00,0x3f = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x00,0x00,0x3f = 0000FFFFCCCCAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x00,0x00,0x3f = 7FFFFFFFFFFFFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x00,0x00,0x3f = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x00,0x00,0x3f = 0000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x00,0x00,0x3f = 7FFFFFFFFFFFFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x00,0x00,0x3f = 8000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x00,0x00,0x3f = 8000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x00,0x00,0x3f = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x14,0x00,0x3f = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x14,0x00,0x3f = 0000F00000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x14,0x00,0x3f = 7FFFF00000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x14,0x00,0x3f = 000006667FFF8000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x14,0x00,0x3f = 0000F6667FFF8000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x14,0x00,0x3f = 7FFFF6667FFF8000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x14,0x00,0x3f = 80000FFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x14,0x00,0x3f = 8000FFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x14,0x00,0x3f = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x3f,0x00,0x3f = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x3f,0x00,0x3f = 0000FFFFCCCCAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x3f,0x00,0x3f = 7FFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x3f,0x00,0x3f = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x3f,0x00,0x3f = 0000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x3f,0x00,0x3f = 7FFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x3f,0x00,0x3f = 8000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x3f,0x00,0x3f = 8000FFFFCCCCAAAB (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x3f,0x00,0x3f = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x80,0x00,0x3f = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x80,0x00,0x3f = 0000FFFFCCCCAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x80,0x00,0x3f = 7FFFFFFFFFFFFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x80,0x00,0x3f = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x80,0x00,0x3f = 0000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x80,0x00,0x3f = 7FFFFFFFFFFFFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x80,0x00,0x3f = 8000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x80,0x00,0x3f = 8000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x80,0x00,0x3f = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xa1,0x00,0x3f = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xa1,0x00,0x3f = 0000FFFF80000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xa1,0x00,0x3f = 7FFFFFFF80000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xa1,0x00,0x3f = 000000007FFF8000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xa1,0x00,0x3f = 0000FFFFFFFF8000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xa1,0x00,0x3f = 7FFFFFFFFFFF8000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xa1,0x00,0x3f = 800000007FFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xa1,0x00,0x3f = 8000FFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xa1,0x00,0x3f = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xbf,0x00,0x3f = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xbf,0x00,0x3f = 0000FFFFCCCCAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xbf,0x00,0x3f = 7FFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xbf,0x00,0x3f = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xbf,0x00,0x3f = 0000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xbf,0x00,0x3f = 7FFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xbf,0x00,0x3f = 8000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xbf,0x00,0x3f = 8000FFFFCCCCAAAB (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xbf,0x00,0x3f = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x00,0x2a,0x3f = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x00,0x2a,0x3f = 00000000000CAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x00,0x2a,0x3f = 00000000001FFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x00,0x2a,0x3f = 2AAAE6667FE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x00,0x2a,0x3f = 2AAAE6667FECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x00,0x2a,0x3f = 2AAAE6667FFFFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x00,0x2a,0x3f = FFFFFFFFFFE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x00,0x2a,0x3f = FFFFFFFFFFECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x00,0x2a,0x3f = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x14,0x2a,0x3f = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x14,0x2a,0x3f = 0000F000000CAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x14,0x2a,0x3f = FFFFF000001FFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x14,0x2a,0x3f = 000006667FE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x14,0x2a,0x3f = 0000F6667FECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x14,0x2a,0x3f = FFFFF6667FFFFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x14,0x2a,0x3f = 00000FFFFFE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x14,0x2a,0x3f = 0000FFFFFFECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x14,0x2a,0x3f = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x3f,0x2a,0x3f = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x3f,0x2a,0x3f = 00000000000CAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x3f,0x2a,0x3f = 00000000001FFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x3f,0x2a,0x3f = 2AAAE6667FE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x3f,0x2a,0x3f = 2AAAE6667FECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x3f,0x2a,0x3f = 2AAAE6667FFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x3f,0x2a,0x3f = FFFFFFFFFFE00001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x3f,0x2a,0x3f = FFFFFFFFFFECAAAB (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x3f,0x2a,0x3f = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x80,0x2a,0x3f = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x80,0x2a,0x3f = 00000000000CAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x80,0x2a,0x3f = 00000000001FFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x80,0x2a,0x3f = 2AAAE6667FE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x80,0x2a,0x3f = 2AAAE6667FECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x80,0x2a,0x3f = 2AAAE6667FFFFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x80,0x2a,0x3f = FFFFFFFFFFE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x80,0x2a,0x3f = FFFFFFFFFFECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x80,0x2a,0x3f = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xa1,0x2a,0x3f = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xa1,0x2a,0x3f = 0000FFFF800CAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xa1,0x2a,0x3f = FFFFFFFF801FFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xa1,0x2a,0x3f = 000000007FE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xa1,0x2a,0x3f = 0000FFFFFFECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xa1,0x2a,0x3f = FFFFFFFFFFFFFFFF (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xa1,0x2a,0x3f = 000000007FE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xa1,0x2a,0x3f = 0000FFFFFFECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xa1,0x2a,0x3f = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xbf,0x2a,0x3f = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xbf,0x2a,0x3f = 00000000000CAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xbf,0x2a,0x3f = 00000000001FFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xbf,0x2a,0x3f = 2AAAE6667FE00000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xbf,0x2a,0x3f = 2AAAE6667FECAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xbf,0x2a,0x3f = 2AAAE6667FFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xbf,0x2a,0x3f = FFFFFFFFFFE00001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xbf,0x2a,0x3f = FFFFFFFFFFECAAAB (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xbf,0x2a,0x3f = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x00,0x3f,0x3f = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x00,0x3f,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x00,0x3f,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x00,0x3f,0x3f = 2AAAE6667FFF8000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x00,0x3f,0x3f = 2AAAE6667FFF8000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x00,0x3f,0x3f = 2AAAE6667FFF8000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x00,0x3f,0x3f = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x00,0x3f,0x3f = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x00,0x3f,0x3f = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x14,0x3f,0x3f = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x14,0x3f,0x3f = 0000F00000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x14,0x3f,0x3f = FFFFF00000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x14,0x3f,0x3f = 000006667FFF8000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x14,0x3f,0x3f = 0000F6667FFF8000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x14,0x3f,0x3f = FFFFF6667FFF8000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x14,0x3f,0x3f = 00000FFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x14,0x3f,0x3f = 0000FFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x14,0x3f,0x3f = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x3f,0x3f,0x3f = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x3f,0x3f,0x3f = 0000FFFFCCCCAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x3f,0x3f,0x3f = FFFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x3f,0x3f,0x3f = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x3f,0x3f,0x3f = 0000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x3f,0x3f,0x3f = FFFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x3f,0x3f,0x3f = 0000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x3f,0x3f,0x3f = 0000FFFFCCCCAAAB (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x3f,0x3f,0x3f = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x80,0x3f,0x3f = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x80,0x3f,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x80,0x3f,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x80,0x3f,0x3f = 2AAAE6667FFF8000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x80,0x3f,0x3f = 2AAAE6667FFF8000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x80,0x3f,0x3f = 2AAAE6667FFF8000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x80,0x3f,0x3f = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x80,0x3f,0x3f = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x80,0x3f,0x3f = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xa1,0x3f,0x3f = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xa1,0x3f,0x3f = 0000FFFF80000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xa1,0x3f,0x3f = FFFFFFFF80000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xa1,0x3f,0x3f = 000000007FFF8000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xa1,0x3f,0x3f = 0000FFFFFFFF8000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xa1,0x3f,0x3f = FFFFFFFFFFFF8000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xa1,0x3f,0x3f = 000000007FFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xa1,0x3f,0x3f = 0000FFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xa1,0x3f,0x3f = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xbf,0x3f,0x3f = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xbf,0x3f,0x3f = 0000FFFFCCCCAAAA (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xbf,0x3f,0x3f = FFFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xbf,0x3f,0x3f = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xbf,0x3f,0x3f = 0000FFFFCCCCAAAA (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xbf,0x3f,0x3f = FFFFFFFFFFFFFFFE (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xbf,0x3f,0x3f = 0000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xbf,0x3f,0x3f = 0000FFFFCCCCAAAB (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xbf,0x3f,0x3f = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x00,0x80,0x3f = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x00,0x80,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x00,0x80,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x00,0x80,0x3f = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x00,0x80,0x3f = 0000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x00,0x80,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x00,0x80,0x3f = 8000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x00,0x80,0x3f = 8000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x00,0x80,0x3f = 8000000000000000 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x14,0x80,0x3f = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x14,0x80,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x14,0x80,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x14,0x80,0x3f = 000006667FFF8000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x14,0x80,0x3f = 000006667FFF8000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x14,0x80,0x3f = 000006667FFF8000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x14,0x80,0x3f = 80000FFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x14,0x80,0x3f = 80000FFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x14,0x80,0x3f = 80000FFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x3f,0x80,0x3f = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x3f,0x80,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x3f,0x80,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x3f,0x80,0x3f = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x3f,0x80,0x3f = 0000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x3f,0x80,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x3f,0x80,0x3f = 8000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x3f,0x80,0x3f = 8000000000000001 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x3f,0x80,0x3f = 8000000000000001 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x80,0x80,0x3f = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x80,0x80,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x80,0x80,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x80,0x80,0x3f = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x80,0x80,0x3f = 0000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x80,0x80,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x80,0x80,0x3f = 8000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x80,0x80,0x3f = 8000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x80,0x80,0x3f = 8000000000000000 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xa1,0x80,0x3f = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xa1,0x80,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xa1,0x80,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xa1,0x80,0x3f = 000000007FFF8000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xa1,0x80,0x3f = 000000007FFF8000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xa1,0x80,0x3f = 000000007FFF8000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xa1,0x80,0x3f = 800000007FFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xa1,0x80,0x3f = 800000007FFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xa1,0x80,0x3f = 800000007FFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xbf,0x80,0x3f = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xbf,0x80,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xbf,0x80,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xbf,0x80,0x3f = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xbf,0x80,0x3f = 0000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xbf,0x80,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xbf,0x80,0x3f = 8000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xbf,0x80,0x3f = 8000000000000001 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xbf,0x80,0x3f = 8000000000000001 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x00,0x9e,0x3f = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x00,0x9e,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x00,0x9e,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x00,0x9e,0x3f = 2AAAE66600000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x00,0x9e,0x3f = 2AAAE66600000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x00,0x9e,0x3f = 2AAAE66600000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x00,0x9e,0x3f = FFFFFFFE00000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x00,0x9e,0x3f = FFFFFFFE00000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x00,0x9e,0x3f = FFFFFFFE00000000 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x14,0x9e,0x3f = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x14,0x9e,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x14,0x9e,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x14,0x9e,0x3f = 0000066600000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x14,0x9e,0x3f = 0000066600000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x14,0x9e,0x3f = 0000066600000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x14,0x9e,0x3f = 00000FFE00000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x14,0x9e,0x3f = 00000FFE00000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x14,0x9e,0x3f = 00000FFE00000000 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x3f,0x9e,0x3f = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x3f,0x9e,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x3f,0x9e,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x3f,0x9e,0x3f = 2AAAE66600000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x3f,0x9e,0x3f = 2AAAE66600000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x3f,0x9e,0x3f = 2AAAE66600000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x3f,0x9e,0x3f = FFFFFFFE00000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x3f,0x9e,0x3f = FFFFFFFE00000001 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x3f,0x9e,0x3f = FFFFFFFE00000001 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x80,0x9e,0x3f = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x80,0x9e,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x80,0x9e,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x80,0x9e,0x3f = 2AAAE66600000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x80,0x9e,0x3f = 2AAAE66600000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x80,0x9e,0x3f = 2AAAE66600000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x80,0x9e,0x3f = FFFFFFFE00000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x80,0x9e,0x3f = FFFFFFFE00000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x80,0x9e,0x3f = FFFFFFFE00000000 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xa1,0x9e,0x3f = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xa1,0x9e,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xa1,0x9e,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xa1,0x9e,0x3f = 2AAAE6667FFF8000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xa1,0x9e,0x3f = 2AAAE6667FFF8000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xa1,0x9e,0x3f = 2AAAE6667FFF8000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xa1,0x9e,0x3f = FFFFFFFE7FFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xa1,0x9e,0x3f = FFFFFFFE7FFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xa1,0x9e,0x3f = FFFFFFFE7FFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xbf,0x9e,0x3f = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xbf,0x9e,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xbf,0x9e,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xbf,0x9e,0x3f = 2AAAE66600000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xbf,0x9e,0x3f = 2AAAE66600000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xbf,0x9e,0x3f = 2AAAE66600000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xbf,0x9e,0x3f = FFFFFFFE00000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xbf,0x9e,0x3f = FFFFFFFE00000001 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xbf,0x9e,0x3f = FFFFFFFE00000001 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x00,0xbf,0x3f = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x00,0xbf,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x00,0xbf,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x00,0xbf,0x3f = 2AAAE6667FFF8000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x00,0xbf,0x3f = 2AAAE6667FFF8000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x00,0xbf,0x3f = 2AAAE6667FFF8000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x00,0xbf,0x3f = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x00,0xbf,0x3f = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x00,0xbf,0x3f = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x14,0xbf,0x3f = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x14,0xbf,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x14,0xbf,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x14,0xbf,0x3f = 000006667FFF8000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x14,0xbf,0x3f = 000006667FFF8000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x14,0xbf,0x3f = 000006667FFF8000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x14,0xbf,0x3f = 00000FFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x14,0xbf,0x3f = 00000FFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x14,0xbf,0x3f = 00000FFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x3f,0xbf,0x3f = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x3f,0xbf,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x3f,0xbf,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x3f,0xbf,0x3f = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x3f,0xbf,0x3f = 0000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x3f,0xbf,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x3f,0xbf,0x3f = 0000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x3f,0xbf,0x3f = 0000000000000001 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x3f,0xbf,0x3f = 0000000000000001 (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0x80,0xbf,0x3f = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0x80,0xbf,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0x80,0xbf,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0x80,0xbf,0x3f = 2AAAE6667FFF8000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0x80,0xbf,0x3f = 2AAAE6667FFF8000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0x80,0xbf,0x3f = 2AAAE6667FFF8000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0x80,0xbf,0x3f = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0x80,0xbf,0x3f = FFFFFFFFFFFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0x80,0xbf,0x3f = FFFFFFFFFFFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xa1,0xbf,0x3f = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xa1,0xbf,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xa1,0xbf,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xa1,0xbf,0x3f = 000000007FFF8000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xa1,0xbf,0x3f = 000000007FFF8000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xa1,0xbf,0x3f = 000000007FFF8000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xa1,0xbf,0x3f = 000000007FFFFFFF (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xa1,0xbf,0x3f = 000000007FFFFFFF (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xa1,0xbf,0x3f = 000000007FFFFFFF (cc=0)
-+RISBGN r1(==0000000000000000),r2(==0000000000000000),0xbf,0xbf,0x3f = 0000000000000000 (cc=0)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==0000000000000000),0xbf,0xbf,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==0000000000000000),0xbf,0xbf,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==5555CCCCFFFF0000),0xbf,0xbf,0x3f = 0000000000000000 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==5555CCCCFFFF0000),0xbf,0xbf,0x3f = 0000000000000000 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==5555CCCCFFFF0000),0xbf,0xbf,0x3f = 0000000000000000 (cc=2)
-+RISBGN r1(==0000000000000000),r2(==FFFFFFFFFFFFFFFF),0xbf,0xbf,0x3f = 0000000000000001 (cc=1)
-+RISBGN r1(==0000FFFFCCCCAAAA),r2(==FFFFFFFFFFFFFFFF),0xbf,0xbf,0x3f = 0000000000000001 (cc=1)
-+RISBGN r1(==FFFFFFFFFFFFFFFF),r2(==FFFFFFFFFFFFFFFF),0xbf,0xbf,0x3f = 0000000000000001 (cc=0)
diff --git a/valgrind-3.11.0-shr.patch b/valgrind-3.11.0-shr.patch
deleted file mode 100644
index 7370d7f..0000000
--- a/valgrind-3.11.0-shr.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-commit 632cb02573da3ff6237d9aeb9acd55c09c2ad317
-Author: philippe <philippe@8f6e269a-dfd6-0310-a8e1-e2731360e62c>
-Date:   Tue Jul 12 20:49:05 2016 +0000
-
-    Fix n-i-bz amd64: memcheck false positive with shr %edx
-    
-    False positive analysis and fix by Julian.
-    
-    Thanks
-    
-    
-    
-    git-svn-id: svn://svn.valgrind.org/vex/trunk@3223 8f6e269a-dfd6-0310-a8e1-e2731360e62c
-
-diff --git a/VEX/priv/guest_amd64_helpers.c b/VEX/priv/guest_amd64_helpers.c
-index ab53e15..3a0a4c6 100644
---- a/VEX/priv/guest_amd64_helpers.c
-+++ b/VEX/priv/guest_amd64_helpers.c
-@@ -1604,6 +1604,15 @@ IRExpr* guest_amd64_spechelper ( const HChar* function_name,
-                            mkU64(0)));
-       }
- 
-+      /*---------------- SHRL ----------------*/
-+
-+      if (isU64(cc_op, AMD64G_CC_OP_SHRL) && isU64(cond, AMD64CondZ)) {
-+         /* SHRL, then Z --> test dep1 == 0 */
-+         return unop(Iop_1Uto64,
-+                     binop(Iop_CmpEQ32, unop(Iop_64to32, cc_dep1),
-+                           mkU32(0)));
-+      }
-+
-       /*---------------- COPY ----------------*/
-       /* This can happen, as a result of amd64 FP compares: "comisd ... ;
-          jbe" for example. */
diff --git a/valgrind-3.11.0-sighandler-stack.patch b/valgrind-3.11.0-sighandler-stack.patch
deleted file mode 100644
index 29a03aa..0000000
--- a/valgrind-3.11.0-sighandler-stack.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-commit 13747d21fe69dd730fc4bbe21fc9320d349b41db
-Author: philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Sun Jul 10 21:17:58 2016 +0000
-
-    Fix 365273 - Invalid write to stack location reported after signal handler runs
-    
-    Analysis and patch by Earl Chew
-    
-    Tested on x86/amd64/ppc64
-    
-    
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15902 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/coregrind/m_signals.c b/coregrind/m_signals.c
-index 3e8326f..9146d0c 100644
---- a/coregrind/m_signals.c
-+++ b/coregrind/m_signals.c
-@@ -2519,6 +2519,7 @@ void async_signalhandler ( Int sigNo,
- Bool VG_(extend_stack)(ThreadId tid, Addr addr)
- {
-    SizeT udelta;
-+   Addr new_stack_base;
- 
-    /* Get the segment containing addr. */
-    const NSegment* seg = VG_(am_find_nsegment)(addr);
-@@ -2536,14 +2537,15 @@ Bool VG_(extend_stack)(ThreadId tid, Addr addr)
-    vg_assert(seg_next != NULL);
- 
-    udelta = VG_PGROUNDUP(seg_next->start - addr);
-+   new_stack_base = seg_next->start - udelta;
- 
-    VG_(debugLog)(1, "signals", 
--                    "extending a stack base 0x%lx down by %lu\n",
--                    seg_next->start, udelta);
-+                 "extending a stack base 0x%lx down by %lu"
-+                 " new base 0x%lx to cover 0x%lx\n",
-+                 seg_next->start, udelta, new_stack_base, addr);
-    Bool overflow;
-    if (! VG_(am_extend_into_adjacent_reservation_client)
-        ( seg_next->start, -(SSizeT)udelta, &overflow )) {
--      Addr new_stack_base = seg_next->start - udelta;
-       if (overflow)
-          VG_(umsg)("Stack overflow in thread #%u: can't grow stack to %#lx\n",
-                    tid, new_stack_base);
-@@ -2555,7 +2557,7 @@ Bool VG_(extend_stack)(ThreadId tid, Addr addr)
- 
-    /* When we change the main stack, we have to let the stack handling
-       code know about it. */
--   VG_(change_stack)(VG_(clstk_id), addr, VG_(clstk_end));
-+   VG_(change_stack)(VG_(clstk_id), new_stack_base, VG_(clstk_end));
- 
-    if (VG_(clo_sanity_level) > 2)
-       VG_(sanity_check_general)(False);
diff --git a/valgrind-3.11.0-socketcall-x86-linux.patch b/valgrind-3.11.0-socketcall-x86-linux.patch
deleted file mode 100644
index fe30d0f..0000000
--- a/valgrind-3.11.0-socketcall-x86-linux.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-commit 266d48ed3aa5f5a6c422805d56abc5a32b90c09c
-Author: mjw <mjw@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Wed Jan 20 22:24:43 2016 +0000
-
-    Bug #358030 Support direct socket calls on x86 32bit (new in linux 4.3)
-    
-    Patch by ronald.wahl@raritan.com.
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15764 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/coregrind/m_syswrap/syswrap-x86-linux.c b/coregrind/m_syswrap/syswrap-x86-linux.c
-index 24d7dc1..3c80e6a 100644
---- a/coregrind/m_syswrap/syswrap-x86-linux.c
-+++ b/coregrind/m_syswrap/syswrap-x86-linux.c
-@@ -1824,8 +1824,23 @@ static SyscallTableEntry syscall_table[] = {
- //   LIN__(__NR_seccomp,           sys_ni_syscall),       // 354
- 
-    LINXY(__NR_getrandom,         sys_getrandom),        // 355
--   LINXY(__NR_memfd_create,      sys_memfd_create)      // 356
--//   LIN__(__NR_bpf,               sys_ni_syscall)        // 357
-+   LINXY(__NR_memfd_create,      sys_memfd_create),     // 356
-+//   LIN__(__NR_bpf,               sys_ni_syscall),       // 357
-+   LINXY(__NR_socket,            sys_socket),           // 359
-+   LINXY(__NR_socketpair,        sys_socketpair),       // 360
-+   LINX_(__NR_bind,              sys_bind),             // 361
-+   LINX_(__NR_connect,           sys_connect),          // 362
-+   LINX_(__NR_listen,            sys_listen),           // 363
-+   LINXY(__NR_accept4,           sys_accept4),          // 364
-+   LINXY(__NR_getsockopt,        sys_getsockopt),       // 365
-+   LINX_(__NR_setsockopt,        sys_setsockopt),       // 366
-+   LINXY(__NR_getsockname,       sys_getsockname),      // 367
-+   LINXY(__NR_getpeername,       sys_getpeername),      // 368
-+   LINX_(__NR_sendto,            sys_sendto),           // 369
-+   LINX_(__NR_sendmsg,           sys_sendmsg),          // 370
-+   LINXY(__NR_recvfrom,          sys_recvfrom),         // 371
-+   LINXY(__NR_recvmsg,           sys_recvmsg),          // 372
-+   LINX_(__NR_shutdown,          sys_shutdown)          // 373
- };
- 
- SyscallTableEntry* ML_(get_linux_syscall_entry) ( UInt sysno )
-diff --git a/include/vki/vki-scnums-x86-linux.h b/include/vki/vki-scnums-x86-linux.h
-index 5479b3e..a4e75a7 100644
---- a/include/vki/vki-scnums-x86-linux.h
-+++ b/include/vki/vki-scnums-x86-linux.h
-@@ -392,6 +392,25 @@
- #define __NR_getrandom          355
- #define __NR_memfd_create       356
- #define __NR_bpf                357
-+#define __NR_execveat           358
-+#define __NR_socket             359
-+#define __NR_socketpair         360
-+#define __NR_bind               361
-+#define __NR_connect            362
-+#define __NR_listen             363
-+#define __NR_accept4            364
-+#define __NR_getsockopt         365
-+#define __NR_setsockopt         366
-+#define __NR_getsockname        367
-+#define __NR_getpeername        368
-+#define __NR_sendto             369
-+#define __NR_sendmsg            370
-+#define __NR_recvfrom           371
-+#define __NR_recvmsg            372
-+#define __NR_shutdown           373
-+#define __NR_userfaultfd        374
-+#define __NR_membarrier         375
-+#define __NR_mlock2             376
- 
- #endif /* __VKI_SCNUMS_X86_LINUX_H */
- 
diff --git a/valgrind-3.11.0-wrapmalloc.patch b/valgrind-3.11.0-wrapmalloc.patch
deleted file mode 100644
index 0de544e..0000000
--- a/valgrind-3.11.0-wrapmalloc.patch
+++ /dev/null
@@ -1,1275 +0,0 @@
-commit 13693666bd9fc7be37a907302e5d3d4f4b2c9358
-Author: mjw <mjw@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Sun Nov 15 16:50:43 2015 +0000
-
-    BZ#355188 valgrind should intercept all malloc related global functions.
-    
-    This implements the interception of all globally public allocation
-    functions by default. It works by adding a flag to the spec to say the
-    interception only applies to global functions. Which is set for the
-    somalloc spec. The librarypath to match is set to "*" unless the user
-    overrides it. Then each DiSym keeps track of whether the symbol is local
-    or global. For a spec which has isGlobal set only isGlobal symbols will
-    match.
-    
-    Note that because of padding to keep the addresses in DiSym aligned the
-    addition of the extra bool isGlobal doesn't actually grow the struct.
-    The comments explain how the struct could be made more compact on 32bit
-    systems, but this isn't as easy on 64bit systems. So I didn't try to do
-    that in this patch.
-    
-    For ELF symbols keeping track of which are global is trivial. For pdb I
-    had to guess and made only the "Public" symbols global. I don't know
-    how/if macho keeps track of global symbols or not. For now I just mark
-    all of them local (which just means things work as previously on platforms
-    that use machos, no non-system symbols are matches by default for somalloc
-    unless the user explicitly tells which library name to match).
-    
-    Included are two testcases for shared libraries (wrapmalloc) and staticly
-    linked (wrapmallocstatic) malloc/free overrides that depend on the new
-    default. One existing testcase (new_override) was adjusted to explicitly
-    not use the new somalloc default because it depends on a user defined
-    new implementation that has side-effects and should explicitly not be
-    intercepted.
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15726 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/coregrind/m_debuginfo/debuginfo.c b/coregrind/m_debuginfo/debuginfo.c
-index 6f11cd2..4dc1129 100644
---- a/coregrind/m_debuginfo/debuginfo.c
-+++ b/coregrind/m_debuginfo/debuginfo.c
-@@ -4306,7 +4306,8 @@ void VG_(DebugInfo_syms_getidx) ( const DebugInfo *si,
-                                   /*OUT*/const HChar**   pri_name,
-                                   /*OUT*/const HChar***  sec_names,
-                                   /*OUT*/Bool*     isText,
--                                  /*OUT*/Bool*     isIFunc )
-+                                  /*OUT*/Bool*     isIFunc,
-+                                  /*OUT*/Bool*     isGlobal )
- {
-    vg_assert(idx >= 0 && idx < si->symtab_used);
-    if (avmas)     *avmas     = si->symtab[idx].avmas;
-@@ -4315,6 +4316,7 @@ void VG_(DebugInfo_syms_getidx) ( const DebugInfo *si,
-    if (sec_names) *sec_names = si->symtab[idx].sec_names;
-    if (isText)    *isText    = si->symtab[idx].isText;
-    if (isIFunc)   *isIFunc   = si->symtab[idx].isIFunc;
-+   if (isGlobal)  *isGlobal  = si->symtab[idx].isGlobal;
- }
- 
- 
-diff --git a/coregrind/m_debuginfo/priv_storage.h b/coregrind/m_debuginfo/priv_storage.h
-index aa1d9f9..a43720a 100644
---- a/coregrind/m_debuginfo/priv_storage.h
-+++ b/coregrind/m_debuginfo/priv_storage.h
-@@ -75,14 +75,18 @@ typedef
-                             the macros defined in pub_core_debuginfo.h */
-       const HChar*  pri_name;  /* primary name, never NULL */
-       const HChar** sec_names; /* NULL, or a NULL term'd array of other names */
--      // XXX: this could be shrunk (on 32-bit platforms) by using 30
--      // bits for the size and 1 bit each for isText and isIFunc.  If you
--      // do this, make sure that all assignments to the latter two use
--      // 0 or 1 (or True or False), and that a positive number larger
--      // than 1 is never used to represent True.
-+      // XXX: DiSym could be shrunk (on 32-bit platforms to exactly 16
-+      // bytes, on 64-bit platforms the first 3 pointers already add
-+      // up to 24 bytes, so size plus bits will extend to 32 bytes
-+      // anyway) by using 29 bits for the size and 1 bit each for
-+      // isText, isIFunc and isGlobal.  If you do this, make sure that
-+      // all assignments to the latter two use 0 or 1 (or True or
-+      // False), and that a positive number larger than 1 is never
-+      // used to represent True.
-       UInt    size;    /* size in bytes */
-       Bool    isText;
-       Bool    isIFunc; /* symbol is an indirect function? */
-+      Bool    isGlobal; /* Is this symbol globally visible? */
-    }
-    DiSym;
- 
-diff --git a/coregrind/m_debuginfo/readelf.c b/coregrind/m_debuginfo/readelf.c
-index 0861725..3820965 100644
---- a/coregrind/m_debuginfo/readelf.c
-+++ b/coregrind/m_debuginfo/readelf.c
-@@ -241,7 +241,8 @@ Bool get_elf_symbol_info (
-         Bool*   from_opd_out,   /* ppc64be-linux only: did we deref an
-                                   .opd entry? */
-         Bool*   is_text_out,    /* is this a text symbol? */
--        Bool*   is_ifunc        /* is this a  STT_GNU_IFUNC function ?*/
-+        Bool*   is_ifunc_out,   /* is this a STT_GNU_IFUNC function ?*/
-+        Bool*   is_global_out   /* is this a global symbol ?*/
-      )
- {
-    Bool plausible;
-@@ -259,7 +260,8 @@ Bool get_elf_symbol_info (
-    SET_TOCPTR_AVMA(*sym_avmas_out, 0);   /* default to unknown/inapplicable */
-    SET_LOCAL_EP_AVMA(*sym_avmas_out, 0); /* default to unknown/inapplicable */
-    *from_opd_out      = False;
--   *is_ifunc          = False;
-+   *is_ifunc_out      = False;
-+   *is_global_out     = False;
- 
-    /* Get the symbol size, but restrict it to fit in a signed 32 bit
-       int.  Also, deal with the stupid case of negative size by making
-@@ -373,10 +375,14 @@ Bool get_elf_symbol_info (
-    /* Check for indirect functions. */
-    if (*is_text_out
-        && ELFXX_ST_TYPE(sym->st_info) == STT_GNU_IFUNC) {
--       *is_ifunc = True;
-+      *is_ifunc_out = True;
-    }
- #  endif
- 
-+   if (ELFXX_ST_BIND(sym->st_info) == STB_GLOBAL) {
-+      *is_global_out = True;
-+   }
-+
- #  if defined(VGP_ppc64be_linux)
-    /* Allow STT_NOTYPE in the very special case where we're running on
-       ppc64be-linux and the symbol is one which the .opd-chasing hack
-@@ -777,6 +783,7 @@ void read_elf_symtab__normal(
-       SymAVMAs sym_avmas_really;
-       Int    sym_size = 0;
-       Bool   from_opd = False, is_text = False, is_ifunc = False;
-+      Bool   is_global = False;
-       DiOffT sym_name_really = DiOffT_INVALID;
-       sym_avmas_really.main = 0;
-       SET_TOCPTR_AVMA(sym_avmas_really, 0);
-@@ -787,7 +794,7 @@ void read_elf_symtab__normal(
-                               &sym_name_really, 
-                               &sym_avmas_really,
-                               &sym_size,
--                              &from_opd, &is_text, &is_ifunc)) {
-+                              &from_opd, &is_text, &is_ifunc, &is_global)) {
- 
-          DiSym  disym;
-          VG_(memset)(&disym, 0, sizeof(disym));
-@@ -799,6 +806,7 @@ void read_elf_symtab__normal(
-          disym.size      = sym_size;
-          disym.isText    = is_text;
-          disym.isIFunc   = is_ifunc;
-+         disym.isGlobal  = is_global;
-          if (cstr) { ML_(dinfo_free)(cstr); cstr = NULL; }
-          vg_assert(disym.pri_name);
-          vg_assert(GET_TOCPTR_AVMA(disym.avmas) == 0);
-@@ -847,6 +855,7 @@ typedef
-       Bool       from_opd;
-       Bool       is_text;
-       Bool       is_ifunc;
-+      Bool       is_global;
-    }
-    TempSym;
- 
-@@ -911,6 +920,7 @@ void read_elf_symtab__ppc64be_linux(
-       SymAVMAs sym_avmas_really;
-       Int    sym_size = 0;
-       Bool   from_opd = False, is_text = False, is_ifunc = False;
-+      Bool   is_global = False;
-       DiOffT sym_name_really = DiOffT_INVALID;
-       DiSym  disym;
-       VG_(memset)(&disym, 0, sizeof(disym));
-@@ -923,7 +933,7 @@ void read_elf_symtab__ppc64be_linux(
-                               &sym_name_really, 
-                               &sym_avmas_really,
-                               &sym_size,
--                              &from_opd, &is_text, &is_ifunc)) {
-+                              &from_opd, &is_text, &is_ifunc, &is_global)) {
- 
-          /* Check if we've seen this (name,addr) key before. */
-          key.addr = sym_avmas_really.main;
-@@ -996,6 +1006,7 @@ void read_elf_symtab__ppc64be_linux(
-             elem->from_opd = from_opd;
-             elem->is_text  = is_text;
-             elem->is_ifunc = is_ifunc;
-+            elem->is_global = is_global;
-             VG_(OSetGen_Insert)(oset, elem);
-             if (di->trace_symtab) {
-                HChar* str = ML_(img_strdup)(escn_strtab->img, "di.respl.2",
-@@ -1034,14 +1045,17 @@ void read_elf_symtab__ppc64be_linux(
-       disym.size      = elem->size;
-       disym.isText    = elem->is_text;
-       disym.isIFunc   = elem->is_ifunc;
-+      disym.isGlobal  = elem->is_global;
-       if (cstr) { ML_(dinfo_free)(cstr); cstr = NULL; }
-       vg_assert(disym.pri_name != NULL);
- 
-       ML_(addSym) ( di, &disym );
-       if (di->trace_symtab) {
--         VG_(printf)("    rec(%c) [%4ld]:          "
-+         VG_(printf)("    rec(%c%c%c) [%4ld]:          "
-                      "   val %#010lx, toc %#010lx, sz %4d  %s\n",
-                      disym.isText ? 't' : 'd',
-+                     disym.isIFunc ? 'i' : '-',
-+                     disym.isGlobal ? 'g' : 'l',
-                      i,
-                      disym.avmas.main,
-                      GET_TOCPTR_AVMA(disym.avmas),
-diff --git a/coregrind/m_debuginfo/readmacho.c b/coregrind/m_debuginfo/readmacho.c
-index 98ab048..3d406a4 100644
---- a/coregrind/m_debuginfo/readmacho.c
-+++ b/coregrind/m_debuginfo/readmacho.c
-@@ -365,6 +365,7 @@ void read_symtab( /*OUT*/XArray* /* DiSym */ syms,
-                          di->text_avma+di->text_size - sym_addr;
-       disym.isText     = True;
-       disym.isIFunc    = False;
-+      disym.isGlobal   = False;
-       // Lots of user function names get prepended with an underscore.  Eg. the
-       // function 'f' becomes the symbol '_f'.  And the "below main"
-       // function is called "start".  So we skip the leading underscore, and
-diff --git a/coregrind/m_debuginfo/readpdb.c b/coregrind/m_debuginfo/readpdb.c
-index 8b63e95..1ebf863 100644
---- a/coregrind/m_debuginfo/readpdb.c
-+++ b/coregrind/m_debuginfo/readpdb.c
-@@ -1272,6 +1272,7 @@ static ULong DEBUG_SnarfCodeView(
-                              // FIXME: .namelen is sizeof(.data) including .name[]
-             vsym.isText    = (sym->generic.id == S_PUB_V1);
-             vsym.isIFunc   = False;
-+            vsym.isGlobal  = True;
-             ML_(addSym)( di, &vsym );
-             n_syms_read++;
-          }
-@@ -1299,6 +1300,7 @@ static ULong DEBUG_SnarfCodeView(
-             vsym.isText    = !!(IMAGE_SCN_CNT_CODE 
-                                 & sectp[sym->data_v2.segment-1].Characteristics);
-             vsym.isIFunc   = False;
-+            vsym.isGlobal  = True;
-             ML_(addSym)( di, &vsym );
-             n_syms_read++;
-          }
-@@ -1332,6 +1334,7 @@ static ULong DEBUG_SnarfCodeView(
-             vsym.isText    = !!(IMAGE_SCN_CNT_CODE
-                                 & sectp[sym->data_v2.segment-1].Characteristics);
-             vsym.isIFunc   = False;
-+            vsym.isGlobal  = True;
-             ML_(addSym)( di, &vsym );
-             n_syms_read++;
-          }
-@@ -1365,6 +1368,7 @@ static ULong DEBUG_SnarfCodeView(
-          vsym.size      = sym->proc_v1.proc_len;
-          vsym.isText    = True;
-          vsym.isIFunc   = False;
-+         vsym.isGlobal  = sym->generic.id == S_GPROC_V1;
-          if (debug)
-             VG_(umsg)("  Adding function %s addr=%#lx length=%u\n",
-                       symname, vsym.avmas.main, vsym.size );
-@@ -1386,6 +1390,7 @@ static ULong DEBUG_SnarfCodeView(
-          vsym.size      = sym->proc_v2.proc_len;
-          vsym.isText    = True;
-          vsym.isIFunc   = False;
-+         vsym.isGlobal  = sym->generic.id == S_GPROC_V2;
-          if (debug)
-             VG_(umsg)("  Adding function %s addr=%#lx length=%u\n",
-                       symname, vsym.avmas.main, vsym.size );
-@@ -1408,6 +1413,7 @@ static ULong DEBUG_SnarfCodeView(
-             vsym.size      = sym->proc_v3.proc_len;
-             vsym.isText    = 1;
-             vsym.isIFunc   = False;
-+            vsym.isGlobal  = sym->generic.id == S_GPROC_V3;
-             ML_(addSym)( di, &vsym );
-             n_syms_read++;
-          }
-diff --git a/coregrind/m_debuginfo/storage.c b/coregrind/m_debuginfo/storage.c
-index 45bc135..7b2e26a 100644
---- a/coregrind/m_debuginfo/storage.c
-+++ b/coregrind/m_debuginfo/storage.c
-@@ -98,10 +98,11 @@ void ML_(ppSym) ( Int idx, const DiSym* sym )
-    vg_assert(sym->pri_name);
-    if (sec_names)
-       vg_assert(sec_names);
--   VG_(printf)( "%5d:  %c%c %#8lx .. %#8lx (%u)      %s%s",
-+   VG_(printf)( "%5d:  %c%c%c %#8lx .. %#8lx (%u)      %s%s",
-                 idx,
-                 sym->isText ? 'T' : '-',
-                 sym->isIFunc ? 'I' : '-',
-+                sym->isGlobal ? 'G' : '-',
-                 sym->avmas.main, 
-                 sym->avmas.main + sym->size - 1, sym->size,
-                 sym->pri_name, sec_names ? " " : "" );
-@@ -1646,7 +1647,7 @@ static void canonicaliseSymtab ( struct _DebugInfo* di )
-    Word  i, j, n_truncated;
-    Addr  sta1, sta2, end1, end2, toc1, toc2;
-    const HChar *pri1, *pri2, **sec1, **sec2;
--   Bool  ist1, ist2, isf1, isf2;
-+   Bool  ist1, ist2, isf1, isf2, isg1, isg2;
- 
- #  define SWAP(ty,aa,bb) \
-       do { ty tt = (aa); (aa) = (bb); (bb) = tt; } while (0)
-@@ -1693,6 +1694,8 @@ static void canonicaliseSymtab ( struct _DebugInfo* di )
-             }
-             /* mark w as an IFunc if either w or r are */
-             di->symtab[w].isIFunc = di->symtab[w].isIFunc || di->symtab[r].isIFunc;
-+            /* likewise for global symbols */
-+            di->symtab[w].isGlobal = di->symtab[w].isGlobal || di->symtab[r].isGlobal;
-             /* and use ::pri_names to indicate this slot is no longer in use */
-             di->symtab[r].pri_name = NULL;
-             if (di->symtab[r].sec_names) {
-@@ -1796,6 +1799,7 @@ static void canonicaliseSymtab ( struct _DebugInfo* di )
-       sec1 = di->symtab[i].sec_names;
-       ist1 = di->symtab[i].isText;
-       isf1 = di->symtab[i].isIFunc;
-+      isg1 = di->symtab[i].isGlobal;
- 
-       sta2 = di->symtab[i+1].avmas.main;
-       end2 = sta2 + di->symtab[i+1].size - 1;
-@@ -1805,6 +1809,7 @@ static void canonicaliseSymtab ( struct _DebugInfo* di )
-       sec2 = di->symtab[i+1].sec_names;
-       ist2 = di->symtab[i+1].isText;
-       isf2 = di->symtab[i+1].isIFunc;
-+      isg2 = di->symtab[i+1].isGlobal;
- 
-       if (sta1 < sta2) {
-          end1 = sta2 - 1;
-@@ -1814,7 +1819,7 @@ static void canonicaliseSymtab ( struct _DebugInfo* di )
-             sta1 = end2 + 1;
-             SWAP(Addr,sta1,sta2); SWAP(Addr,end1,end2); SWAP(Addr,toc1,toc2);
-             SWAP(const HChar*,pri1,pri2); SWAP(const HChar**,sec1,sec2);
--            SWAP(Bool,ist1,ist2); SWAP(Bool,isf1,isf2);
-+            SWAP(Bool,ist1,ist2); SWAP(Bool,isf1,isf2); SWAP(Bool, isg1, isg2);
-          } else 
-          if (end1 < end2) {
-             sta2 = end1 + 1;
-@@ -1831,6 +1836,7 @@ static void canonicaliseSymtab ( struct _DebugInfo* di )
-       di->symtab[i].sec_names = sec1;
-       di->symtab[i].isText    = ist1;
-       di->symtab[i].isIFunc   = isf1;
-+      di->symtab[i].isGlobal  = isg1;
- 
-       di->symtab[i+1].avmas.main = sta2;
-       di->symtab[i+1].size       = end2 - sta2 + 1;
-@@ -1840,6 +1846,7 @@ static void canonicaliseSymtab ( struct _DebugInfo* di )
-       di->symtab[i+1].sec_names = sec2;
-       di->symtab[i+1].isText    = ist2;
-       di->symtab[i+1].isIFunc   = isf2;
-+      di->symtab[i+1].isGlobal  = isg2;
- 
-       vg_assert(sta1 <= sta2);
-       vg_assert(di->symtab[i].size > 0);
-diff --git a/coregrind/m_redir.c b/coregrind/m_redir.c
-index 7e4df8d..3d3f70a 100644
---- a/coregrind/m_redir.c
-+++ b/coregrind/m_redir.c
-@@ -233,6 +233,7 @@ typedef
-       HChar* from_fnpatt;  /* from fnname pattern  */
-       Addr   to_addr;      /* where redirecting to */
-       Bool   isWrap;       /* wrap or replacement? */
-+      Bool   isGlobal;     /* must the symbol to replace be global? */
-       Int    becTag; /* 0 through 9999.  Behavioural equivalance class tag.
-                         If two wrappers have the same (non-zero) tag, they
-                         are promising that they behave identically. */
-@@ -388,7 +389,7 @@ static HChar const* advance_to_comma ( HChar const* c ) {
- 
- void VG_(redir_notify_new_DebugInfo)( const DebugInfo* newdi )
- {
--   Bool         ok, isWrap;
-+   Bool         ok, isWrap, isGlobal;
-    Int          i, nsyms, becTag, becPrio;
-    Spec*        specList;
-    Spec*        spec;
-@@ -518,13 +519,14 @@ void VG_(redir_notify_new_DebugInfo)( const DebugInfo* newdi )
-    for (i = 0; i < nsyms; i++) {
-       VG_(DebugInfo_syms_getidx)( newdi, i, &sym_avmas,
-                                   NULL, &sym_name_pri, &sym_names_sec,
--                                  &isText, NULL );
-+                                  &isText, NULL, NULL );
-       /* Set up to conveniently iterate over all names for this symbol. */
-       const HChar*  twoslots[2];
-       const HChar** names_init =
-          alloc_symname_array(sym_name_pri, sym_names_sec, &twoslots[0]);
-       const HChar** names;
-       for (names = names_init; *names; names++) {
-+         isGlobal = False;
-          ok = VG_(maybe_Z_demangle)( *names,
-                                      &demangled_sopatt,
-                                      &demangled_fnpatt,
-@@ -579,15 +581,12 @@ void VG_(redir_notify_new_DebugInfo)( const DebugInfo* newdi )
-                have a matching lib synonym, then replace the sopatt.
-                Otherwise, just ignore this redirection spec. */
- 
--            if (!VG_(clo_soname_synonyms))
--               continue; // No synonyms => skip the redir.
--
-             /* Search for a matching synonym=newname*/
-             SizeT const sopatt_syn_len 
-                = VG_(strlen)(demangled_sopatt+VG_SO_SYN_PREFIX_LEN);
-             HChar const* last = VG_(clo_soname_synonyms);
-             
--            while (*last) {
-+            while (last != NULL && *last) {
-                HChar const* first = last;
-                last = advance_to_equal(first);
-                
-@@ -611,6 +610,17 @@ void VG_(redir_notify_new_DebugInfo)( const DebugInfo* newdi )
-                   last++;
-             }
-             
-+	    // If the user didn't set it then somalloc is special. We
-+	    // want to match public/global symbols that match the
-+	    // fnpatt everywhere.
-+	    if (replaced_sopatt == NULL
-+		&& VG_(strcmp) ( demangled_sopatt, SO_SYN_MALLOC_NAME ) == 0)
-+	      {
-+		replaced_sopatt = VG_(strdup)("m_redir.rnnD.1", "*");
-+		demangled_sopatt = replaced_sopatt;
-+		isGlobal = True;
-+	      }
-+
-             // If we have not replaced the sopatt, then skip the redir.
-             if (replaced_sopatt == NULL)
-                continue;
-@@ -621,6 +631,7 @@ void VG_(redir_notify_new_DebugInfo)( const DebugInfo* newdi )
-          spec->from_fnpatt = dinfo_strdup("redir.rnnD.3", demangled_fnpatt);
-          spec->to_addr = sym_avmas.main;
-          spec->isWrap = isWrap;
-+         spec->isGlobal = isGlobal;
-          spec->becTag = becTag;
-          spec->becPrio = becPrio;
-          /* check we're not adding manifestly stupid destinations */
-@@ -653,7 +664,7 @@ void VG_(redir_notify_new_DebugInfo)( const DebugInfo* newdi )
-       for (i = 0; i < nsyms; i++) {
-          VG_(DebugInfo_syms_getidx)( newdi, i, &sym_avmas,
-                                      NULL, &sym_name_pri, &sym_names_sec,
--                                     &isText, NULL );
-+                                     &isText, NULL, NULL );
-          const HChar*  twoslots[2];
-          const HChar** names_init =
-             alloc_symname_array(sym_name_pri, sym_names_sec, &twoslots[0]);
-@@ -785,7 +796,7 @@ void generate_and_add_actives (
-      )
- {
-    Spec*   sp;
--   Bool    anyMark, isText, isIFunc;
-+   Bool    anyMark, isText, isIFunc, isGlobal;
-    Active  act;
-    Int     nsyms, i;
-    SymAVMAs  sym_avmas;
-@@ -813,7 +824,7 @@ void generate_and_add_actives (
-    for (i = 0; i < nsyms; i++) {
-       VG_(DebugInfo_syms_getidx)( di, i, &sym_avmas,
-                                   NULL, &sym_name_pri, &sym_names_sec,
--                                  &isText, &isIFunc );
-+                                  &isText, &isIFunc, &isGlobal );
-       const HChar*  twoslots[2];
-       const HChar** names_init =
-          alloc_symname_array(sym_name_pri, sym_names_sec, &twoslots[0]);
-@@ -827,7 +838,8 @@ void generate_and_add_actives (
-          for (sp = specs; sp; sp = sp->next) {
-             if (!sp->mark)
-                continue; /* soname doesn't match */
--            if (VG_(string_match)( sp->from_fnpatt, *names )) {
-+            if (VG_(string_match)( sp->from_fnpatt, *names )
-+		&& (sp->isGlobal == False || isGlobal == True)) {
-                /* got a new binding.  Add to collection. */
-                act.from_addr   = sym_avmas.main;
-                act.to_addr     = sp->to_addr;
-@@ -1220,6 +1232,7 @@ static void add_hardwired_spec (const  HChar* sopatt, const HChar* fnpatt,
-    spec->from_fnpatt = CONST_CAST(HChar *,fnpatt);
-    spec->to_addr     = to_addr;
-    spec->isWrap      = False;
-+   spec->isGlobal    = False;
-    spec->mandatory   = mandatory;
-    /* VARIABLE PARTS */
-    spec->mark        = False; /* not significant */
-@@ -1719,7 +1732,7 @@ static void handle_require_text_symbols ( const DebugInfo* di )
-          const HChar** sym_names_sec = NULL;
-          VG_(DebugInfo_syms_getidx)( di, j, NULL,
-                                      NULL, &sym_name_pri, &sym_names_sec,
--                                     &isText, NULL );
-+                                     &isText, NULL, NULL );
-          const HChar*  twoslots[2];
-          const HChar** names_init =
-             alloc_symname_array(sym_name_pri, sym_names_sec, &twoslots[0]);
-@@ -1773,10 +1786,11 @@ static void handle_require_text_symbols ( const DebugInfo* di )
- static void show_spec ( const HChar* left, const Spec* spec )
- {
-    VG_(message)( Vg_DebugMsg, 
--                 "%s%-25s %-30s %s-> (%04d.%d) 0x%08lx\n",
-+                 "%s%-25s %-30s %s%s-> (%04d.%d) 0x%08lx\n",
-                  left,
-                  spec->from_sopatt, spec->from_fnpatt,
-                  spec->isWrap ? "W" : "R",
-+                 spec->isGlobal ? "G" : "L",
-                  spec->becTag, spec->becPrio,
-                  spec->to_addr );
- }
-diff --git a/coregrind/m_replacemalloc/vg_replace_malloc.c b/coregrind/m_replacemalloc/vg_replace_malloc.c
-index ccac130..3c79c8a 100644
---- a/coregrind/m_replacemalloc/vg_replace_malloc.c
-+++ b/coregrind/m_replacemalloc/vg_replace_malloc.c
-@@ -291,7 +291,6 @@ static void init(void);
- // For some lines, we will also define a replacement function
- // whose only purpose is to be a soname synonym place holder
- // that can be replaced using --soname-synonyms.
--#define SO_SYN_MALLOC VG_SO_SYN(somalloc)
- 
- // malloc
- #if defined(VGO_linux)
-diff --git a/coregrind/pub_core_debuginfo.h b/coregrind/pub_core_debuginfo.h
-index b698f2c..8f26f25 100644
---- a/coregrind/pub_core_debuginfo.h
-+++ b/coregrind/pub_core_debuginfo.h
-@@ -216,7 +216,8 @@ void VG_(DebugInfo_syms_getidx)  ( const DebugInfo *di,
-                                    /*OUT*/const HChar**   pri_name,
-                                    /*OUT*/const HChar***  sec_names,
-                                    /*OUT*/Bool*     isText,
--                                   /*OUT*/Bool*     isIFunc );
-+                                   /*OUT*/Bool*     isIFunc,
-+                                   /*OUT*/Bool*     isGlobal );
- /* ppc64-linux only: find the TOC pointer (R2 value) that should be in
-    force at the entry point address of the function containing
-    guest_code_addr.  Returns 0 if not known. */
-diff --git a/docs/xml/manual-core.xml b/docs/xml/manual-core.xml
-index edda8a1..c80aab0 100644
---- a/docs/xml/manual-core.xml
-+++ b/docs/xml/manual-core.xml
-@@ -2315,18 +2315,26 @@ need to use them.</para>
-       <option><![CDATA[--soname-synonyms=syn1=pattern1,syn2=pattern2,...]]></option>
-     </term>
-     <listitem>
--      <para>When a shared library is loaded, Valgrind checks for 
--      functions in the library that must be replaced or wrapped.
--      For example, Memcheck replaces all malloc related
--      functions (malloc, free, calloc, ...) with its own versions.
--      Such replacements are done by default only in shared libraries whose
--      soname matches a predefined soname pattern (e.g.
--      <varname>libc.so*</varname> on linux).
--      By default, no replacement is done for a statically linked
--      library or for alternative libraries such as tcmalloc.
-+      <para>When a shared library is loaded, Valgrind checks for
-+      functions in the library that must be replaced or wrapped.  For
-+      example, Memcheck replaces some string and memory functions
-+      (strchr, strlen, strcpy, memchr, memcpy, memmove, etc.) with its
-+      own versions.  Such replacements are normally done only in shared
-+      libraries whose soname matches a predefined soname pattern (e.g.
-+      <varname>libc.so*</varname> on linux).  By default, no
-+      replacement is done for a statically linked library or for
-+      alternative libraries, except for the allocation functions
-+      (malloc, free, calloc, memalign, realloc, operator new, operator
-+      delete, etc.) Such allocation functions are intercepted by
-+      default in any shared library or in the executable if they are
-+      exported as global symbols. This means that if a replacement
-+      allocation library such as tcmalloc is found, its functions are
-+      also intercepted by default.
-+
-       In some cases, the replacements allow
-       <option>--soname-synonyms</option> to specify one additional
--      synonym pattern, giving flexibility in the replacement. </para>
-+      synonym pattern, giving flexibility in the replacement.  Or to
-+      prevent interception of all public allocation symbols.</para>
- 
-       <para>Currently, this flexibility is only allowed for the
-       malloc related functions, using the
-@@ -2339,27 +2347,31 @@ need to use them.</para>
-         <listitem>
- 
-           <para>Alternate malloc library: to replace the malloc
--          related functions in an alternate library with
--          soname <varname>mymalloclib.so</varname>, give the
-+          related functions in a specific alternate library with
-+          soname <varname>mymalloclib.so</varname> (and not in any
-+          others), give the
-           option <option>--soname-synonyms=somalloc=mymalloclib.so</option>.
-           A pattern can be used to match multiple libraries sonames.
-           For
-           example, <option>--soname-synonyms=somalloc=*tcmalloc*</option>
--          will match the soname of all variants of the tcmalloc library
--          (native, debug, profiled, ... tcmalloc variants). </para>
-+          will match the soname of all variants of the tcmalloc
-+          library (native, debug, profiled, ... tcmalloc
-+          variants). </para>
-           <para>Note: the soname of a elf shared library can be
-           retrieved using the readelf utility. </para>
- 
-         </listitem>
- 
-         <listitem>
--          <para>Replacements in a statically linked library are done by
--          using the <varname>NONE</varname> pattern. For example, if
--          you link with <varname>libtcmalloc.a</varname>, memcheck 
--          will properly work when you give the
--          option <option>--soname-synonyms=somalloc=NONE</option>.  Note
--          that a NONE pattern will match the main executable and any
--          shared library having no soname. </para>
-+          <para>Replacements in a statically linked library are done
-+          by using the <varname>NONE</varname> pattern. For example,
-+          if you link with <varname>libtcmalloc.a</varname>, and only
-+          want to intercept the malloc related functions in the
-+          executable (and standard libraries) themselves, but not any
-+          other shared libraries, you can give the
-+          option <option>--soname-synonyms=somalloc=NONE</option>.
-+          Note that a NONE pattern will match the main executable and
-+          any shared library having no soname. </para>
-         </listitem>
- 
-         <listitem>
-@@ -2369,6 +2381,17 @@ need to use them.</para>
-           </para>
-         </listitem>
- 
-+	<listitem>
-+	  <para>To only intercept allocation symbols in the default
-+	  system libraries, but not in any other shared library or the
-+	  executable defining public malloc or operator new related
-+	  functions use a non-existing library name
-+	  like <option>--soname-synonyms=somalloc=nouserintercepts</option>
-+	  (where <varname>nouserintercepts</varname> can be any
-+	  non-existing library name).
-+	  </para>
-+	</listitem>
-+
-       </itemizedlist>
-    </listitem>
-   </varlistentry>
-diff --git a/include/pub_tool_redir.h b/include/pub_tool_redir.h
-index bac00d7..21d186b 100644
---- a/include/pub_tool_redir.h
-+++ b/include/pub_tool_redir.h
-@@ -345,6 +345,12 @@
- #define VG_SO_SYN_PREFIX     "VgSoSyn"
- #define VG_SO_SYN_PREFIX_LEN 7
- 
-+// Special soname synonym place holder for the malloc symbols that can
-+// be replaced using --soname-synonyms.  Otherwise will match all
-+// public symbols in any shared library/executable.
-+#define SO_SYN_MALLOC VG_SO_SYN(somalloc)
-+#define SO_SYN_MALLOC_NAME "VgSoSynsomalloc"
-+
- #endif   // __PUB_TOOL_REDIR_H
- 
- /*--------------------------------------------------------------------*/
-diff --git a/memcheck/tests/Makefile.am b/memcheck/tests/Makefile.am
-index 68d9ca1..0f34127 100644
---- a/memcheck/tests/Makefile.am
-+++ b/memcheck/tests/Makefile.am
-@@ -291,6 +291,9 @@ EXTRA_DIST = \
- 	wrap7.vgtest wrap7.stdout.exp wrap7.stderr.exp \
- 	wrap8.vgtest wrap8.stdout.exp wrap8.stderr.exp \
- 	wrap8.stdout.exp-ppc64 wrap8.stderr.exp-ppc64 \
-+	wrapmalloc.vgtest wrapmalloc.stdout.exp wrapmalloc.stderr.exp \
-+	wrapmallocstatic.vgtest wrapmallocstatic.stdout.exp \
-+	wrapmallocstatic.stderr.exp \
- 	writev1.stderr.exp writev1.stderr.exp-solaris writev1.vgtest \
- 	xml1.stderr.exp xml1.stdout.exp xml1.vgtest xml1.stderr.exp-s390x-mvc \
- 	threadname.vgtest threadname.stderr.exp \
-@@ -375,6 +378,7 @@ check_PROGRAMS = \
- 	wcs \
- 	xml1 \
- 	wrap1 wrap2 wrap3 wrap4 wrap5 wrap6 wrap7 wrap7so.so wrap8 \
-+	wrapmalloc wrapmallocso.so wrapmallocstatic \
- 	writev1
- 
- if !SOLARIS_SUN_STUDIO_AS
-@@ -570,4 +574,26 @@ else
- 				-Wl,-soname -Wl,wrap7so.so
- endif
- 
-+# Build shared object for wrapmalloc
-+wrapmalloc_SOURCES           = wrapmalloc.c
-+wrapmalloc_DEPENDENCIES      = wrapmallocso.so
-+if VGCONF_OS_IS_DARWIN
-+ wrapmalloc_LDADD            = `pwd`/wrapmallocso.so
-+ wrapmalloc_LDFLAGS          = $(AM_FLAG_M3264_PRI)
-+else
-+ wrapmalloc_LDADD            = wrapmallocso.so
-+ wrapmalloc_LDFLAGS          = $(AM_FLAG_M3264_PRI) \
-+				-Wl,-rpath,$(top_builddir)/memcheck/tests
-+endif
-+
-+wrapmallocso_so_SOURCES      = wrapmallocso.c
-+wrapmallocso_so_CFLAGS       = $(AM_CFLAGS) -fpic
-+if VGCONF_OS_IS_DARWIN
-+ wrapmallocso_so_LDFLAGS     = -fpic $(AM_FLAG_M3264_PRI) -dynamic \
-+				-dynamiclib -all_load
-+else
-+ wrapmallocso_so_LDFLAGS     = -fpic $(AM_FLAG_M3264_PRI) -shared \
-+				-Wl,-soname -Wl,wrapmallocso.so
-+endif
-+
- xml1_CFLAGS             = $(AM_CFLAGS) -D_GNU_SOURCE
-diff --git a/memcheck/tests/new_override.vgtest b/memcheck/tests/new_override.vgtest
-index 50e6240..435e330 100644
---- a/memcheck/tests/new_override.vgtest
-+++ b/memcheck/tests/new_override.vgtest
-@@ -1,2 +1,6 @@
- prog: new_override
-+# Don't override the user defined somalloc functions in this test.
-+# The test depends on some side effects and initializing memory done by
-+# the user overidden operator new.
-+vgopts: --soname-synonyms=somalloc=nouseroverride
- stderr_filter: filter_allocs
-diff --git a/memcheck/tests/wrapmalloc.c b/memcheck/tests/wrapmalloc.c
-new file mode 100644
-index 0000000..2307e77
---- /dev/null
-+++ b/memcheck/tests/wrapmalloc.c
-@@ -0,0 +1,14 @@
-+#include <stdio.h>
-+#include <stdlib.h>
-+
-+/* Test that a program that has malloc/free interposed in a shared
-+   library is also intercepted. */
-+
-+int main ( void )
-+{
-+   printf ("start\n");
-+   void *p = malloc (1024);
-+   free (p);
-+   printf ("done\n");
-+   return 0;
-+}
-diff --git a/memcheck/tests/wrapmalloc.stderr.exp b/memcheck/tests/wrapmalloc.stderr.exp
-new file mode 100644
-index 0000000..d937776
---- /dev/null
-+++ b/memcheck/tests/wrapmalloc.stderr.exp
-@@ -0,0 +1,10 @@
-+
-+
-+HEAP SUMMARY:
-+    in use at exit: 0 bytes in 0 blocks
-+  total heap usage: 1 allocs, 1 frees, 1,024 bytes allocated
-+
-+For a detailed leak analysis, rerun with: --leak-check=full
-+
-+For counts of detected and suppressed errors, rerun with: -v
-+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
-diff --git a/memcheck/tests/wrapmalloc.stdout.exp b/memcheck/tests/wrapmalloc.stdout.exp
-new file mode 100644
-index 0000000..60b5fd2
---- /dev/null
-+++ b/memcheck/tests/wrapmalloc.stdout.exp
-@@ -0,0 +1,2 @@
-+start
-+done
-diff --git a/memcheck/tests/wrapmalloc.vgtest b/memcheck/tests/wrapmalloc.vgtest
-new file mode 100644
-index 0000000..a6dff4e
---- /dev/null
-+++ b/memcheck/tests/wrapmalloc.vgtest
-@@ -0,0 +1,2 @@
-+prog: wrapmalloc
-+
-diff --git a/memcheck/tests/wrapmallocso.c b/memcheck/tests/wrapmallocso.c
-new file mode 100644
-index 0000000..985ce56
---- /dev/null
-+++ b/memcheck/tests/wrapmallocso.c
-@@ -0,0 +1,17 @@
-+#include <stdio.h>
-+#include <stdlib.h>
-+
-+/* Fake malloc/free functions that just print something. When run
-+   under memcheck these functions will be intercepted and not print
-+   anything. */
-+
-+void *malloc ( size_t size )
-+{
-+  printf ("malloc\n");
-+  return NULL;
-+}
-+
-+void free (void *ptr)
-+{
-+  printf ("free\n");
-+}
-diff --git a/memcheck/tests/wrapmallocstatic.c b/memcheck/tests/wrapmallocstatic.c
-new file mode 100644
-index 0000000..be6573b
---- /dev/null
-+++ b/memcheck/tests/wrapmallocstatic.c
-@@ -0,0 +1,29 @@
-+#include <stdio.h>
-+#include <stdlib.h>
-+
-+/* Test that a program that has malloc/free interposed in the
-+   executable is also intercepted. */
-+
-+int main ( void )
-+{
-+   printf ("start\n");
-+   void *p = malloc (1024);
-+   free (p);
-+   printf ("done\n");
-+   return 0;
-+}
-+
-+/* Fake malloc/free functions that just print something. When run
-+   under memcheck these functions will be intercepted and not print
-+   anything. */
-+
-+void *malloc ( size_t size )
-+{
-+  printf ("malloc\n");
-+  return NULL;
-+}
-+
-+void free (void *ptr)
-+{
-+  printf ("free\n");
-+}
-diff --git a/memcheck/tests/wrapmallocstatic.stderr.exp b/memcheck/tests/wrapmallocstatic.stderr.exp
-new file mode 100644
-index 0000000..d937776
---- /dev/null
-+++ b/memcheck/tests/wrapmallocstatic.stderr.exp
-@@ -0,0 +1,10 @@
-+
-+
-+HEAP SUMMARY:
-+    in use at exit: 0 bytes in 0 blocks
-+  total heap usage: 1 allocs, 1 frees, 1,024 bytes allocated
-+
-+For a detailed leak analysis, rerun with: --leak-check=full
-+
-+For counts of detected and suppressed errors, rerun with: -v
-+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
-diff --git a/memcheck/tests/wrapmallocstatic.stdout.exp b/memcheck/tests/wrapmallocstatic.stdout.exp
-new file mode 100644
-index 0000000..60b5fd2
---- /dev/null
-+++ b/memcheck/tests/wrapmallocstatic.stdout.exp
-@@ -0,0 +1,2 @@
-+start
-+done
-diff --git a/memcheck/tests/wrapmallocstatic.vgtest b/memcheck/tests/wrapmallocstatic.vgtest
-new file mode 100644
-index 0000000..7b3c068
---- /dev/null
-+++ b/memcheck/tests/wrapmallocstatic.vgtest
-@@ -0,0 +1,2 @@
-+prog: wrapmallocstatic
-+
-diff -ur valgrind-3.11.0.orig/memcheck/tests/Makefile.in valgrind-3.11.0/memcheck/tests/Makefile.in
---- valgrind-3.11.0.orig/memcheck/tests/Makefile.in	2015-11-15 18:08:05.457930383 +0100
-+++ valgrind-3.11.0/memcheck/tests/Makefile.in	2015-11-15 18:14:10.828008973 +0100
-@@ -185,7 +185,8 @@
- 	vcpu_fnfns$(EXEEXT) wcs$(EXEEXT) xml1$(EXEEXT) wrap1$(EXEEXT) \
- 	wrap2$(EXEEXT) wrap3$(EXEEXT) wrap4$(EXEEXT) wrap5$(EXEEXT) \
- 	wrap6$(EXEEXT) wrap7$(EXEEXT) wrap7so.so$(EXEEXT) \
--	wrap8$(EXEEXT) writev1$(EXEEXT) $(am__EXEEXT_1) \
-+	wrap8$(EXEEXT) wrapmalloc$(EXEEXT) wrapmallocso.so$(EXEEXT) \
-+	wrapmallocstatic$(EXEEXT) writev1$(EXEEXT) $(am__EXEEXT_1) \
- 	$(am__EXEEXT_2) $(am__EXEEXT_3) $(am__EXEEXT_4) \
- 	$(am__EXEEXT_5)
- 
-@@ -736,6 +737,18 @@
- wrap8_SOURCES = wrap8.c
- wrap8_OBJECTS = wrap8.$(OBJEXT)
- wrap8_LDADD = $(LDADD)
-+am_wrapmalloc_OBJECTS = wrapmalloc.$(OBJEXT)
-+wrapmalloc_OBJECTS = $(am_wrapmalloc_OBJECTS)
-+wrapmalloc_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(wrapmalloc_LDFLAGS) \
-+	$(LDFLAGS) -o $@
-+am_wrapmallocso_so_OBJECTS = wrapmallocso_so-wrapmallocso.$(OBJEXT)
-+wrapmallocso_so_OBJECTS = $(am_wrapmallocso_so_OBJECTS)
-+wrapmallocso_so_LDADD = $(LDADD)
-+wrapmallocso_so_LINK = $(CCLD) $(wrapmallocso_so_CFLAGS) $(CFLAGS) \
-+	$(wrapmallocso_so_LDFLAGS) $(LDFLAGS) -o $@
-+wrapmallocstatic_SOURCES = wrapmallocstatic.c
-+wrapmallocstatic_OBJECTS = wrapmallocstatic.$(OBJEXT)
-+wrapmallocstatic_LDADD = $(LDADD)
- writev1_SOURCES = writev1.c
- writev1_OBJECTS = writev1.$(OBJEXT)
- writev1_LDADD = $(LDADD)
-@@ -826,7 +839,8 @@
- 	$(varinfo5_SOURCES) $(varinfo5so_so_SOURCES) varinfo6.c \
- 	varinforestrict.c vcpu_fbench.c vcpu_fnfns.c wcs.c wrap1.c \
- 	wrap2.c wrap3.c wrap4.c wrap5.c wrap6.c $(wrap7_SOURCES) \
--	$(wrap7so_so_SOURCES) wrap8.c writev1.c xml1.c
-+	$(wrap7so_so_SOURCES) wrap8.c $(wrapmalloc_SOURCES) \
-+	$(wrapmallocso_so_SOURCES) wrapmallocstatic.c writev1.c xml1.c
- DIST_SOURCES = accounting.c addressable.c atomic_incs.c badaddrvalue.c \
- 	badfree.c badjump.c badjump2.c badloop.c badpoll.c badrw.c \
- 	big_blocks_freed_list.c brk2.c buflen_check.c bug155125.c \
-@@ -863,7 +877,8 @@
- 	$(varinfo5_SOURCES) $(varinfo5so_so_SOURCES) varinfo6.c \
- 	varinforestrict.c vcpu_fbench.c vcpu_fnfns.c wcs.c wrap1.c \
- 	wrap2.c wrap3.c wrap4.c wrap5.c wrap6.c $(wrap7_SOURCES) \
--	$(wrap7so_so_SOURCES) wrap8.c writev1.c xml1.c
-+	$(wrap7so_so_SOURCES) wrap8.c $(wrapmalloc_SOURCES) \
-+	$(wrapmallocso_so_SOURCES) wrapmallocstatic.c writev1.c xml1.c
- RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
- 	ctags-recursive dvi-recursive html-recursive info-recursive \
- 	install-data-recursive install-dvi-recursive \
-@@ -1544,6 +1559,9 @@
- 	wrap7.vgtest wrap7.stdout.exp wrap7.stderr.exp \
- 	wrap8.vgtest wrap8.stdout.exp wrap8.stderr.exp \
- 	wrap8.stdout.exp-ppc64 wrap8.stderr.exp-ppc64 \
-+	wrapmalloc.vgtest wrapmalloc.stdout.exp wrapmalloc.stderr.exp \
-+	wrapmallocstatic.vgtest wrapmallocstatic.stdout.exp \
-+	wrapmallocstatic.stderr.exp \
- 	writev1.stderr.exp writev1.stderr.exp-solaris writev1.vgtest \
- 	xml1.stderr.exp xml1.stdout.exp xml1.vgtest xml1.stderr.exp-s390x-mvc \
- 	threadname.vgtest threadname.stderr.exp \
-@@ -1662,6 +1680,24 @@
- @VGCONF_OS_IS_DARWIN_TRUE@wrap7so_so_LDFLAGS = -fpic $(AM_FLAG_M3264_PRI) -dynamic \
- @VGCONF_OS_IS_DARWIN_TRUE@				-dynamiclib -all_load
- 
-+
-+# Build shared object for wrapmalloc
-+wrapmalloc_SOURCES = wrapmalloc.c
-+wrapmalloc_DEPENDENCIES = wrapmallocso.so
-+@VGCONF_OS_IS_DARWIN_FALSE@wrapmalloc_LDADD = wrapmallocso.so
-+@VGCONF_OS_IS_DARWIN_TRUE@wrapmalloc_LDADD = `pwd`/wrapmallocso.so
-+@VGCONF_OS_IS_DARWIN_FALSE@wrapmalloc_LDFLAGS = $(AM_FLAG_M3264_PRI) \
-+@VGCONF_OS_IS_DARWIN_FALSE@				-Wl,-rpath,$(top_builddir)/memcheck/tests
-+
-+@VGCONF_OS_IS_DARWIN_TRUE@wrapmalloc_LDFLAGS = $(AM_FLAG_M3264_PRI)
-+wrapmallocso_so_SOURCES = wrapmallocso.c
-+wrapmallocso_so_CFLAGS = $(AM_CFLAGS) -fpic
-+@VGCONF_OS_IS_DARWIN_FALSE@wrapmallocso_so_LDFLAGS = -fpic $(AM_FLAG_M3264_PRI) -shared \
-+@VGCONF_OS_IS_DARWIN_FALSE@				-Wl,-soname -Wl,wrapmallocso.so
-+
-+@VGCONF_OS_IS_DARWIN_TRUE@wrapmallocso_so_LDFLAGS = -fpic $(AM_FLAG_M3264_PRI) -dynamic \
-+@VGCONF_OS_IS_DARWIN_TRUE@				-dynamiclib -all_load
-+
- xml1_CFLAGS = $(AM_CFLAGS) -D_GNU_SOURCE
- all: all-recursive
- 
-@@ -2286,6 +2322,18 @@
- 	@rm -f wrap8$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(wrap8_OBJECTS) $(wrap8_LDADD) $(LIBS)
- 
-+wrapmalloc$(EXEEXT): $(wrapmalloc_OBJECTS) $(wrapmalloc_DEPENDENCIES) $(EXTRA_wrapmalloc_DEPENDENCIES) 
-+	@rm -f wrapmalloc$(EXEEXT)
-+	$(AM_V_CCLD)$(wrapmalloc_LINK) $(wrapmalloc_OBJECTS) $(wrapmalloc_LDADD) $(LIBS)
-+
-+wrapmallocso.so$(EXEEXT): $(wrapmallocso_so_OBJECTS) $(wrapmallocso_so_DEPENDENCIES) $(EXTRA_wrapmallocso_so_DEPENDENCIES) 
-+	@rm -f wrapmallocso.so$(EXEEXT)
-+	$(AM_V_CCLD)$(wrapmallocso_so_LINK) $(wrapmallocso_so_OBJECTS) $(wrapmallocso_so_LDADD) $(LIBS)
-+
-+wrapmallocstatic$(EXEEXT): $(wrapmallocstatic_OBJECTS) $(wrapmallocstatic_DEPENDENCIES) $(EXTRA_wrapmallocstatic_DEPENDENCIES) 
-+	@rm -f wrapmallocstatic$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(wrapmallocstatic_OBJECTS) $(wrapmallocstatic_LDADD) $(LIBS)
-+
- writev1$(EXEEXT): $(writev1_OBJECTS) $(writev1_DEPENDENCIES) $(EXTRA_writev1_DEPENDENCIES) 
- 	@rm -f writev1$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(writev1_OBJECTS) $(writev1_LDADD) $(LIBS)
-@@ -2446,6 +2494,9 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wrap7.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wrap7so_so-wrap7so.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wrap8.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wrapmalloc.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wrapmallocso_so-wrapmallocso.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wrapmallocstatic.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/writev1.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xml1-xml1.Po@am__quote@
- 
-@@ -3011,6 +3062,20 @@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wrap7so_so_CFLAGS) $(CFLAGS) -c -o wrap7so_so-wrap7so.obj `if test -f 'wrap7so.c'; then $(CYGPATH_W) 'wrap7so.c'; else $(CYGPATH_W) '$(srcdir)/wrap7so.c'; fi`
- 
-+wrapmallocso_so-wrapmallocso.o: wrapmallocso.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wrapmallocso_so_CFLAGS) $(CFLAGS) -MT wrapmallocso_so-wrapmallocso.o -MD -MP -MF $(DEPDIR)/wrapmallocso_so-wrapmallocso.Tpo -c -o wrapmallocso_so-wrapmallocso.o `test -f 'wrapmallocso.c' || echo '$(srcdir)/'`wrapmallocso.c
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/wrapmallocso_so-wrapmallocso.Tpo $(DEPDIR)/wrapmallocso_so-wrapmallocso.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='wrapmallocso.c' object='wrapmallocso_so-wrapmallocso.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wrapmallocso_so_CFLAGS) $(CFLAGS) -c -o wrapmallocso_so-wrapmallocso.o `test -f 'wrapmallocso.c' || echo '$(srcdir)/'`wrapmallocso.c
-+
-+wrapmallocso_so-wrapmallocso.obj: wrapmallocso.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wrapmallocso_so_CFLAGS) $(CFLAGS) -MT wrapmallocso_so-wrapmallocso.obj -MD -MP -MF $(DEPDIR)/wrapmallocso_so-wrapmallocso.Tpo -c -o wrapmallocso_so-wrapmallocso.obj `if test -f 'wrapmallocso.c'; then $(CYGPATH_W) 'wrapmallocso.c'; else $(CYGPATH_W) '$(srcdir)/wrapmallocso.c'; fi`
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/wrapmallocso_so-wrapmallocso.Tpo $(DEPDIR)/wrapmallocso_so-wrapmallocso.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='wrapmallocso.c' object='wrapmallocso_so-wrapmallocso.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wrapmallocso_so_CFLAGS) $(CFLAGS) -c -o wrapmallocso_so-wrapmallocso.obj `if test -f 'wrapmallocso.c'; then $(CYGPATH_W) 'wrapmallocso.c'; else $(CYGPATH_W) '$(srcdir)/wrapmallocso.c'; fi`
-+
- xml1-xml1.o: xml1.c
- @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xml1_CFLAGS) $(CFLAGS) -MT xml1-xml1.o -MD -MP -MF $(DEPDIR)/xml1-xml1.Tpo -c -o xml1-xml1.o `test -f 'xml1.c' || echo '$(srcdir)/'`xml1.c
- @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/xml1-xml1.Tpo $(DEPDIR)/xml1-xml1.Po
-commit d35c2c3197a0ae8398228d19578e1dfcb8401c5f
-Author: iraisr <iraisr@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Wed Nov 18 04:13:12 2015 +0000
-
-    Expected stderr of test cases wrapmalloc and wrapmallocstatic are overconstrained.
-    Fixes BZ#355455.
-    
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15727 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/memcheck/tests/wrapmalloc.stderr.exp b/memcheck/tests/wrapmalloc.stderr.exp
-index d937776..e69de29 100644
---- a/memcheck/tests/wrapmalloc.stderr.exp
-+++ b/memcheck/tests/wrapmalloc.stderr.exp
-@@ -1,10 +0,0 @@
--
--
--HEAP SUMMARY:
--    in use at exit: 0 bytes in 0 blocks
--  total heap usage: 1 allocs, 1 frees, 1,024 bytes allocated
--
--For a detailed leak analysis, rerun with: --leak-check=full
--
--For counts of detected and suppressed errors, rerun with: -v
--ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
-diff --git a/memcheck/tests/wrapmalloc.vgtest b/memcheck/tests/wrapmalloc.vgtest
-index a6dff4e..c22f241 100644
---- a/memcheck/tests/wrapmalloc.vgtest
-+++ b/memcheck/tests/wrapmalloc.vgtest
-@@ -1,2 +1,2 @@
- prog: wrapmalloc
--
-+vgopts: -q
-diff --git a/memcheck/tests/wrapmallocstatic.stderr.exp b/memcheck/tests/wrapmallocstatic.stderr.exp
-index d937776..e69de29 100644
---- a/memcheck/tests/wrapmallocstatic.stderr.exp
-+++ b/memcheck/tests/wrapmallocstatic.stderr.exp
-@@ -1,10 +0,0 @@
--
--
--HEAP SUMMARY:
--    in use at exit: 0 bytes in 0 blocks
--  total heap usage: 1 allocs, 1 frees, 1,024 bytes allocated
--
--For a detailed leak analysis, rerun with: --leak-check=full
--
--For counts of detected and suppressed errors, rerun with: -v
--ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
-diff --git a/memcheck/tests/wrapmallocstatic.vgtest b/memcheck/tests/wrapmallocstatic.vgtest
-index 7b3c068..f040756 100644
---- a/memcheck/tests/wrapmallocstatic.vgtest
-+++ b/memcheck/tests/wrapmallocstatic.vgtest
-@@ -1,2 +1,2 @@
- prog: wrapmallocstatic
--
-+vgopts: -q
-
-commit 194731c49eb7d448503a5e8625dd39779c2c9f8b
-Author: iraisr <iraisr@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Wed Nov 18 20:38:37 2015 +0000
-
-    When searching for global public symbols (like for the somalloc
-    synonym symbols), exclude the dynamic (runtime) linker as it is very
-    special.
-    Fixes BZ#355454
-    
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15728 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/coregrind/m_redir.c b/coregrind/m_redir.c
-index 3d3f70a..dcf1fb4 100644
---- a/coregrind/m_redir.c
-+++ b/coregrind/m_redir.c
-@@ -809,8 +809,19 @@ void generate_and_add_actives (
-    anyMark = False;
-    for (sp = specs; sp; sp = sp->next) {
-       sp->done = False;
--      sp->mark = VG_(string_match)( sp->from_sopatt, 
--                                    VG_(DebugInfo_get_soname)(di) );
-+      const HChar *soname = VG_(DebugInfo_get_soname)(di);
-+
-+      /* When searching for global public symbols (like for the somalloc
-+         synonym symbols), exclude the dynamic (runtime) linker as it is very
-+         special. See https://bugs.kde.org/show_bug.cgi?id=355454 */
-+      if ((VG_(strcmp)(sp->from_sopatt, "*") == 0) &&
-+          (sp->isGlobal == True) &&
-+          VG_(is_soname_ld_so)(soname)) {
-+         sp->mark = False;
-+         continue;
-+      }
-+
-+      sp->mark = VG_(string_match)( sp->from_sopatt, soname );
-       anyMark = anyMark || sp->mark;
-    }
- 
-@@ -1179,6 +1190,29 @@ Addr VG_(redir_do_lookup) ( Addr orig, Bool* isWrap )
-    return r->to_addr;
- }
- 
-+/* Does the soname represent a dynamic (runtime) linker?
-+   Considers various VG_U_LD* entries from pub_tool_redir.h. */
-+Bool VG_(is_soname_ld_so) (const HChar *soname)
-+{
-+#  if defined(VGO_linux)
-+   if (VG_STREQ(soname, VG_U_LD_LINUX_SO_3))         return True;
-+   if (VG_STREQ(soname, VG_U_LD_LINUX_SO_2))         return True;
-+   if (VG_STREQ(soname, VG_U_LD_LINUX_X86_64_SO_2))  return True;
-+   if (VG_STREQ(soname, VG_U_LD64_SO_1))             return True;
-+   if (VG_STREQ(soname, VG_U_LD64_SO_2))             return True;
-+   if (VG_STREQ(soname, VG_U_LD_SO_1))               return True;
-+   if (VG_STREQ(soname, VG_U_LD_LINUX_AARCH64_SO_1)) return True;
-+   if (VG_STREQ(soname, VG_U_LD_LINUX_ARMHF_SO_3))   return True;
-+#  elif defined(VGO_darwin)
-+   if (VG_STREQ(soname, VG_U_DYLD)) return True;
-+#  elif defined(VGO_solaris)
-+   if (VG_STREQ(soname, VG_U_LD_SO_1)) return True;
-+#  else
-+#    error "Unsupported OS"
-+#  endif
-+
-+   return False;
-+}
- 
- /*------------------------------------------------------------*/
- /*--- INITIALISATION                                       ---*/
-diff --git a/docs/xml/manual-core.xml b/docs/xml/manual-core.xml
-index c80aab0..758e2f4 100644
---- a/docs/xml/manual-core.xml
-+++ b/docs/xml/manual-core.xml
-@@ -2322,7 +2322,7 @@ need to use them.</para>
-       own versions.  Such replacements are normally done only in shared
-       libraries whose soname matches a predefined soname pattern (e.g.
-       <varname>libc.so*</varname> on linux).  By default, no
--      replacement is done for a statically linked library or for
-+      replacement is done for a statically linked binary or for
-       alternative libraries, except for the allocation functions
-       (malloc, free, calloc, memalign, realloc, operator new, operator
-       delete, etc.) Such allocation functions are intercepted by
-@@ -2392,6 +2392,13 @@ need to use them.</para>
- 	  </para>
- 	</listitem>
- 
-+      <listitem>
-+         <para>Shared library of the dynamic (runtime) linker is excluded from
-+         searching for global public symbols, such as those for the malloc
-+         related functions (identified by <varname>somalloc</varname> synonym).
-+         </para>
-+      </listitem>
-+
-       </itemizedlist>
-    </listitem>
-   </varlistentry>
-diff --git a/helgrind/hg_main.c b/helgrind/hg_main.c
-index ae6eec0..9aed05a 100644
---- a/helgrind/hg_main.c
-+++ b/helgrind/hg_main.c
-@@ -4589,7 +4589,6 @@ static Bool is_in_dynamic_linker_shared_object( Addr ga )
- {
-    DebugInfo* dinfo;
-    const HChar* soname;
--   if (0) return False;
- 
-    dinfo = VG_(find_DebugInfo)( ga );
-    if (!dinfo) return False;
-@@ -4598,23 +4597,7 @@ static Bool is_in_dynamic_linker_shared_object( Addr ga )
-    tl_assert(soname);
-    if (0) VG_(printf)("%s\n", soname);
- 
--#  if defined(VGO_linux)
--   if (VG_STREQ(soname, VG_U_LD_LINUX_SO_3))        return True;
--   if (VG_STREQ(soname, VG_U_LD_LINUX_SO_2))        return True;
--   if (VG_STREQ(soname, VG_U_LD_LINUX_X86_64_SO_2)) return True;
--   if (VG_STREQ(soname, VG_U_LD64_SO_1))            return True;
--   if (VG_STREQ(soname, VG_U_LD64_SO_2))            return True;
--   if (VG_STREQ(soname, VG_U_LD_SO_1))              return True;
--   if (VG_STREQ(soname, VG_U_LD_LINUX_AARCH64_SO_1)) return True;
--   if (VG_STREQ(soname, VG_U_LD_LINUX_ARMHF_SO_3))  return True;
--#  elif defined(VGO_darwin)
--   if (VG_STREQ(soname, VG_U_DYLD)) return True;
--#  elif defined(VGO_solaris)
--   if (VG_STREQ(soname, VG_U_LD_SO_1)) return True;
--#  else
--#    error "Unsupported OS"
--#  endif
--   return False;
-+   return VG_(is_soname_ld_so)(soname);
- }
- 
- static
-diff --git a/include/pub_tool_redir.h b/include/pub_tool_redir.h
-index 21d186b..aa879d6 100644
---- a/include/pub_tool_redir.h
-+++ b/include/pub_tool_redir.h
-@@ -351,6 +351,8 @@
- #define SO_SYN_MALLOC VG_SO_SYN(somalloc)
- #define SO_SYN_MALLOC_NAME "VgSoSynsomalloc"
- 
-+Bool VG_(is_soname_ld_so) (const HChar *soname);
-+
- #endif   // __PUB_TOOL_REDIR_H
- 
- /*--------------------------------------------------------------------*/
-commit a80c98bab0835b51a2193aec19ce55ad607b7ec0
-Author: philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Sat Jul 2 18:46:23 2016 +0000
-
-    Fix leak in m_redir.c
-    See below discussion for more details.
-    
-    On Sat, 2016-07-02 at 14:20 +0200, Philippe Waroquiers wrote:
-    > I am testing a patch (provided by Julian) that solves a false positive
-    > memcheck found at my work.
-    >
-    > Testing this, I decided to run valgrind under valgrind (not done since
-    > a long time).
-    >
-    > This shows a leak in many tests, the stack trace being such as:
-    > ==26246== 336 bytes in 21 blocks are definitely lost in loss record 72 of 141
-    > ==26246==    at 0x2801C01D: vgPlain_arena_malloc (m_mallocfree.c:1855)
-    > ==26246==    by 0x2801D616: vgPlain_arena_strdup (m_mallocfree.c:2528)
-    > ==26246==    by 0x2801D616: vgPlain_strdup (m_mallocfree.c:2600)
-    > ==26246==    by 0x2801F5AD: vgPlain_redir_notify_new_DebugInfo (m_redir.c:619)
-    > ==26246==    by 0x2803B650: di_notify_ACHIEVE_ACCEPT_STATE (debuginfo.c:771)
-    > ==26246==    by 0x2803B650: vgPlain_di_notify_mmap (debuginfo.c:1067)
-    > ==26246==    by 0x2806589C: vgModuleLocal_generic_PRE_sys_mmap (syswrap-generic.c:2368)
-    > ==26246==    by 0x2809932A: vgSysWrap_amd64_linux_sys_mmap_before (syswrap-amd64-linux.c:637)
-    > ==26246==    by 0x28061E11: vgPlain_client_syscall (syswrap-main.c:1906)
-    > ==26246==    by 0x2805E9D2: handle_syscall (scheduler.c:1118)
-    > ==26246==    by 0x280604A6: vgPlain_scheduler (scheduler.c:1435)
-    > ==26246==    by 0x2806FF87: thread_wrapper (syswrap-linux.c:103)
-    > ==26246==    by 0x2806FF87: run_a_thread_NORETURN (syswrap-linux.c:156)
-    >
-    >
-    > The strdup call in m_redir.c:619 was introduced by r15726.
-    >
-    > However, I am not sure this is a bug that is introduced by this change,
-    > or if it just reveals a leak that was already there.
-    > The "very original" replacement logic did not do memory allocation for
-    > the replacement: see m_redir.c in valgrind 3.10.1 : it was just copying
-    > some chars from VG_(clo_soname_synonyms) to demangled_sopatt
-    
-    Yes, it should do exactly the same as the other code paths. If
-    replaced_sopatt != NULL then it is an allocated string that has been
-    assigned to demangled_sopatt. I had assumed that would take care of the
-    life-time issues of the allocated string. But now that I read the code
-    it is indeed not so clear.
-    
-    > Then in 3.11, the fixed size demangled_sopatt was changed to be
-    > a dynamically allocated buffer.
-    > The revision log 14664 that introduced this explains that the ownership of
-    > returned buffer is not easy. It tells at the end:
-    > "So the rule of thunb here is: if in doubt strdup the string."
-    >
-    > but now we have to see when to free what, it seems ???
-    >
-    > Any thoughts ?
-    
-    So if replaced_sopatt != NULL, then demangled_sopatt contains the
-    allocated string, and it is then immediately copied and assigned to
-    spec->from_sopatt. After that it is used under check_ppcTOCs. But there
-    it will first be reassigned a new value through maybe_Z_demangle
-    (overwriting any existing string being pointed to). So for this
-    particular leak it seem fine to free it right after the spec[List] has
-    been initialized (line 642).
-    
-    Cheers,
-    
-    Mark
-    
-    
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15898 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/coregrind/m_redir.c b/coregrind/m_redir.c
-index 62cb45a..c9e8726 100644
---- a/coregrind/m_redir.c
-+++ b/coregrind/m_redir.c
-@@ -616,7 +616,7 @@ void VG_(redir_notify_new_DebugInfo)( const DebugInfo* newdi )
- 	    if (replaced_sopatt == NULL
- 		&& VG_(strcmp) ( demangled_sopatt, SO_SYN_MALLOC_NAME ) == 0)
- 	      {
--		replaced_sopatt = VG_(strdup)("m_redir.rnnD.1", "*");
-+		replaced_sopatt = dinfo_strdup("m_redir.rnnD.1", "*");
- 		demangled_sopatt = replaced_sopatt;
- 		isGlobal = True;
- 	      }
-@@ -640,6 +640,14 @@ void VG_(redir_notify_new_DebugInfo)( const DebugInfo* newdi )
-          spec->mark = False; /* not significant */
-          spec->done = False; /* not significant */
-          specList = spec;
-+         /* The demangler is the owner of the demangled_sopatt memory,
-+            unless it was replaced. In this case, we have to free the
-+            replace_sopatt(==demangled_sopatt).  We can free it,
-+            because it was dinfo_strup-ed into spec->from_sopatt. */
-+         if (replaced_sopatt != NULL) {
-+            vg_assert(demangled_sopatt == replaced_sopatt);
-+            dinfo_free(replaced_sopatt);
-+         }
-       }
-       free_symname_array(names_init, &twoslots[0]);
-    }
diff --git a/valgrind-3.11.0-x86_unwind.patch b/valgrind-3.11.0-x86_unwind.patch
deleted file mode 100644
index f6b62bb..0000000
--- a/valgrind-3.11.0-x86_unwind.patch
+++ /dev/null
@@ -1,167 +0,0 @@
-commit f250c4d3241c156f8e65398e2af76e3e2ee1ccb5
-Author: philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Wed Nov 18 20:56:55 2015 +0000
-
-    Fix incorrect (or infinite loop) unwind on RHEL7 x86 32 bits.
-    
-    On RHEL7 x86 32 bits, Valgrind unwinder cannot properly unwind
-    the stack just after a thread creation : the unwinder always retrieves
-    the same pc/sp/bp.
-    See below for an example.
-    This has as consequences that some stack traces are bigger than
-    needed (i.e. they always fill up the ips array). If
-    --merge-recursive-frames is given, then the unwinder enters in an
-    infinite loop (as identical frames will be merged, and the ips array
-    will never be filled in).
-    Thi patch adds an additional exit condition : after unwinding
-    a frame, if the previous sp is >= new sp, then unwinding stops.
-    Patch has been tested on debian 8/x86, RHEL7/x86.
-    
-    
-    
-       0x0417db67 <+55>:    mov    0x18(%esp),%ebx
-       0x0417db6b <+59>:    mov    0x28(%esp),%edi
-       0x0417db6f <+63>:    mov    $0x78,%eax
-       0x0417db74 <+68>:    mov    %ebx,(%ecx)
-       0x0417db76 <+70>:    int    $0x80
-    => 0x0417db78 <+72>:    pop    %edi
-       0x0417db79 <+73>:    pop    %esi
-       0x0417db7a <+74>:    pop    %ebx
-       0x0417db7b <+75>:    test   %eax,%eax
-    
-    Valgrind stacktrace gives:
-    ==21261==    at 0x417DB78: clone (clone.S:110)
-    ==21261==    by 0x424702F: ???
-    ==21261==    by 0x424702F: ???
-    ==21261==    by 0x424702F: ???
-    ==21261==    by 0x424702F: ???
-    ==21261==    by 0x424702F: ???
-    ==21261==    by 0x424702F: ???
-    ==21261==    by 0x424702F: ???
-    ...
-    (till the array of ips is full)
-    
-    while gdb stacktrace gives:
-    (gdb) bt
-    #0  clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:110
-    #1  0x00000000 in ?? ()
-    (gdb) p $pc
-    $2 = (void (*)()) 0x417db78 <clone+72>
-    (gdb)
-    
-    
-    With the fix, valgrind gives:
-    ==21261==    at 0x417DB78: clone (clone.S:110)
-    ==21261==    by 0x424702F: ???
-    which looks more reasonable.
-    
-    
-    
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15729 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/coregrind/m_stacktrace.c b/coregrind/m_stacktrace.c
-index 8c1e9a4..137e780 100644
---- a/coregrind/m_stacktrace.c
-+++ b/coregrind/m_stacktrace.c
-@@ -350,6 +350,8 @@ UInt VG_(get_StackTrace_wrk) ( ThreadId tid_if_known,
-           uregs.xbp <= fp_max - 1 * sizeof(UWord)/*see comment below*/ &&
-           VG_IS_4_ALIGNED(uregs.xbp))
-       {
-+         Addr old_xsp;
-+
-          /* fp looks sane, so use it. */
-          uregs.xip = (((UWord*)uregs.xbp)[1]);
-          // We stop if we hit a zero (the traditional end-of-stack
-@@ -382,6 +384,7 @@ UInt VG_(get_StackTrace_wrk) ( ThreadId tid_if_known,
-             }
-          }
- 
-+         old_xsp = uregs.xsp;
-          uregs.xsp = uregs.xbp + sizeof(Addr) /*saved %ebp*/ 
-                                + sizeof(Addr) /*ra*/;
-          uregs.xbp = (((UWord*)uregs.xbp)[0]);
-@@ -393,6 +396,12 @@ UInt VG_(get_StackTrace_wrk) ( ThreadId tid_if_known,
-                if (debug) VG_(printf)("     cache FPUNWIND >2\n");
-                if (debug) unwind_case = "FO";
-                if (do_stats) stats.FO++;
-+               if (old_xsp >= uregs.xsp) {
-+                  if (debug)
-+                    VG_(printf) ("     FO end of stack old_xsp %p >= xsp %p\n",
-+                                 (void*)old_xsp, (void*)uregs.xsp);
-+                  break;
-+               }
-             } else {
-                fp_CF_verif_cache [hash] = xip_verified ^ CFUNWIND;
-                if (debug) VG_(printf)("     cache CFUNWIND >2\n");
-@@ -406,6 +415,12 @@ UInt VG_(get_StackTrace_wrk) ( ThreadId tid_if_known,
-          } else {
-             if (debug) unwind_case = "FF";
-             if (do_stats) stats.FF++;
-+            if (old_xsp >= uregs.xsp) {
-+               if (debug)
-+                  VG_(printf) ("     FF end of stack old_xsp %p >= xsp %p\n",
-+                               (void*)old_xsp, (void*)uregs.xsp);
-+               break;
-+            }
-          }
-          goto unwind_done;
-       } else {
-commit 4520d562975820aced0fda6ed503379f337da66e
-Author: philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Wed Feb 17 22:41:14 2016 +0000
-
-    Fix incorrect (or infinite loop) unwind on RHEL7 amd64 64 bits.
-    
-    Same kind of problems as explained and fixed in revision 15720:
-    In some cases, unwinding always retrieves the same pc/sp/bp.
-    
-    Fix for 64 bits is similar: stop unwinding if the previous sp is >= new sp
-    
-    
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15794 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/coregrind/m_stacktrace.c b/coregrind/m_stacktrace.c
-index 137e780..ef4984c 100644
---- a/coregrind/m_stacktrace.c
-+++ b/coregrind/m_stacktrace.c
-@@ -607,16 +607,25 @@ UInt VG_(get_StackTrace_wrk) ( ThreadId tid_if_known,
-     * next function which is completely wrong.
-     */
-    while (True) {
-+      Addr old_xsp;
- 
-       if (i >= max_n_ips)
-          break;
- 
-+      old_xsp = uregs.xsp;
-+
-       /* Try to derive a new (ip,sp,fp) triple from the current set. */
- 
-       /* First off, see if there is any CFI info to hand which can
-          be used. */
-       if ( VG_(use_CF_info)( &uregs, fp_min, fp_max ) ) {
-          if (0 == uregs.xip || 1 == uregs.xip) break;
-+         if (old_xsp >= uregs.xsp) {
-+            if (debug)
-+               VG_(printf) ("     CF end of stack old_xsp %p >= xsp %p\n",
-+                            (void*)old_xsp, (void*)uregs.xsp);
-+            break;
-+         }
-          if (sps) sps[i] = uregs.xsp;
-          if (fps) fps[i] = uregs.xbp;
-          ips[i++] = uregs.xip - 1; /* -1: refer to calling insn, not the RA */
-@@ -646,6 +655,12 @@ UInt VG_(get_StackTrace_wrk) ( ThreadId tid_if_known,
-          if (0 == uregs.xip || 1 == uregs.xip) break;
-          uregs.xsp = uregs.xbp + sizeof(Addr) /*saved %rbp*/ 
-                                + sizeof(Addr) /*ra*/;
-+         if (old_xsp >= uregs.xsp) {
-+            if (debug)
-+               VG_(printf) ("     FF end of stack old_xsp %p >= xsp %p\n",
-+                            (void*)old_xsp, (void*)uregs.xsp);
-+            break;
-+         }
-          uregs.xbp = (((UWord*)uregs.xbp)[0]);
-          if (sps) sps[i] = uregs.xsp;
-          if (fps) fps[i] = uregs.xbp;
diff --git a/valgrind-3.11.0-z13s.patch b/valgrind-3.11.0-z13s.patch
deleted file mode 100644
index 7e7e1c2..0000000
--- a/valgrind-3.11.0-z13s.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-commit 3b6e36f530120f5e30d8a81d26e04018a8d0784f
-Author: florian <florian@8f6e269a-dfd6-0310-a8e1-e2731360e62c>
-Date:   Tue Feb 16 21:14:47 2016 +0000
-
-    s390: Add machine model z13s
-    
-    
-    git-svn-id: svn://svn.valgrind.org/vex/trunk@3208 8f6e269a-dfd6-0310-a8e1-e2731360e62c
-
-diff --git a/VEX/pub/libvex.h b/pub/libvex.h
-index b2bd476..4dd23e6 100644
---- a/VEX/pub/libvex.h
-+++ b/VEX/pub/libvex.h
-@@ -141,7 +141,8 @@ typedef
- #define VEX_S390X_MODEL_ZEC12    10
- #define VEX_S390X_MODEL_ZBC12    11
- #define VEX_S390X_MODEL_Z13      12
--#define VEX_S390X_MODEL_UNKNOWN  13     /* always last in list */
-+#define VEX_S390X_MODEL_Z13S     13
-+#define VEX_S390X_MODEL_UNKNOWN  14     /* always last in list */
- #define VEX_S390X_MODEL_MASK     0x3F
- 
- #define VEX_HWCAPS_S390X_LDISP (1<<6)   /* Long-displacement facility */
-commit e6d40c0b4d4e8a7007a6f2fc0c2f0aac50aba274
-Author: florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Tue Feb 16 21:15:32 2016 +0000
-
-    s390: Recognise machine model z13s (2965).
-    
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15789 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/coregrind/m_machine.c b/coregrind/m_machine.c
-index cd4606b..ae8b929 100644
---- a/coregrind/m_machine.c
-+++ b/coregrind/m_machine.c
-@@ -616,6 +616,7 @@ static UInt VG_(get_machine_model)(void)
-       { "2827", VEX_S390X_MODEL_ZEC12 },
-       { "2828", VEX_S390X_MODEL_ZBC12 },
-       { "2964", VEX_S390X_MODEL_Z13 },
-+      { "2965", VEX_S390X_MODEL_Z13S },
-    };
- 
-    Int    model, n, fh;
-diff --git a/tests/s390x_features.c b/tests/s390x_features.c
-index de34a98..bc671c6 100644
---- a/tests/s390x_features.c
-+++ b/tests/s390x_features.c
-@@ -89,6 +89,7 @@ model_info models[] = {
-    { "2827", "zEC12"  },
-    { "2828", "zBC12"  },
-    { "2964", "z13"    },
-+   { "2965", "z13s"   },
- };
- 
- 
diff --git a/valgrind.spec b/valgrind.spec
index 25b354c..aa343d6 100644
--- a/valgrind.spec
+++ b/valgrind.spec
@@ -2,8 +2,8 @@
 
 Summary: Tool for finding memory management bugs in programs
 Name: %{?scl_prefix}valgrind
-Version: 3.11.0
-Release: 26%{?dist}
+Version: 3.12.0
+Release: 0.1.BETA1%{?dist}
 Epoch: 1
 License: GPLv2+
 URL: http://www.valgrind.org/
@@ -58,7 +58,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 # So those will already have their full symbol table.
 %undefine _include_minidebuginfo
 
-Source0: http://www.valgrind.org/downloads/valgrind-%{version}.tar.bz2
+#Source0: http://www.valgrind.org/downloads/valgrind-%{version}.tar.bz2
+Source0: valgrind-3.12.0.BETA1.tar.bz2
 
 # Needs investigation and pushing upstream
 Patch1: valgrind-3.9.0-cachegrind-improvements.patch
@@ -69,128 +70,6 @@ Patch2: valgrind-3.9.0-helgrind-race-supp.patch
 # Make ld.so supressions slightly less specific.
 Patch3: valgrind-3.9.0-ldso-supp.patch
 
-# KDE#353083 arm64 doesn't implement various xattr system calls.
-Patch4: valgrind-3.11.0-arm64-xattr.patch
-
-# KDE#353084 arm64 doesn't support sigpending system call.
-Patch5: valgrind-3.11.0-arm64-sigpending.patch
-
-# KDE#353370 don't advertise RDRAND in cpuid for Core-i7-4910-like avx2
-Patch6: valgrind-3.11.0-no-rdrand.patch
-
-# KDE#278744 cvtps2pd with redundant RexW
-Patch7: valgrind-3.11.0-rexw-cvtps2pd.patch
-
-# KDE#353680 Crash with certain glibc versions due to non-implemented TBEGIN
-Patch8: valgrind-3.11.0-s390-hwcap.patch
-
-# KDE#355188 valgrind should intercept all malloc related global functions
-Patch9: valgrind-3.11.0-wrapmalloc.patch
-
-# RHBZ#1283774 - Valgrind: FATAL: aspacem assertion failed
-Patch10: valgrind-3.11.0-aspacemgr.patch
-
-# KDE#358213 - helgrind bar_bad testcase hangs with new glibc pthread barrier
-Patch11: valgrind-3.11.0-pthread_barrier.patch
-
-# KDE#357833 - Valgrind is broken on recent linux kernel (RLIMIT_DATA)
-Patch12: valgrind-3.11.0-rlimit_data.patch
-
-# KDE#357887 VG_(fclose) ought to close the file, you silly.
-Patch13: valgrind-3.11.0-fclose.patch
-
-# KDE#357871 Fix helgrind wrapper of pthread_spin_destroy
-Patch14: valgrind-3.11.0-pthread_spin_destroy.patch
-
-# KDE#358030 Support direct socket calls on x86 32bit (new in linux 4.3)
-Patch15: valgrind-3.11.0-socketcall-x86-linux.patch
-
-# KDE#356044 Dwarf line info reader misinterprets is_stmt register
-Patch16: valgrind-3.11.0-is_stmt.patch
-
-# Fix incorrect (or infinite loop) unwind on RHEL7 x86 32 bits. (svn r15729)
-# Fix incorrect (or infinite loop) unwind on RHEL7 amd64 64 bits. (svn r15794)
-Patch17: valgrind-3.11.0-x86_unwind.patch
-
-# KDE#358478 drd/tests/std_thread.cpp doesn't build with GCC6
-Patch18: valgrind-3.11.0-drd_std_thread.patch
-
-# KDE#359201 futex syscall skips argument 5 if op is FUTEX_WAIT_BITSET
-Patch19: valgrind-3.11.0-futex.patch
-
-# KDE#359289 s390: Implement popcnt insn.
-Patch20: valgrind-3.11.0-s390x-popcnt.patch
-
-# KDE#359703 s390: wire up separate socketcalls system calls
-Patch21: valgrind-3.11.0-s390-separate-socketcalls.patch
-
-# KDE#359733 amd64 implement ld.so strchr/index override like x86
-Patch22: valgrind-3.11.0-amd64-ld-index.patch
-
-# KDE#359871 Incorrect mask handling in ppoll
-Patch23: valgrind-3.11.0-ppoll-mask.patch
-
-# KDE#359503 - Add missing syscalls for aarch64 (arm64)
-Patch24: valgrind-3.11.0-arm64-more-syscalls.patch
-
-# Workaround for KDE#345307 - still reachable memory in libstdc++ from gcc 5
-Patch25: valgrind-3.11.0-libstdc++-supp.patch
-
-# KDE#360519 - none/tests/arm64/memory.vgtest might fail with newer gcc
-Patch26: valgrind-3.11.0-arm64-ldr-literal-test.patch
-
-# KDE#360425 - arm64 unsupported instruction ldpsw
-Patch27: valgrind-3.11.0-arm64-ldpsw.patch
-
-# KDE#345307 - still reachable memory in libstdc++ from gcc 6
-# Note that workaround (patch25) is still needed for gcc 5
-Patch28: valgrind-3.11.0-cxx-freeres.patch
-
-# KDE#361354 - ppc64[le]: wire up separate socketcalls system calls
-Patch29: valgrind-3.11.0-ppc64-separate-socketcalls.patch
-
-# KDE#356393 - valgrind (vex) crashes because isZeroU happened
-Patch30: valgrind-3.11.0-isZeroU.patch
-
-# KDE#359472 - PPC vsubuqm instruction doesn't always give the correct result
-Patch31: valgrind-3.11.0-ppc64-128bit-mod-carry.patch
-
-# KDE#212352 - vex amd64 unhandled opc_aux = 0x 2, first_opcode == 0xDC (FCOM)
-Patch32: valgrind-3.11.0-amd64-fcom.patch
-
-# s390: Recognise machine model z13s (2965)
-Patch33: valgrind-3.11.0-z13s.patch
-
-# Update gdbserver_tests filter for newer GDB version.
-Patch34: valgrind-3.11.0-gdb-test-filters.patch
-
-# KDE#361226 s390x: risbgn (EC59) not implemented
-Patch35: valgrind-3.11.0-s390x-risbgn.patch
-
-# KDE#359133 m_deduppoolalloc.c:258 (vgPlain_allocEltDedupPA): Assertion failed 
-Patch36: valgrind-3.11.0-deduppoolalloc.patch
-
-# KDE#360035 - POWER PC bcdadd and bcdsubtract generate non-zero shadow bits 
-Patch37: valgrind-3.11.0-ppc-bcd-addsub.patch
-
-# KDE#360008 - ppc64 vr registers not printed correctly with vgdb
-Patch38: valgrind-3.11.0-ppc64-vgdb-vr-regs.patch
-
-# KDE#363705 arm64 missing syscall name_to_handle_at and open_by_handle_at
-Patch39: valgrind-3.11.0-arm64-handle_at.patch
-
-# KDE#363714 ppc64 missing syscalls sync, waitid and name_to/open_by_handle_at
-Patch40: valgrind-3.11.0-ppc64-syscalls.patch
-
-# valgrind svn r3223 - memcheck false positive with shr %edx
-Patch41: valgrind-3.11.0-shr.patch
-
-# KDE#359952 - Enable PCMPxSTRx cases 0x70 and 0x19.
-Patch42: valgrind-3.11.0-pcmpxstrx-0x70-0x19.patch
-
-# KDE#365273 - Invalid write to stack location reported after signal handler
-Patch43: valgrind-3.11.0-sighandler-stack.patch
-
 %if %{build_multilib}
 # Ensure glibc{,-devel} is installed for both multilib arches
 BuildRequires: /lib/libc.so.6 /usr/lib/libc.so /lib64/libc.so.6 /usr/lib64/libc.so
@@ -298,64 +177,11 @@ Valgrind User Manual for details.
 %endif
 
 %prep
-%setup -q -n %{?scl:%{pkg_name}}%{!?scl:%{name}}-%{version}
+%setup -q -n %{?scl:%{pkg_name}}%{!?scl:%{name}}-%{version}.BETA1
 
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
-%patch4 -p1
-%patch5 -p1
-%patch6 -p1
-%patch7 -p1
-%patch8 -p1
-%patch9 -p1
-%patch10 -p1
-%patch11 -p1
-%patch12 -p1
-%patch13 -p1
-%patch14 -p1
-%patch15 -p1
-%patch16 -p1
-%patch17 -p1
-%patch18 -p1
-%patch19 -p1
-%patch20 -p1
-%patch21 -p1
-%patch22 -p1
-%patch23 -p1
-
-# Older patch might not have created these (expected) empty files (patch23)
-touch none/tests/ppoll_alarm.stderr.exp
-touch none/tests/ppoll_alarm.stdout.exp
-touch none/tests/pselect_alarm.stderr.exp
-touch none/tests/pselect_alarm.stdout.exp
-touch none/tests/pselect_sigmask_null.stderr.exp
-touch none/tests/pselect_sigmask_null.stdout.exp
-
-%patch24 -p1
-
-# New filter (from patch24) needs to be executable.
-chmod 755 memcheck/tests/arm64-linux/filter_stderr
-
-%patch25 -p1
-%patch26 -p1
-%patch27 -p1
-%patch28 -p1
-%patch29 -p1
-%patch30 -p1
-%patch31 -p1
-%patch32 -p1
-%patch33 -p1
-%patch34 -p1
-%patch35 -p1
-%patch36 -p1
-%patch37 -p1
-%patch38 -p1
-%patch39 -p1
-%patch40 -p1
-%patch41 -p1
-%patch42 -p1
-%patch43 -p1
 
 %build
 # We need to use the software collection compiler and binutils if available.
@@ -485,15 +311,16 @@ echo ===============TESTING===================
 # On arm the gdb integration tests hang for unknown reasons.
 # When building a scl we might pick a bad gdb.
 # Only run the main tools tests.
-%ifarch %{arm}
+# Recent GDB crashes on the gdb_server tests. Disable everywhere for now.
+#%ifarch %{arm}
 ./close_fds make nonexp-regtest || :
-%else
-  %if %{is_scl}
-    ./close_fds make nonexp-regtest || :
-  %else
-    ./close_fds make regtest || :
-  %endif
-%endif
+#%else
+#  %if %{is_scl}
+#    ./close_fds make nonexp-regtest || :
+#  %else
+#    ./close_fds make regtest || :
+#  %endif
+#%endif
 
 # Make sure test failures show up in build.log
 # Gather up the diffs (at most the first 20 lines for each one)
@@ -555,6 +382,11 @@ echo ===============END TESTING===============
 %endif
 
 %changelog
+* Tue Sep 20 2016 Mark Wielaard <mjw@redhat.com> - 3.12.0-0.1-BETA1
+- Update to valgrind 3.12.0 pre-release.
+  - Drop upstreamed patches.
+  - Disable exp-tests in %%check. GDB crashes on gdb_server tests.
+
 * Fri Jul 22 2016 Mark Wielaard <mjw@redhat.com> - 3.11.0-26
 - Only build valgrind-openmpi when not creating a software collection.
 - No support for multilib on secondary arches when creating scl.