aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndrea Corallo2020-04-06 19:04:43 +0100
committerAndrea Corallo2020-04-06 19:04:43 +0100
commita04c960a358811b598434c62528d2cac8a2a1cb7 (patch)
tree05a850e2f0a9268e4e4265f7f7f3448ad3202131 /src
parent3608623eba9870aff8b5eb842fb8ae10f092c6bb (diff)
downloademacs-a04c960a358811b598434c62528d2cac8a2a1cb7.tar.gz
emacs-a04c960a358811b598434c62528d2cac8a2a1cb7.zip
* src/comp.c (emit_FIXNUMP): Don't emit a shift when unnecessary.
Diffstat (limited to 'src')
-rw-r--r--src/comp.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/comp.c b/src/comp.c
index 0a803545e59..32fc7f23c4e 100644
--- a/src/comp.c
+++ b/src/comp.c
@@ -936,13 +936,14 @@ emit_FIXNUMP (gcc_jit_rvalue *obj)
936 emit_comment ("FIXNUMP"); 936 emit_comment ("FIXNUMP");
937 937
938 gcc_jit_rvalue *sh_res = 938 gcc_jit_rvalue *sh_res =
939 emit_binary_op ( 939 USE_LSB_TAG ? obj
940 GCC_JIT_BINARY_OP_RSHIFT, 940 : emit_binary_op (GCC_JIT_BINARY_OP_RSHIFT,
941 comp.emacs_int_type, 941 comp.emacs_int_type,
942 emit_XLI (obj), 942 emit_XLI (obj),
943 gcc_jit_context_new_rvalue_from_int (comp.ctxt, 943 gcc_jit_context_new_rvalue_from_int (
944 comp.emacs_int_type, 944 comp.ctxt,
945 (USE_LSB_TAG ? 0 : FIXNUM_BITS))); 945 comp.emacs_int_type,
946 FIXNUM_BITS));
946 947
947 gcc_jit_rvalue *minus_res = 948 gcc_jit_rvalue *minus_res =
948 emit_binary_op ( 949 emit_binary_op (