From ac465521a50102d589a6a05a1e722dfa349d3181 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Fri, 24 Nov 2017 08:42:04 +0100 Subject: [PATCH] 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. --- gas/ChangeLog | 9 +++++++ .../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 c5ee576a42d..c355559c590 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,12 @@ +2017-11-24 Jan Beulich + + * 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 * 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 bc898297c85..cb9fa05b29d 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 a5cb3cac757..77b24447d11 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 8401d10906f..3f2c3466fad 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 059a10cd470..8d7716b6fa8 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 f2897ff38d8..a4f2e595bf6 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 dbf6224a538..d4229091509 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 73ea486e9e4..3b12389b617 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 5fa1fea7008..d500a20bb2b 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 c6c25422ae3..e4bd3dfd018 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 fdae24cfaa7..4870723ae2a 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,8 @@ +2017-11-24 Jan Beulich + + * i386-dis.c (float_mem): Add suffixes to fi* in the "de" and + "df" groups. + 2017-11-23 Igor Tsimbalist * i386-opc.tbl: Add Disp8MemShift for AVX512 VAES instructions. diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index 6b8d1dc8025..ba48d9a31aa 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", -- 2.30.2