Merge [2192] from trunk.

svn path=/branches/yasm-0.8.x/; revision=2193
This commit is contained in:
Peter Johnson 2009-04-04 23:03:41 +00:00
commit 378d6dd1e1
4 changed files with 405 additions and 0 deletions

View file

@ -3096,6 +3096,14 @@ add_group("fildstp",
opcode=[0xDD],
spare=0,
operands=[Operand(type="Mem", size=64, dest="EA")])
# No-suffix alias for memory for GAS compat -> "s" version generated
add_group("fildstp",
cpu=["FPU"],
parsers=["gas"],
modifiers=["SpAdd"],
opcode=[0xDF],
spare=0,
operands=[Operand(type="Mem", size=16, relaxed=True, dest="EA")])
add_insn("fild", "fildstp", modifiers=[0, 2, 5])
add_insn("fistp", "fildstp", modifiers=[3, 2, 7])
@ -3180,6 +3188,14 @@ add_group("fcom",
modifiers=["Op1Add"],
opcode=[0xD8, 0x00],
operands=[Operand(type="Reg", size=80, dest="Op1Add")])
# No-suffix alias for memory for GAS compat -> "s" version generated
add_group("fcom",
cpu=["FPU"],
parsers=["gas"],
modifiers=["Gap", "SpAdd"],
opcode=[0xD8],
spare=0,
operands=[Operand(type="Mem", size=32, relaxed=True, dest="EA")])
# Alias for fcom %st(1) for GAS compat
add_group("fcom",
cpu=["FPU"],

View file

@ -7,6 +7,8 @@ EXTRA_DIST += modules/arch/x86/tests/gas32/align32.asm
EXTRA_DIST += modules/arch/x86/tests/gas32/align32.hex
EXTRA_DIST += modules/arch/x86/tests/gas32/gas-farithr.asm
EXTRA_DIST += modules/arch/x86/tests/gas32/gas-farithr.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-movdq32.asm
EXTRA_DIST += modules/arch/x86/tests/gas32/gas-movdq32.hex
EXTRA_DIST += modules/arch/x86/tests/gas32/gas-movsd.asm

View file

@ -0,0 +1,11 @@
.text
fcomp
fcomp %st(1)
fcomp 0(%eax)
fcomps 0(%eax)
fcompl 0(%eax)
fistp 0(%eax)
fistps 0(%eax)
fistpl 0(%eax)

View file

@ -0,0 +1,376 @@
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
b0
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
d8
d9
d8
d9
d8
18
d8
18
dc
18
df
18
df
18
db
18
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
00
00
00
00
17
00
00
00
03
00
00
00
00
00
00
00
00
00
00
00
50
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
74
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
78
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
10
00
00
00
00
00
00
00
00
00
00
00
10
00
00
00
00
00
00
00