guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] 06/20: Fix 32-bit movi_d


From: Andy Wingo
Subject: [Guile-commits] 06/20: Fix 32-bit movi_d
Date: Sun, 28 Apr 2019 07:54:19 -0400 (EDT)

wingo pushed a commit to branch lightening
in repository guile.

commit 19da79c8c1f38c09d1901cc3608b094b498c657c
Author: Andy Wingo <address@hidden>
Date:   Fri Apr 26 15:57:25 2019 +0200

    Fix 32-bit movi_d
    
    * lightening/x86-sse.c (movi_d): Fix combining of low and high double
      halves.
---
 lightening/x86-sse.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/lightening/x86-sse.c b/lightening/x86-sse.c
index c304919..34a39e8 100644
--- a/lightening/x86-sse.c
+++ b/lightening/x86-sse.c
@@ -316,6 +316,11 @@ xorpdr(jit_state_t *_jit, int32_t r0, int32_t r1)
   ssexr(_jit, 0x66, X86_SSE_XOR, r0, r1);
 }
 static void
+orpdr(jit_state_t *_jit, int32_t r0, int32_t r1)
+{
+  ssexr(_jit, 0x66, X86_SSE_OR, r0, r1);
+}
+static void
 pcmpeqlr(jit_state_t *_jit, int32_t r0, int32_t r1)
 {
   ssexr(_jit, 0x66, X86_SSE_EQD, r0, r1);
@@ -410,7 +415,7 @@ movi_d(jit_state_t *_jit, int32_t r0, jit_float64_t i0)
     pslq(_jit, jit_fpr_regno(freg), 32);
     movi(_jit, jit_gpr_regno(ireg), data.ii[0]);
     movdlxr(_jit, r0, jit_gpr_regno(ireg));
-    xorpdr(_jit, r0, jit_fpr_regno(freg));
+    orpdr(_jit, r0, jit_fpr_regno(freg));
     unget_temp_xpr(_jit);
     unget_temp_gpr(_jit);
 #endif



reply via email to

[Prev in Thread] Current Thread [Next in Thread]