gas/testsuite/
authorJan Beulich <jbeulich@novell.com>
Wed, 9 Feb 2005 08:05:43 +0000 (08:05 +0000)
committerJan Beulich <jbeulich@novell.com>
Wed, 9 Feb 2005 08:05:43 +0000 (08:05 +0000)
2005-02-09  Jan Beulich  <jbeulich@novell.com>

* gas/i386/intelok.s: Remove comments disabling alternative forms of
fbld, fbstp, and fldcw.
* gas/i386/intelok.d: Expect two instances of fbld, fbstp, and fldcw.

include/opcode/
2005-02-09  Jan Beulich  <jbeulich@novell.com>

PR gas/707
* i386.h (i386_optab): Add x_Suf to fbld and fbstp. Add w_Suf and
FloatMF to fldcw, fstcw, fnstcw, and the memory formas of fstsw and
fnstsw.

gas/testsuite/ChangeLog
gas/testsuite/gas/i386/intelok.d
gas/testsuite/gas/i386/intelok.s
include/opcode/ChangeLog
include/opcode/i386.h

index 37e74ec796d6eccf768ad83438b2985ea84b8c06..9e031b63a1c0d1bd262aa5414eb4623bd092fce2 100644 (file)
@@ -1,3 +1,9 @@
+2005-02-09  Jan Beulich  <jbeulich@novell.com>
+
+       * gas/i386/intelok.s: Remove comments disabling alternative forms of
+       fbld, fbstp, and fldcw.
+       * gas/i386/intelok.d: Expect two instances of fbld, fbstp, and fldcw.
+
 2005-02-07  Inderpreet Singh <inderpreetb@noida.hcltech.com>
 
        * gas/maxq10/jump.d: Fixed relative jump offset.
index 02ad23498a60016fed7b4ac7a53a8725fc619f1d..265aaa2fe137bafd5cb8d8436c0731499498a3ab 100644 (file)
@@ -34,6 +34,8 @@ Disassembly of section .text:
 [      ]*[0-9a-f]+:    d8 00[  ]+fadd[         ]+DWORD PTR \[eax\]
 [      ]*[0-9a-f]+:    dc 00[  ]+fadd[         ]+QWORD PTR \[eax\]
 [      ]*[0-9a-f]+:    df 20[  ]+fbld[         ]+(TBYTE PTR )?\[eax\]
+[      ]*[0-9a-f]+:    df 20[  ]+fbld[         ]+(TBYTE PTR )?\[eax\]
+[      ]*[0-9a-f]+:    df 30[  ]+fbstp[        ]+(TBYTE PTR )?\[eax\]
 [      ]*[0-9a-f]+:    df 30[  ]+fbstp[        ]+(TBYTE PTR )?\[eax\]
 [      ]*[0-9a-f]+:    da 00[  ]+fiadd[        ]+DWORD PTR \[eax\]
 [      ]*[0-9a-f]+:    de 00[  ]+fiadd[        ]+WORD PTR \[eax\]
@@ -52,6 +54,7 @@ Disassembly of section .text:
 [      ]*[0-9a-f]+:    dd 00[  ]+fld[  ]+QWORD PTR \[eax\]
 [      ]*[0-9a-f]+:    db 28[  ]+fld[  ]+TBYTE PTR \[eax\]
 [      ]*[0-9a-f]+:    d9 28[  ]+fldcw[        ]+(WORD PTR )?\[eax\]
+[      ]*[0-9a-f]+:    d9 28[  ]+fldcw[        ]+(WORD PTR )?\[eax\]
 [      ]*[0-9a-f]+:    d9 20[  ]+fldenvd?[     ]+\[eax\]
 [      ]*[0-9a-f]+:    d9 20[  ]+fldenvd?[     ]+\[eax\]
 [      ]*[0-9a-f]+:    66 d9 20[       ]+fldenvw[      ]+\[eax\]
index e0a0792fbcb1659f3f2e3a93ae5d13f18ec5ea46..f13793ae3d261efd4065849037e994affde7c393 100644 (file)
@@ -28,9 +28,9 @@ start:
        fadd    dword ptr [eax]
        fadd    qword ptr [eax]
        fbld    [eax]
-#XXX   fbld    tbyte ptr [eax]
+       fbld    tbyte ptr [eax]
        fbstp   [eax]
-#XXX   fbstp   tbyte ptr [eax]
+       fbstp   tbyte ptr [eax]
        fiadd   dword ptr [eax]
        fiadd   word ptr [eax]
        fild    dword ptr [eax]
@@ -48,7 +48,7 @@ start:
        fld     qword ptr [eax]
        fld     tbyte ptr [eax]
        fldcw   [eax]
-#XXX   fldcw   word ptr [eax]
+       fldcw   word ptr [eax]
        fldenv  [eax]
        fldenvd [eax]
        fldenvw [eax]
index 44c7dc44846ef171ae5feedc1f8783046b129e84..7844fee9f8b85e590fcb3acc4ad06e4b1770711a 100644 (file)
@@ -1,3 +1,10 @@
+2005-02-09  Jan Beulich  <jbeulich@novell.com>
+
+       PR gas/707
+       * i386.h (i386_optab): Add x_Suf to fbld and fbstp. Add w_Suf and
+       FloatMF to fldcw, fstcw, fnstcw, and the memory formas of fstsw and
+       fnstsw.
+
 2005-01-25  Alexandre Oliva  <aoliva@redhat.com>
 
        2004-11-10  Alexandre Oliva  <aoliva@redhat.com>
index bceedfc7b3d88aed5c4fef5d687490f1b929df50..0717787015b83d723dbe22a1518a5a80560e24df 100644 (file)
@@ -601,7 +601,7 @@ static const template i386_optab[] =
 {"fild",   1,  0xdf, 5, 0,      q_FP|Modrm,            { LLongMem, 0, 0} },
 {"fildll", 1,  0xdf, 5, 0,      FP|Modrm,              { LLongMem, 0, 0} },
 {"fldt",   1,  0xdb, 5, 0,      FP|Modrm,              { LLongMem, 0, 0} },
-{"fbld",   1,  0xdf, 4, 0,      FP|Modrm,              { LLongMem, 0, 0} },
+{"fbld",   1,  0xdf, 4, 0,      x_Suf|Modrm,           { LLongMem, 0, 0} },
 
 /* store (no pop) */
 {"fst",           1, 0xddd0, X, 0,      FP|ShortForm,          { FloatReg, 0, 0} },
@@ -619,7 +619,7 @@ static const template i386_optab[] =
 {"fistp",  1,  0xdf, 7, 0,      q_FP|Modrm,            { LLongMem, 0, 0} },
 {"fistpll",1,  0xdf, 7, 0,      FP|Modrm,              { LLongMem, 0, 0} },
 {"fstpt",  1,  0xdb, 7, 0,      FP|Modrm,              { LLongMem, 0, 0} },
-{"fbstp",  1,  0xdf, 6, 0,      FP|Modrm,              { LLongMem, 0, 0} },
+{"fbstp",  1,  0xdf, 6, 0,      x_Suf|Modrm,           { LLongMem, 0, 0} },
 
 /* exchange %st<n> with %st0 */
 {"fxch",   1, 0xd9c8, X, 0,     FP|ShortForm,          { FloatReg, 0, 0} },
@@ -812,16 +812,16 @@ static const template i386_optab[] =
 /* processor control */
 {"fninit", 0, 0xdbe3, X, 0,     FP,                    { 0, 0, 0} },
 {"finit",  0, 0xdbe3, X, 0,     FP|FWait,              { 0, 0, 0} },
-{"fldcw",  1,  0xd9, 5, 0,      FP|Modrm,              { ShortMem, 0, 0} },
-{"fnstcw", 1,  0xd9, 7, 0,      FP|Modrm,              { ShortMem, 0, 0} },
-{"fstcw",  1,  0xd9, 7, 0,      FP|FWait|Modrm,        { ShortMem, 0, 0} },
+{"fldcw",  1,  0xd9, 5, 0,      w_Suf|FloatMF|Modrm,   { ShortMem, 0, 0} },
+{"fnstcw", 1,  0xd9, 7, 0,      w_Suf|FloatMF|Modrm,   { ShortMem, 0, 0} },
+{"fstcw",  1,  0xd9, 7, 0,      w_Suf|FloatMF|FWait|Modrm, { ShortMem, 0, 0} },
 /* XXX should reject %al, %eax, and %rax */
 {"fnstsw", 1, 0xdfe0, X, 0,     FP|IgnoreSize,         { Acc, 0, 0} },
-{"fnstsw", 1,  0xdd, 7, 0,      FP|Modrm,              { ShortMem, 0, 0} },
+{"fnstsw", 1,  0xdd, 7, 0,      w_Suf|FloatMF|Modrm,   { ShortMem, 0, 0} },
 {"fnstsw", 0, 0xdfe0, X, 0,     FP,                    { 0, 0, 0} },
 /* XXX should reject %al, %eax, and %rax */
 {"fstsw",  1, 0xdfe0, X, 0,     FP|FWait|IgnoreSize,   { Acc, 0, 0} },
-{"fstsw",  1,  0xdd, 7, 0,      FP|FWait|Modrm,        { ShortMem, 0, 0} },
+{"fstsw",  1,  0xdd, 7, 0,      w_Suf|FloatMF|FWait|Modrm, { ShortMem, 0, 0} },
 {"fstsw",  0, 0xdfe0, X, 0,     FP|FWait,              { 0, 0, 0} },
 {"fnclex", 0, 0xdbe2, X, 0,     FP,                    { 0, 0, 0} },
 {"fclex",  0, 0xdbe2, X, 0,     FP|FWait,              { 0, 0, 0} },