diff options
| author | Andrea Corallo | 2020-04-06 19:04:43 +0100 |
|---|---|---|
| committer | Andrea Corallo | 2020-04-06 19:04:43 +0100 |
| commit | a04c960a358811b598434c62528d2cac8a2a1cb7 (patch) | |
| tree | 05a850e2f0a9268e4e4265f7f7f3448ad3202131 /src | |
| parent | 3608623eba9870aff8b5eb842fb8ae10f092c6bb (diff) | |
| download | emacs-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.c | 15 |
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 ( |