low));
}
-#if (EMACS_INT_MAX > LONG_MAX)
-static gcc_jit_rvalue *
-emit_rvalue_from_unsigned_long_long (gcc_jit_type *type, unsigned long long n)
-{
- emit_comment (format_string ("emit unsigned long long: %llu", n));
-
- gcc_jit_rvalue *high =
- gcc_jit_context_new_rvalue_from_long (comp.ctxt,
- comp.unsigned_long_long_type,
- n >> 32);
- gcc_jit_rvalue *low =
- emit_binary_op (GCC_JIT_BINARY_OP_RSHIFT,
- comp.unsigned_long_long_type,
- emit_binary_op (GCC_JIT_BINARY_OP_LSHIFT,
- comp.unsigned_long_long_type,
- gcc_jit_context_new_rvalue_from_long (
- comp.ctxt,
- comp.unsigned_long_long_type,
- n),
- gcc_jit_context_new_rvalue_from_int (
- comp.ctxt,
- comp.unsigned_long_long_type,
- 32)),
- gcc_jit_context_new_rvalue_from_int (
- comp.ctxt,
- comp.unsigned_long_long_type,
- 32));
-
- return emit_coerce (
- type,
- emit_binary_op (
- GCC_JIT_BINARY_OP_BITWISE_OR,
- comp.unsigned_long_long_type,
- emit_binary_op (
- GCC_JIT_BINARY_OP_LSHIFT,
- comp.unsigned_long_long_type,
- high,
- gcc_jit_context_new_rvalue_from_int (comp.ctxt,
- comp.unsigned_long_long_type,
- 32)),
- low));
-}
-#endif
-
static gcc_jit_rvalue *
emit_rvalue_from_emacs_uint (EMACS_UINT val)
{
#ifdef WIDE_EMACS_INT
if (val > LONG_MAX || val < LONG_MIN)
- return emit_rvalue_from_unsigned_long_long (comp.emacs_uint_type, val);
+ return emit_rvalue_from_long_long (comp.emacs_uint_type, val);
#endif
return gcc_jit_context_new_rvalue_from_long (comp.ctxt,
comp.emacs_uint_type,
{
#ifdef WIDE_EMACS_INT
if (val > LONG_MAX || val < LONG_MIN)
- return emit_rvalue_from_unsigned_long_long (comp.lisp_word_tag_type, val);
+ return emit_rvalue_from_long_long (comp.lisp_word_tag_type, val);
#endif
return gcc_jit_context_new_rvalue_from_long (comp.ctxt,
comp.lisp_word_tag_type,
val);
#else
if (val > LONG_MAX || val < LONG_MIN)
- return emit_rvalue_from_unsigned_long_long (comp.lisp_word_type, val);
+ return emit_rvalue_from_long_long (comp.lisp_word_type, val);
else
return gcc_jit_context_new_rvalue_from_long (comp.ctxt,
comp.lisp_word_type,