Fix #198: Previous commit accidentally broke a great many instructions.

svn path=/trunk/yasm/; revision=2239
This commit is contained in:
Peter Johnson 2009-12-01 03:33:03 +00:00
parent ad1280030c
commit c89b661925
4 changed files with 373 additions and 16 deletions

View file

@ -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

View file

@ -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

View file

@ -0,0 +1,2 @@
invlpg (%eax)

View 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