[PATCH] x86: Optimize with EVEX128 encoding for AVX512VL

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


On Fri, Mar 9, 2018 at 12:30 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>>> On 09.03.18 at 04:56, <hjl.tools@gmail.com> wrote:
>> This is the patch I am checking in.  If i.vec_encoding == vex_encoding_evex,
>> we need to use EVEX128 encoding.
>
> But this retains some of the ISA extensions problem - only EVEX512
> should be used without "i.tm.cpu_flags.bitfield.cpuavx512vl ||
> cpu_arch_isa_flags.bitfield.cpuavx512vl".
>

The condition is:

         && (i.tm.opcode_modifier.vex
               || (!i.mask
                   && !i.rounding
                   && is_evex_encoding (&i.tm)
                   && (i.tm.cpu_flags.bitfield.cpuavx512vl
                       || cpu_arch_isa_flags.bitfield.cpuavx512vl)))

For EVEX512 instructions, if

i.tm.cpu_flags.bitfield.cpuavx512vl || cpu_arch_isa_flags.bitfield.cpuavx512vl

false, the optimization is disabled.

-- 
H.J.



More information about the Binutils mailing list