aboutsummaryrefslogtreecommitdiff
path: root/i386-tok.h
diff options
context:
space:
mode:
authorMichael Matz <matz@suse.de>2016-05-09 21:38:01 +0200
committerMichael Matz <matz@suse.de>2016-05-09 23:17:47 +0200
commit5e47b08dc80281e27f0cd7c15d0d91a2e1c0a636 (patch)
tree7bb7c5d25589c6277209e6785fa01a47f1a2f8a0 /i386-tok.h
parentf5f82abc99424c4ece836000934fcf57a867c635 (diff)
downloadtinycc-5e47b08dc80281e27f0cd7c15d0d91a2e1c0a636.tar.gz
tinycc-5e47b08dc80281e27f0cd7c15d0d91a2e1c0a636.tar.bz2
[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.
Diffstat (limited to 'i386-tok.h')
-rw-r--r--i386-tok.h10
1 files changed, 3 insertions, 7 deletions
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)