Merge [2192] from trunk.

svn path=/branches/yasm-0.8.x/; revision=2193
diff --git a/modules/arch/x86/gen_x86_insn.py b/modules/arch/x86/gen_x86_insn.py
index 271d3ff..372454d 100755
--- a/modules/arch/x86/gen_x86_insn.py
+++ b/modules/arch/x86/gen_x86_insn.py
@@ -3096,6 +3096,14 @@
     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 @@
     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"],
diff --git a/modules/arch/x86/tests/gas32/Makefile.inc b/modules/arch/x86/tests/gas32/Makefile.inc
index 80f22a4..10329f1 100644
--- a/modules/arch/x86/tests/gas32/Makefile.inc
+++ b/modules/arch/x86/tests/gas32/Makefile.inc
@@ -7,6 +7,8 @@
 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
diff --git a/modules/arch/x86/tests/gas32/gas-fpmem.asm b/modules/arch/x86/tests/gas32/gas-fpmem.asm
new file mode 100644
index 0000000..ca90530
--- /dev/null
+++ b/modules/arch/x86/tests/gas32/gas-fpmem.asm
@@ -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)
+
diff --git a/modules/arch/x86/tests/gas32/gas-fpmem.hex b/modules/arch/x86/tests/gas32/gas-fpmem.hex
new file mode 100644
index 0000000..81d6a3a
--- /dev/null
+++ b/modules/arch/x86/tests/gas32/gas-fpmem.hex
@@ -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