* src/comp.c (emit_FIXNUMP): Don't emit a shift when unnecessary.

This commit is contained in:
Andrea Corallo 2020-04-06 19:04:43 +01:00
parent 3608623eba
commit a04c960a35

View file

@ -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 (