[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