emacs-diffs
[Top][All Lists]
Advanced

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

feature/native-comp 4263f2f 8/9: * src/comp.c (emit_XFIXNUM): Fix for LS


From: Andrea Corallo
Subject: feature/native-comp 4263f2f 8/9: * src/comp.c (emit_XFIXNUM): Fix for LSB_TAG plus annotate a FIXME.
Date: Sun, 5 Apr 2020 17:25:08 -0400 (EDT)

branch: feature/native-comp
commit 4263f2fd15e8439b8e8676ebeb6ab2f7f9339025
Author: Andrea Corallo <address@hidden>
Commit: Andrea Corallo <address@hidden>

    * src/comp.c (emit_XFIXNUM): Fix for LSB_TAG plus annotate a FIXME.
---
 src/comp.c | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/src/comp.c b/src/comp.c
index 44de1f5..0a80354 100644
--- a/src/comp.c
+++ b/src/comp.c
@@ -985,16 +985,19 @@ emit_XFIXNUM (gcc_jit_rvalue *obj)
                          i,
                          comp.inttypebits);
 
-      return emit_binary_op (GCC_JIT_BINARY_OP_RSHIFT,
-                            comp.emacs_int_type,
-                            i,
-                            comp.inttypebits);
+      return emit_coerce (comp.emacs_int_type,
+                         emit_binary_op (GCC_JIT_BINARY_OP_RSHIFT,
+                                         comp.emacs_uint_type,
+                                         i,
+                                         comp.inttypebits));
     }
   else
-    return emit_binary_op (GCC_JIT_BINARY_OP_LSHIFT,
-                          comp.emacs_int_type,
-                          i,
-                          comp.inttypebits);
+    /* FIXME: Implementation dependent (wants arithmetic shift).  */
+    return emit_coerce (comp.emacs_int_type,
+                       emit_binary_op (GCC_JIT_BINARY_OP_RSHIFT,
+                                       comp.emacs_int_type,
+                                       i,
+                                       comp.inttypebits));
 }
 
 static gcc_jit_rvalue *



reply via email to

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