This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
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} },
Attachment:
binutils-mainline-x86-pr707.patch
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |