[PATCH] x86: Optimize with EVEX128 encoding for AVX512VL

H.J. Lu hjl.tools@gmail.com
Fri Mar 9 03:56:00 GMT 2018


On Thu, Mar 8, 2018 at 8:49 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Thu, Mar 8, 2018 at 8:46 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>>>> On 08.03.18 at 17:08, <hjl.tools@gmail.com> wrote:
>>> On Thu, Mar 8, 2018 at 7:28 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>>>>>> On 08.03.18 at 15:34, <hjl.tools@gmail.com> wrote:
>>>>> On Thu, Mar 8, 2018 at 6:03 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>>>>> Do you really need that extra pseudo_evex_prefix field, i.e.
>>>>>> why can't you just check i.vec_encoding?
>>>>>>
>>>>>
>>>>> Yes, it is needed since  i.vec_encoding will be changed to
>>>>> vex_encoding_evex by:
>>>>>
>>>>>  /* Upper 16 vector register is only available with VREX in 64bit
>>>>>      mode.  */
>>>>>   if ((r->reg_flags & RegVRex))
>>>>>     {
>>>>>       if (i.vec_encoding == vex_encoding_default)
>>>>>         i.vec_encoding = vex_encoding_evex;
>>>>
>>>> But in that case you can't lower to VEX encoding anyway.
>>>>
>>>
>>> You are right.  Here is the updated patch.
>>
>> LGTM, FWIW.
>>
>
> I will give it some tests and check it in later.
>
> Thanks.
>

This is the patch I am checking in.  If i.vec_encoding == vex_encoding_evex,
we need to use EVEX128 encoding.


-- 
H.J.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-x86-Optimize-with-EVEX128-encoding-for-AVX512VL.patch
Type: text/x-patch
Size: 41262 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20180309/9c027926/attachment.bin>


More information about the Binutils mailing list