This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] x86: Optimize with EVEX128 encoding for AVX512VL


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]