[PATCH] x86: PR gas/707
Jan Beulich
JBeulich@novell.com
Tue Feb 8 17:19:00 GMT 2005
More information about the Binutils mailing list
Tue Feb 8 17:19:00 GMT 2005
- Previous message (by thread): [PATCH] ia64: certain symbol names were unusable
- Next message (by thread): [PATCH] x86: PR gas/707
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Forms of fldcw, fstcw, fnstcw, fstsw, fnstsw, fbld, and fbstp explicitly specifying the size of their operands in Intel syntax (word ptr or tbyte ptr respectively) did not work anymore due to an omission of the original Intel syntax patch. Built and tested on i686-pc-linux-gnu. Jan gas/testsuite/ 2005-02-08 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-08 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. --- /home/jbeulich/src/binutils/mainline/2005-02-08/gas/testsuite/gas/i386/intelok.d 2005-01-18 10:43:35.000000000 +0100 +++ 2005-02-08/gas/testsuite/gas/i386/intelok.d 2005-02-08 13:56:14.114340448 +0100 @@ -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\] --- /home/jbeulich/src/binutils/mainline/2005-02-08/gas/testsuite/gas/i386/intelok.s 2004-11-18 15:05:42.000000000 +0100 +++ 2005-02-08/gas/testsuite/gas/i386/intelok.s 2005-02-08 13:56:38.715600488 +0100 @@ -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] --- /home/jbeulich/src/binutils/mainline/2005-02-08/include/opcode/i386.h 2004-11-23 09:44:32.000000000 +0100 +++ 2005-02-08/include/opcode/i386.h 2005-02-08 14:24:14.308912048 +0100 @@ -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} }, -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: binutils-mainline-x86-pr707.patch URL: <https://sourceware.org/pipermail/binutils/attachments/20050208/bf3f3837/attachment.ksh>
- Previous message (by thread): [PATCH] ia64: certain symbol names were unusable
- Next message (by thread): [PATCH] x86: PR gas/707
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Binutils mailing list