diff options
| author | Andrea Corallo | 2020-04-05 20:42:49 +0100 |
|---|---|---|
| committer | Andrea Corallo | 2020-04-05 22:05:53 +0100 |
| commit | 4263f2fd15e8439b8e8676ebeb6ab2f7f9339025 (patch) | |
| tree | b17797195759ffe377f5c0ad8dd00472c5af29ea /src | |
| parent | 346d50989a446285d38d411f8f77350ba4af5222 (diff) | |
| download | emacs-4263f2fd15e8439b8e8676ebeb6ab2f7f9339025.tar.gz emacs-4263f2fd15e8439b8e8676ebeb6ab2f7f9339025.zip | |
* src/comp.c (emit_XFIXNUM): Fix for LSB_TAG plus annotate a FIXME.
Diffstat (limited to 'src')
| -rw-r--r-- | src/comp.c | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/comp.c b/src/comp.c index 44de1f5fbcb..0a803545e59 100644 --- a/src/comp.c +++ b/src/comp.c | |||
| @@ -985,16 +985,19 @@ emit_XFIXNUM (gcc_jit_rvalue *obj) | |||
| 985 | i, | 985 | i, |
| 986 | comp.inttypebits); | 986 | comp.inttypebits); |
| 987 | 987 | ||
| 988 | return emit_binary_op (GCC_JIT_BINARY_OP_RSHIFT, | 988 | return emit_coerce (comp.emacs_int_type, |
| 989 | comp.emacs_int_type, | 989 | emit_binary_op (GCC_JIT_BINARY_OP_RSHIFT, |
| 990 | i, | 990 | comp.emacs_uint_type, |
| 991 | comp.inttypebits); | 991 | i, |
| 992 | comp.inttypebits)); | ||
| 992 | } | 993 | } |
| 993 | else | 994 | else |
| 994 | return emit_binary_op (GCC_JIT_BINARY_OP_LSHIFT, | 995 | /* FIXME: Implementation dependent (wants arithmetic shift). */ |
| 995 | comp.emacs_int_type, | 996 | return emit_coerce (comp.emacs_int_type, |
| 996 | i, | 997 | emit_binary_op (GCC_JIT_BINARY_OP_RSHIFT, |
| 997 | comp.inttypebits); | 998 | comp.emacs_int_type, |
| 999 | i, | ||
| 1000 | comp.inttypebits)); | ||
| 998 | } | 1001 | } |
| 999 | 1002 | ||
| 1000 | static gcc_jit_rvalue * | 1003 | static gcc_jit_rvalue * |