[PATCH] x86: Properly decode EVEX.W in vcvt[u]si2s[sd] in 32-bit

Jan Beulich JBeulich@suse.com
Mon Sep 17 12:18:00 GMT 2018


>>> On 16.09.18 at 14:17, <hjl.tools@gmail.com> wrote:
> On Sun, Sep 16, 2018 at 1:57 AM, Jan Beulich <jbeulich@suse.com> wrote:
>>>>> "H.J. Lu" <hjl.tools@gmail.com> 09/14/18 7:47 PM >>>
>>>--- /dev/null
>>>+++ b/gas/testsuite/gas/i386/evex.d
>>>@@ -0,0 +1,16 @@
>>>+#objdump: -dw -Msuffix
>>>+#name: i386 EVX insns
>>>+
>>>+.*: +file format .*
>>>+
>>>+
>>>+Disassembly of section .text:
>>>+
>>>+0+ <_start>:
>>>+ +[a-f0-9]+:  62 f1 d6 38 2a f0       vcvtsi2ssl %eax,\{rd-sae\},%xmm5,%xmm6
>>>+ +[a-f0-9]+:  62 f1 d7 38 2a f0       vcvtsi2sdl %eax,\{rd-sae\},%xmm5,%xmm6
>>>+ +[a-f0-9]+:  62 f1 d6 08 7b f0       vcvtusi2ssl %eax,%xmm5,%xmm6
>>>+ +[a-f0-9]+:  62 f1 d7 08 7b f0       vcvtusi2sdl %eax,%xmm5,%xmm6
>>>+ +[a-f0-9]+:  62 f1 d6 38 7b f0       vcvtusi2ssl %eax,\{rd-sae\},%xmm5,%xmm6
>>>+ +[a-f0-9]+:  62 f1 d7 38 7b f0       vcvtusi2sdl %eax,\{rd-sae\},%xmm5,%xmm6
>>
>> Hmm, a new test demanding (according to what you've told me in earlier
>> discussions) bad behavior: You've said that you don't want suffixes on newer
>> insns when they're not needed. While these insns may indeed better have
>> suffixes in 64-bit mode (they strictly need them only with memory operands),
>> there's clearly nothing to disambiguate in 16- and 32-bit modes. May I ask
>> for consistency please between what you demand for patches I submit and
>> ones you commit, once again without even giving a little time for reviews?
>>
> 
> I didn't add any new instructions.  These testcases are written in .byte.
> I just fixed the existing entries in disassembler.

I didn't say "new instructions", but "new test": In a new test I don't think
it is appropriate to record expectations (here: all of the l suffixes above)
that are actually expected to not be there, but appear just because of
brokenness. Since you touch the respective disassembler patterns
anyway I don't really understand why you didn't make the bogus suffixes
go away in one go. These instructions usefully have suffixes only in
64-bit mode, and earlier you've told me you don't want suffixes on newer
insns when they're not needed.

Jan




More information about the Binutils mailing list