From: Andrea Corallo Date: Mon, 6 Apr 2020 18:04:43 +0000 (+0100) Subject: * src/comp.c (emit_FIXNUMP): Don't emit a shift when unnecessary. X-Git-Tag: emacs-28.0.90~2727^2~720 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=a04c960a358811b598434c62528d2cac8a2a1cb7;p=emacs.git * src/comp.c (emit_FIXNUMP): Don't emit a shift when unnecessary. --- 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) emit_comment ("FIXNUMP"); gcc_jit_rvalue *sh_res = - emit_binary_op ( - GCC_JIT_BINARY_OP_RSHIFT, - comp.emacs_int_type, - emit_XLI (obj), - gcc_jit_context_new_rvalue_from_int (comp.ctxt, - comp.emacs_int_type, - (USE_LSB_TAG ? 0 : FIXNUM_BITS))); + USE_LSB_TAG ? obj + : emit_binary_op (GCC_JIT_BINARY_OP_RSHIFT, + comp.emacs_int_type, + emit_XLI (obj), + gcc_jit_context_new_rvalue_from_int ( + comp.ctxt, + comp.emacs_int_type, + FIXNUM_BITS)); gcc_jit_rvalue *minus_res = emit_binary_op (