[valgrind] 3.8.1-28 Implement SSE4 MOVNTDQA insn (valgrind-3.8.1-movntdqa.patch)

Mark Wielaard mjw at fedoraproject.org
Mon Sep 23 14:22:37 UTC 2013


commit 59e54b5e3e9d10df2186b735bd2376d3bfde3a3f
Author: Mark Wielaard <mjw at redhat.com>
Date:   Mon Sep 23 15:32:22 2013 +0200

    3.8.1-28 Implement SSE4 MOVNTDQA insn (valgrind-3.8.1-movntdqa.patch)
    
    Don't BuildRequire /bin/ps, just BuildRequire procps.

 valgrind-3.8.1-movntdqa.patch |   40 ++++++++++++++++++++++++++++++++++++++++
 valgrind.spec                 |   13 +++++++++++--
 2 files changed, 51 insertions(+), 2 deletions(-)
---
diff --git a/valgrind-3.8.1-movntdqa.patch b/valgrind-3.8.1-movntdqa.patch
new file mode 100644
index 0000000..079bbe9
--- /dev/null
+++ b/valgrind-3.8.1-movntdqa.patch
@@ -0,0 +1,40 @@
+commit 6c07dca0af0527226ec9784fbb703526887f09c0
+Author: sewardj <sewardj at 8f6e269a-dfd6-0310-a8e1-e2731360e62c>
+Date:   Tue Mar 26 10:27:39 2013 +0000
+
+    Implement SSE4 MOVNTDQA insn.  Fixes #316503.
+    (Patrick J. LoPresti, lopresti at gmail.com)
+    
+    
+    git-svn-id: svn://svn.valgrind.org/vex/trunk@2700 8f6e269a-dfd6-0310-a8e1-e2731360e62c
+
+diff --git a/VEX/priv/guest_amd64_toIR.c b/VEX/priv/guest_amd64_toIR.c
+index 1034971..7e98e76 100644
+--- a/VEX/priv/guest_amd64_toIR.c
++++ b/VEX/priv/guest_amd64_toIR.c
+@@ -16378,6 +16378,25 @@ Long dis_ESC_0F38__SSE4 ( Bool* decode_OK,
+       }
+       break;
+ 
++   case 0x2A:
++      /* 66 0F 38 2A = MOVNTDQA
++         "non-temporal" "streaming" load
++         Handle like MOVDQA but only memory operand is allowed */
++      if (have66noF2noF3(pfx) && sz == 2) {
++         modrm = getUChar(delta);
++         if (!epartIsReg(modrm)) {
++            addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 0 );
++            gen_SEGV_if_not_16_aligned( addr );
++            putXMMReg( gregOfRexRM(pfx,modrm),
++                       loadLE(Ity_V128, mkexpr(addr)) );
++            DIP("movntdqa %s,%s\n", dis_buf,
++                                    nameXMMReg(gregOfRexRM(pfx,modrm)));
++            delta += alen;
++            goto decode_success;
++         }
++      }
++      break;
++
+    case 0x2B:
+       /* 66 0f 38 2B /r = PACKUSDW xmm1, xmm2/m128
+          2x 32x4 S->U saturating narrow from xmm2/m128 to xmm1 */
diff --git a/valgrind.spec b/valgrind.spec
index be44d65..23036b1 100644
--- a/valgrind.spec
+++ b/valgrind.spec
@@ -3,7 +3,7 @@
 Summary: Tool for finding memory management bugs in programs
 Name: %{?scl_prefix}valgrind
 Version: 3.8.1
-Release: 27%{?dist}
+Release: 28%{?dist}
 Epoch: 1
 License: GPLv2
 URL: http://www.valgrind.org/
@@ -191,6 +191,9 @@ Patch49: valgrind-3.8.1-s390-STFLE.patch
 # KDE#323713 Support mmxext (integer sse) subset on i386 (athlon)
 Patch50: valgrind-3.8.1-mmxext.patch
 
+# KDE#316503 Implement SSE4 MOVNTDQA insn.
+Patch51: valgrind-3.8.1-movntdqa.patch
+
 %ifarch x86_64 ppc64
 # 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
@@ -214,7 +217,7 @@ BuildRequires: %{?scl_prefix}gdb
 BuildRequires: %{?scl_prefix}binutils
 
 # gdbserver_tests/filter_make_empty uses ps in test
-BuildRequires: /bin/ps
+BuildRequires: procps
 
 %{?scl:Requires:%scl_runtime}
 
@@ -341,6 +344,7 @@ chmod 755 tests/check_isa-2_07_cap
 %patch48 -p1
 %patch49 -p1
 %patch50 -p1
+%patch51 -p1
 
 # These tests go into an endless loop on ARM
 # There is a __sync_add_and_fetch in the testcase.
@@ -502,6 +506,11 @@ echo ===============END TESTING===============
 %endif
 
 %changelog
+* Mon Sep 23 2013 Mark Wielaard <mjw at redhat.com> - 3.8.1-28
+- Implement SSE4 MOVNTDQA insn (valgrind-3.8.1-movntdqa.patch)
+- Don't BuildRequire /bin/ps, just BuildRequire procps
+  (procps-ng provides procps).
+
 * Thu Sep 05 2013 Mark Wielaard <mjw at redhat.com> - 3.8.1-27
 - Fix power_ISA2_05 testcase (valgrind-3.8.1-power-isa-205-deprecation.patch)
 - Fix ppc32 make check build (valgrind-3.8.1-initial-power-isa-207.patch)


More information about the scm-commits mailing list