diff options
| author | Michael Matz <matz@suse.de> | 2016-05-09 21:38:01 +0200 |
|---|---|---|
| committer | Michael Matz <matz@suse.de> | 2016-05-09 23:17:47 +0200 |
| commit | 5e47b08dc80281e27f0cd7c15d0d91a2e1c0a636 (patch) | |
| tree | 7bb7c5d25589c6277209e6785fa01a47f1a2f8a0 /i386-tok.h | |
| parent | f5f82abc99424c4ece836000934fcf57a867c635 (diff) | |
| download | tinycc-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.h | 10 |
1 files changed, 3 insertions, 7 deletions
@@ -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) |
