From b9f01dffc61d41868157d3cc31f460d952502779 Mon Sep 17 00:00:00 2001 From: Michael Matz Date: Wed, 11 May 2016 23:47:02 +0200 Subject: x86-64-asm: Clean up 64bit immediate support Fix it to actually be able to parse 64bit immediates (enlarge operand value type). Then, generally there's no need for accepting IM64 anywhere, except in the 0xba+r mov opcodes, so OP_IM is unnecessary, as is OPT_IMNO64. Improve the generated code a bit by preferring the 0xc7 opcode for im32->reg64, instead of the im64->reg64 form (which we therefore hardcode). --- tccasm.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'tccasm.c') diff --git a/tccasm.c b/tccasm.c index 3fd69f7..b494398 100644 --- a/tccasm.c +++ b/tccasm.c @@ -41,7 +41,8 @@ static Sym sym_dot; static void asm_expr_unary(TCCState *s1, ExprValue *pe) { Sym *sym; - int op, n, label; + int op, label; + long n; const char *p; switch(tok) { -- cgit v1.3.1