This is the mail archive of the binutils-cvs@sourceware.org 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]

[binutils-gdb] x86: don't omit disambiguating suffixes from "fi*"


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=ac465521a50102d589a6a05a1e722dfa349d3181

commit ac465521a50102d589a6a05a1e722dfa349d3181
Author: Jan Beulich <jbeulich@novell.com>
Date:   Fri Nov 24 08:42:04 2017 +0100

    x86: don't omit disambiguating suffixes from "fi*"
    
    "fi*" typically come in two (loads/stores: three) flavors, distinguished
    by the suffix. Don't omit the 's' one when disassembling.

Diff:
---
 gas/ChangeLog                                   |  9 +++++++++
 gas/testsuite/gas/i386/ilp32/x86-64-sse-noavx.d |  3 ++-
 gas/testsuite/gas/i386/ilp32/x86-64-sse3.d      |  2 +-
 gas/testsuite/gas/i386/intel.d                  |  6 +++---
 gas/testsuite/gas/i386/opcode-suffix.d          |  4 ++--
 gas/testsuite/gas/i386/opcode.d                 |  4 ++--
 gas/testsuite/gas/i386/sse-noavx.d              |  3 ++-
 gas/testsuite/gas/i386/sse3.d                   |  2 +-
 gas/testsuite/gas/i386/x86-64-sse-noavx.d       |  3 ++-
 gas/testsuite/gas/i386/x86-64-sse3.d            |  2 +-
 opcodes/ChangeLog                               |  5 +++++
 opcodes/i386-dis.c                              | 24 ++++++++++++------------
 12 files changed, 42 insertions(+), 25 deletions(-)

diff --git a/gas/ChangeLog b/gas/ChangeLog
index c5ee576..c355559 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,12 @@
+2017-11-24  Jan Beulich  <jbeulich@suse.com>
+
+	* testsuite/gas/i386/intel.d, testsuite/gas/i386/opcode.d,
+	testsuite/gas/i386/opcode-suffix.d, testsuite/gas/i386/sse3.d,
+	testsuite/gas/i386/sse-noavx.d, testsuite/gas/i386/x86-64-sse3.d,
+	testsuite/gas/i386/x86-64-sse-noavx.d,
+	testsuite/gas/i386/ilp32/x86-64-sse3.d,
+	testsuite/gas/i386/ilp32/x86-64-sse-noavx.d: Adjust expectations.
+
 2017-11-23  Jim Wilson  <jimw@sifive.com>
 
 	* testsuite/gas/all/err-fakelabel.s (dg-error): Also accept fatal error
diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-sse-noavx.d b/gas/testsuite/gas/i386/ilp32/x86-64-sse-noavx.d
index bc89829..cb9fa05 100644
--- a/gas/testsuite/gas/i386/ilp32/x86-64-sse-noavx.d
+++ b/gas/testsuite/gas/i386/ilp32/x86-64-sse-noavx.d
@@ -16,7 +16,8 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	0f 2d f7             	cvtps2pi %xmm7,%mm6
 [ 	]*[a-f0-9]+:	66 0f 2c dc          	cvttpd2pi %xmm4,%mm3
 [ 	]*[a-f0-9]+:	0f 2c dc             	cvttps2pi %xmm4,%mm3
-[ 	]*[a-f0-9]+:	df 08                	fisttp \(%rax\)
+[ 	]*[a-f0-9]+:	df 08                	fisttps \(%rax\)
+[ 	]*[a-f0-9]+:	db 08                	fisttpl \(%rax\)
 [ 	]*[a-f0-9]+:	dd 08                	fisttpll \(%rax\)
 [ 	]*[a-f0-9]+:	0f ae e8             	lfence 
 [ 	]*[a-f0-9]+:	0f f7 c7             	maskmovq %mm7,%mm0
diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-sse3.d b/gas/testsuite/gas/i386/ilp32/x86-64-sse3.d
index a5cb3ca..77b2444 100644
--- a/gas/testsuite/gas/i386/ilp32/x86-64-sse3.d
+++ b/gas/testsuite/gas/i386/ilp32/x86-64-sse3.d
@@ -11,7 +11,7 @@ Disassembly of section .text:
    4:	66 0f d0 ca [ 	]*addsubpd %xmm2,%xmm1
    8:	f2 0f d0 13 [ 	]*addsubps \(%rbx\),%xmm2
    c:	f2 0f d0 dc [ 	]*addsubps %xmm4,%xmm3
-  10:	df 88 90 90 90 00 [ 	]*fisttp 0x909090\(%rax\)
+  10:	df 88 90 90 90 00 [ 	]*fisttps 0x909090\(%rax\)
   16:	db 88 90 90 90 00 [ 	]*fisttpl 0x909090\(%rax\)
   1c:	dd 88 90 90 90 00 [ 	]*fisttpll 0x909090\(%rax\)
   22:	66 0f 7c 65 00 [ 	]*haddpd 0x0\(%rbp\),%xmm4
diff --git a/gas/testsuite/gas/i386/intel.d b/gas/testsuite/gas/i386/intel.d
index 8401d10..3f2c346 100644
--- a/gas/testsuite/gas/i386/intel.d
+++ b/gas/testsuite/gas/i386/intel.d
@@ -221,8 +221,8 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	db 90 90 90 90 90 [ 	]*fistl  -0x6f6f6f70\(%eax\)
 [ 	]*[a-f0-9]+:	dc 90 90 90 90 90 [ 	]*fcoml  -0x6f6f6f70\(%eax\)
 [ 	]*[a-f0-9]+:	dd 90 90 90 90 90 [ 	]*fstl   -0x6f6f6f70\(%eax\)
-[ 	]*[a-f0-9]+:	de 90 90 90 90 90 [ 	]*ficom  -0x6f6f6f70\(%eax\)
-[ 	]*[a-f0-9]+:	df 90 90 90 90 90 [ 	]*fist   -0x6f6f6f70\(%eax\)
+[ 	]*[a-f0-9]+:	de 90 90 90 90 90 [ 	]*ficoms -0x6f6f6f70\(%eax\)
+[ 	]*[a-f0-9]+:	df 90 90 90 90 90 [ 	]*fists  -0x6f6f6f70\(%eax\)
 [ 	]*[a-f0-9]+:	e0 90 [ 	]*loopne (0x)?260.*
 [ 	]*[a-f0-9]+:	e1 90 [ 	]*loope  (0x)?262.*
 [ 	]*[a-f0-9]+:	e2 90 [ 	]*loop   (0x)?264.*
@@ -692,7 +692,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	de e3                	fsubp  %st,%st\(3\)
 [ 	]*[a-f0-9]+:	de e3                	fsubp  %st,%st\(3\)
 [ 	]*[a-f0-9]+:	de e3                	fsubp  %st,%st\(3\)
-[ 	]*[a-f0-9]+:	de 3b                	fidivr \(%ebx\)
+[ 	]*[a-f0-9]+:	de 3b                	fidivrs \(%ebx\)
 [ 	]*[a-f0-9]+:	da 3b                	fidivrl \(%ebx\)
 [ 	]*[a-f0-9]+:	0f 4a 90 90 90 90 90 	cmovp  -0x6f6f6f70\(%eax\),%edx
 [ 	]*[a-f0-9]+:	0f 4b 90 90 90 90 90 	cmovnp -0x6f6f6f70\(%eax\),%edx
diff --git a/gas/testsuite/gas/i386/opcode-suffix.d b/gas/testsuite/gas/i386/opcode-suffix.d
index 059a10c..8d7716b 100644
--- a/gas/testsuite/gas/i386/opcode-suffix.d
+++ b/gas/testsuite/gas/i386/opcode-suffix.d
@@ -219,8 +219,8 @@ Disassembly of section .text:
  *[0-9a-f]+:	db 90 90 90 90 90[ 	]+fistl[ 	]+-0x6f6f6f70\(%eax\)
  *[0-9a-f]+:	dc 90 90 90 90 90[ 	]+fcoml[ 	]+-0x6f6f6f70\(%eax\)
  *[0-9a-f]+:	dd 90 90 90 90 90[ 	]+fstl[ 	]+-0x6f6f6f70\(%eax\)
- *[0-9a-f]+:	de 90 90 90 90 90[ 	]+ficom[ 	]+-0x6f6f6f70\(%eax\)
- *[0-9a-f]+:	df 90 90 90 90 90[ 	]+fist[ 	]+-0x6f6f6f70\(%eax\)
+ *[0-9a-f]+:	de 90 90 90 90 90[ 	]+ficoms[ 	]+-0x6f6f6f70\(%eax\)
+ *[0-9a-f]+:	df 90 90 90 90 90[ 	]+fists[ 	]+-0x6f6f6f70\(%eax\)
  *[0-9a-f]+:	e0 90[ 	]+loopnel (0x)?25c.*
  *[0-9a-f]+:	e1 90[ 	]+loopel (0x)?25e.*
  *[0-9a-f]+:	e2 90[ 	]+loopl[ 	]+(0x)?260.*
diff --git a/gas/testsuite/gas/i386/opcode.d b/gas/testsuite/gas/i386/opcode.d
index f2897ff..a4f2e59 100644
--- a/gas/testsuite/gas/i386/opcode.d
+++ b/gas/testsuite/gas/i386/opcode.d
@@ -218,8 +218,8 @@ Disassembly of section .text:
  2ac:	db 90 90 90 90 90 [ 	]*fistl  -0x6f6f6f70\(%eax\)
  2b2:	dc 90 90 90 90 90 [ 	]*fcoml  -0x6f6f6f70\(%eax\)
  2b8:	dd 90 90 90 90 90 [ 	]*fstl   -0x6f6f6f70\(%eax\)
- 2be:	de 90 90 90 90 90 [ 	]*ficom  -0x6f6f6f70\(%eax\)
- 2c4:	df 90 90 90 90 90 [ 	]*fist   -0x6f6f6f70\(%eax\)
+ 2be:	de 90 90 90 90 90 [ 	]*ficoms -0x6f6f6f70\(%eax\)
+ 2c4:	df 90 90 90 90 90 [ 	]*fists  -0x6f6f6f70\(%eax\)
  2ca:	e0 90 [ 	]*loopne (0x)?25c.*
  2cc:	e1 90 [ 	]*loope  (0x)?25e.*
  2ce:	e2 90 [ 	]*loop   (0x)?260.*
diff --git a/gas/testsuite/gas/i386/sse-noavx.d b/gas/testsuite/gas/i386/sse-noavx.d
index dbf6224..d422909 100644
--- a/gas/testsuite/gas/i386/sse-noavx.d
+++ b/gas/testsuite/gas/i386/sse-noavx.d
@@ -14,7 +14,8 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	0f 2d f7             	cvtps2pi %xmm7,%mm6
 [ 	]*[a-f0-9]+:	66 0f 2c dc          	cvttpd2pi %xmm4,%mm3
 [ 	]*[a-f0-9]+:	0f 2c dc             	cvttps2pi %xmm4,%mm3
-[ 	]*[a-f0-9]+:	df 08                	fisttp \(%eax\)
+[ 	]*[a-f0-9]+:	df 08                	fisttps \(%eax\)
+[ 	]*[a-f0-9]+:	db 08                	fisttpl \(%eax\)
 [ 	]*[a-f0-9]+:	dd 08                	fisttpll \(%eax\)
 [ 	]*[a-f0-9]+:	0f ae e8             	lfence 
 [ 	]*[a-f0-9]+:	0f f7 c7             	maskmovq %mm7,%mm0
diff --git a/gas/testsuite/gas/i386/sse3.d b/gas/testsuite/gas/i386/sse3.d
index 73ea486..3b12389 100644
--- a/gas/testsuite/gas/i386/sse3.d
+++ b/gas/testsuite/gas/i386/sse3.d
@@ -10,7 +10,7 @@ Disassembly of section .text:
    4:	66 0f d0 ca [ 	]*addsubpd %xmm2,%xmm1
    8:	f2 0f d0 13 [ 	]*addsubps \(%ebx\),%xmm2
    c:	f2 0f d0 dc [ 	]*addsubps %xmm4,%xmm3
-  10:	df 88 90 90 90 90 [ 	]*fisttp -0x6f6f6f70\(%eax\)
+  10:	df 88 90 90 90 90 [ 	]*fisttps -0x6f6f6f70\(%eax\)
   16:	db 88 90 90 90 90 [ 	]*fisttpl -0x6f6f6f70\(%eax\)
   1c:	dd 88 90 90 90 90 [ 	]*fisttpll -0x6f6f6f70\(%eax\)
   22:	66 0f 7c 65 00 [ 	]*haddpd 0x0\(%ebp\),%xmm4
diff --git a/gas/testsuite/gas/i386/x86-64-sse-noavx.d b/gas/testsuite/gas/i386/x86-64-sse-noavx.d
index 5fa1fea..d500a20 100644
--- a/gas/testsuite/gas/i386/x86-64-sse-noavx.d
+++ b/gas/testsuite/gas/i386/x86-64-sse-noavx.d
@@ -15,7 +15,8 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	0f 2d f7             	cvtps2pi %xmm7,%mm6
 [ 	]*[a-f0-9]+:	66 0f 2c dc          	cvttpd2pi %xmm4,%mm3
 [ 	]*[a-f0-9]+:	0f 2c dc             	cvttps2pi %xmm4,%mm3
-[ 	]*[a-f0-9]+:	df 08                	fisttp \(%rax\)
+[ 	]*[a-f0-9]+:	df 08                	fisttps \(%rax\)
+[ 	]*[a-f0-9]+:	db 08                	fisttpl \(%rax\)
 [ 	]*[a-f0-9]+:	dd 08                	fisttpll \(%rax\)
 [ 	]*[a-f0-9]+:	0f ae e8             	lfence 
 [ 	]*[a-f0-9]+:	0f f7 c7             	maskmovq %mm7,%mm0
diff --git a/gas/testsuite/gas/i386/x86-64-sse3.d b/gas/testsuite/gas/i386/x86-64-sse3.d
index c6c2542..e4bd3df 100644
--- a/gas/testsuite/gas/i386/x86-64-sse3.d
+++ b/gas/testsuite/gas/i386/x86-64-sse3.d
@@ -10,7 +10,7 @@ Disassembly of section .text:
    4:	66 0f d0 ca [ 	]*addsubpd %xmm2,%xmm1
    8:	f2 0f d0 13 [ 	]*addsubps \(%rbx\),%xmm2
    c:	f2 0f d0 dc [ 	]*addsubps %xmm4,%xmm3
-  10:	df 88 90 90 90 00 [ 	]*fisttp 0x909090\(%rax\)
+  10:	df 88 90 90 90 00 [ 	]*fisttps 0x909090\(%rax\)
   16:	db 88 90 90 90 00 [ 	]*fisttpl 0x909090\(%rax\)
   1c:	dd 88 90 90 90 00 [ 	]*fisttpll 0x909090\(%rax\)
   22:	66 0f 7c 65 00 [ 	]*haddpd 0x0\(%rbp\),%xmm4
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index fdae24c..4870723 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,8 @@
+2017-11-24  Jan Beulich  <jbeulich@suse.com>
+
+	* i386-dis.c (float_mem): Add suffixes to fi* in the "de" and
+	"df" groups.
+
 2017-11-23  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
 
 	* i386-opc.tbl: Add Disp8MemShift for AVX512 VAES instructions.
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index 6b8d1dc..ba48d9a 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -13571,19 +13571,19 @@ static const char *float_mem[] = {
   "fNsaveIC",
   "fNstsw",
   /* de */
-  "fiadd",
-  "fimul",
-  "ficom",
-  "ficomp",
-  "fisub",
-  "fisubr",
-  "fidiv",
-  "fidivr",
+  "fiadd{s|}",
+  "fimul{s|}",
+  "ficom{s|}",
+  "ficomp{s|}",
+  "fisub{s|}",
+  "fisubr{s|}",
+  "fidiv{s|}",
+  "fidivr{s|}",
   /* df */
-  "fild",
-  "fisttp",
-  "fist",
-  "fistp",
+  "fild{s|}",
+  "fisttp{s|}",
+  "fist{s|}",
+  "fistp{s|}",
   "fbld",
   "fild{ll|}",
   "fbstp",


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]