From 5e47b08dc80281e27f0cd7c15d0d91a2e1c0a636 Mon Sep 17 00:00:00 2001 From: Michael Matz Date: Mon, 9 May 2016 21:38:01 +0200 Subject: [x86] Fix some asm problems A bag of assembler fixes, to be either compatible with GAS (e.g. order of 'test' operands), accept more instructions, count correct foo{bwlq} variants on x86_64, fix modrm/sib bytes on x86_64 to not use %rip relative addressing mode, to not use invalid insns in tests/asmtest.S for x86_64. Result is that now output of GAS and of tcc on tests/asmtest.S is mostly the same. --- i386-tok.h | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'i386-tok.h') diff --git a/i386-tok.h b/i386-tok.h index b0ca3ed..eedbc18 100644 --- a/i386-tok.h +++ b/i386-tok.h @@ -126,12 +126,8 @@ DEF_BWLX(shr) DEF_BWLX(sar) - DEF_ASM(shldw) - DEF_ASM(shldl) - DEF_ASM(shld) - DEF_ASM(shrdw) - DEF_ASM(shrdl) - DEF_ASM(shrd) + DEF_WLX(shld) + DEF_WLX(shrd) DEF_ASM(pushw) DEF_ASM(pushl) @@ -150,7 +146,7 @@ DEF_BWL(in) DEF_BWL(out) - DEF_WL(movzb) + DEF_WLX(movzb) DEF_ASM(movzwl) DEF_ASM(movsbw) DEF_ASM(movsbl) -- cgit v1.3.1