[pypy-commit] pypy fast-gil: in-progress

arigo noreply at buildbot.pypy.org
Tue Jun 24 15:42:08 CEST 2014


Author: Armin Rigo <arigo at tunes.org>
Branch: fast-gil
Changeset: r72191:809cc4f15a0b
Date: 2014-06-24 14:43 +0200
http://bitbucket.org/pypy/pypy/changeset/809cc4f15a0b/

Log:	in-progress

diff --git a/rpython/jit/backend/x86/rx86.py b/rpython/jit/backend/x86/rx86.py
--- a/rpython/jit/backend/x86/rx86.py
+++ b/rpython/jit/backend/x86/rx86.py
@@ -621,9 +621,9 @@
     # http://lists.gnu.org/archive/html/bug-binutils/2007-07/msg00095.html
     MOVD_rx = xmminsn('\x66', rex_w, '\x0F\x7E', register(2, 8), register(1), '\xC0')
     MOVD_xr = xmminsn('\x66', rex_w, '\x0F\x6E', register(1, 8), register(2), '\xC0')
-    MOVD_xb = xmminsn('\x66', rex_w, '\x0F\x6E', register(1, 8), stack_bp(2))
-    MOVD_sx = xmminsn('\x66', rex_w, '\x0F\x7E', register(2, 8), stack_sp(1))
-    MOVD_xs = xmminsn('\x66', rex_w, '\x0F\x6E', register(1, 8), stack_sp(2))
+    MOVQ_xb = xmminsn('\xF3', rex_nw, '\x0F\x7E', register(1, 8), stack_bp(2))
+    MOVQ_xs = xmminsn('\xF3', rex_nw, '\x0F\x7E', register(1, 8), stack_sp(2))
+    MOVQ_sx = xmminsn('\x66', rex_nw, '\x0F\xD6', register(2, 8), stack_sp(1))
 
     PSRAD_xi = xmminsn('\x66', rex_nw, '\x0F\x72', register(1), '\xE0', immediate(2, 'b'))
 
diff --git a/rpython/jit/backend/x86/test/test_rx86_32_auto_encoding.py b/rpython/jit/backend/x86/test/test_rx86_32_auto_encoding.py
--- a/rpython/jit/backend/x86/test/test_rx86_32_auto_encoding.py
+++ b/rpython/jit/backend/x86/test/test_rx86_32_auto_encoding.py
@@ -191,7 +191,8 @@
         for args in args_lists:
             suffix = ""
             if (argmodes and not self.is_xmm_insn
-                         and not instrname.startswith('FSTP')):
+                         and not instrname.startswith('FSTP')
+                         and not instrname.startswith('FLD')):
                 suffix = suffixes[self.WORD]
             # Special case: On 64-bit CPUs, rx86 assumes 64-bit integer
             # operands when converting to/from floating point, so we need to


More information about the pypy-commit mailing list