mirror of
https://github.com/yasm/yasm
synced 2026-08-26 22:26:05 -04:00
Fix #198: Previous commit accidentally broke a great many instructions.
svn path=/trunk/yasm/; revision=2239
This commit is contained in:
parent
ad1280030c
commit
c89b661925
4 changed files with 373 additions and 16 deletions
|
|
@ -540,31 +540,24 @@ def finalize_insns():
|
|||
parsers &= insn.parsers
|
||||
|
||||
if "gas" in parsers:
|
||||
suffixes = set()
|
||||
if insn.suffix is None:
|
||||
suffixes = set()
|
||||
for form in group:
|
||||
if form.gen_suffix and form.suffixes is not None:
|
||||
suffixes |= form.suffixes
|
||||
|
||||
for suffix in suffixes:
|
||||
if suffix == "Z":
|
||||
keyword = name
|
||||
else:
|
||||
keyword = name+suffix
|
||||
if keyword in gas_insns:
|
||||
raise ValueError("duplicate gas instruction %s" %
|
||||
keyword)
|
||||
newinsn = insn.copy()
|
||||
newinsn.suffix = suffix
|
||||
newinsn.auto_cpu("gas")
|
||||
newinsn.auto_misc_flags("gas")
|
||||
gas_insns[keyword] = newinsn
|
||||
else:
|
||||
keyword = name
|
||||
if not suffixes:
|
||||
suffixes.add("Z")
|
||||
for suffix in suffixes:
|
||||
if suffix == "Z":
|
||||
keyword = name
|
||||
else:
|
||||
keyword = name+suffix
|
||||
if keyword in gas_insns:
|
||||
raise ValueError("duplicate gas instruction %s" %
|
||||
keyword)
|
||||
newinsn = insn.copy()
|
||||
newinsn.suffix = suffix
|
||||
newinsn.auto_cpu("gas")
|
||||
newinsn.auto_misc_flags("gas")
|
||||
gas_insns[keyword] = newinsn
|
||||
|
|
|
|||
|
|
@ -11,6 +11,8 @@ EXTRA_DIST += modules/arch/x86/tests/gas32/gas-farjump.asm
|
|||
EXTRA_DIST += modules/arch/x86/tests/gas32/gas-farjump.hex
|
||||
EXTRA_DIST += modules/arch/x86/tests/gas32/gas-fpmem.asm
|
||||
EXTRA_DIST += modules/arch/x86/tests/gas32/gas-fpmem.hex
|
||||
EXTRA_DIST += modules/arch/x86/tests/gas32/gas-invlpg.asm
|
||||
EXTRA_DIST += modules/arch/x86/tests/gas32/gas-invlpg.hex
|
||||
EXTRA_DIST += modules/arch/x86/tests/gas32/gas-loop32.asm
|
||||
EXTRA_DIST += modules/arch/x86/tests/gas32/gas-loop32.hex
|
||||
EXTRA_DIST += modules/arch/x86/tests/gas32/gas-movdq32.asm
|
||||
|
|
|
|||
2
modules/arch/x86/tests/gas32/gas-invlpg.asm
Normal file
2
modules/arch/x86/tests/gas32/gas-invlpg.asm
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
invlpg (%eax)
|
||||
|
||||
360
modules/arch/x86/tests/gas32/gas-invlpg.hex
Normal file
360
modules/arch/x86/tests/gas32/gas-invlpg.hex
Normal file
|
|
@ -0,0 +1,360 @@
|
|||
7f
|
||||
45
|
||||
4c
|
||||
46
|
||||
01
|
||||
01
|
||||
01
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
01
|
||||
00
|
||||
03
|
||||
00
|
||||
01
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
a0
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
34
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
28
|
||||
00
|
||||
05
|
||||
00
|
||||
01
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
0f
|
||||
01
|
||||
38
|
||||
00
|
||||
00
|
||||
2e
|
||||
74
|
||||
65
|
||||
78
|
||||
74
|
||||
00
|
||||
2e
|
||||
73
|
||||
74
|
||||
72
|
||||
74
|
||||
61
|
||||
62
|
||||
00
|
||||
2e
|
||||
73
|
||||
79
|
||||
6d
|
||||
74
|
||||
61
|
||||
62
|
||||
00
|
||||
2e
|
||||
73
|
||||
68
|
||||
73
|
||||
74
|
||||
72
|
||||
74
|
||||
61
|
||||
62
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
2d
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
01
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
04
|
||||
00
|
||||
f1
|
||||
ff
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
03
|
||||
00
|
||||
04
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
17
|
||||
00
|
||||
00
|
||||
00
|
||||
03
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
44
|
||||
00
|
||||
00
|
||||
00
|
||||
21
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
07
|
||||
00
|
||||
00
|
||||
00
|
||||
03
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
68
|
||||
00
|
||||
00
|
||||
00
|
||||
03
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
0f
|
||||
00
|
||||
00
|
||||
00
|
||||
02
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
6c
|
||||
00
|
||||
00
|
||||
00
|
||||
30
|
||||
00
|
||||
00
|
||||
00
|
||||
02
|
||||
00
|
||||
00
|
||||
00
|
||||
03
|
||||
00
|
||||
00
|
||||
00
|
||||
04
|
||||
00
|
||||
00
|
||||
00
|
||||
10
|
||||
00
|
||||
00
|
||||
00
|
||||
01
|
||||
00
|
||||
00
|
||||
00
|
||||
01
|
||||
00
|
||||
00
|
||||
00
|
||||
06
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
40
|
||||
00
|
||||
00
|
||||
00
|
||||
03
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
10
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
00
|
||||
Loading…
Add table
Add a link
Reference in a new issue