summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2017-11-24 08:42:04 +0100
committerJan Beulich <jbeulich@suse.com>2017-11-24 08:42:04 +0100
commitac465521a50102d589a6a05a1e722dfa349d3181 (patch)
treec3563604e55d5d21c015005b97c5c3ed79ab940a
parent00ea2e2ad34edd202f58d9a1eea2081f0905f9f2 (diff)
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.
-rw-r--r--gas/ChangeLog9
-rw-r--r--gas/testsuite/gas/i386/ilp32/x86-64-sse-noavx.d3
-rw-r--r--gas/testsuite/gas/i386/ilp32/x86-64-sse3.d2
-rw-r--r--gas/testsuite/gas/i386/intel.d6
-rw-r--r--gas/testsuite/gas/i386/opcode-suffix.d4
-rw-r--r--gas/testsuite/gas/i386/opcode.d4
-rw-r--r--gas/testsuite/gas/i386/sse-noavx.d3
-rw-r--r--gas/testsuite/gas/i386/sse3.d2
-rw-r--r--gas/testsuite/gas/i386/x86-64-sse-noavx.d3
-rw-r--r--gas/testsuite/gas/i386/x86-64-sse3.d2
-rw-r--r--opcodes/ChangeLog5
-rw-r--r--opcodes/i386-dis.c24
12 files changed, 42 insertions, 25 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index c5ee576a42..c355559c59 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 bc898297c8..cb9fa05b29 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 a5cb3cac75..77b24447d1 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 8401d10906..3f2c3466fa 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 059a10cd47..8d7716b6fa 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 f2897ff38d..a4f2e595bf 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 dbf6224a53..d422909150 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 73ea486e9e..3b12389b61 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 5fa1fea700..d500a20bb2 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 c6c25422ae..e4bd3dfd01 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 fdae24cfaa..4870723ae2 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 6b8d1dc802..ba48d9a31a 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",