[PATCH V2 3/8] Support APX GPR32 with extend evex prefix

Cui, Lili lili.cui@intel.com
Thu Nov 16 15:10:59 GMT 2023



> -----Original Message-----
> From: Jan Beulich <jbeulich@suse.com>
> Sent: Thursday, November 16, 2023 9:58 PM
> To: Cui, Lili <lili.cui@intel.com>
> Cc: Lu, Hongjiu <hongjiu.lu@intel.com>; binutils@sourceware.org
> Subject: Re: [PATCH V2 3/8] Support APX GPR32 with extend evex prefix
> 
> On 15.11.2023 12:43, Cui, Lili wrote:
> >> -----Original Message-----
> >> From: Jan Beulich <jbeulich@suse.com>
> >> Sent: Wednesday, November 15, 2023 5:12 PM
> >>
> >> On 15.11.2023 07:03, Cui, Lili wrote:
> >>>>> --- /dev/null
> >>>>> +++ b/opcodes/i386-dis-evex-x86-64.h
> >>>>> @@ -0,0 +1,140 @@
> >>>>> +  /* X86_64_EVEX_0F3849 */
> >>>>> +  {
> >>>>> +    { Bad_Opcode },
> >>>>> +    { VEX_LEN_TABLE (VEX_LEN_0F3849_X86_64) },  },
> >>>>> +  /* X86_64_EVEX_0F384B */
> >>>>> +  {
> >>>>> +    { Bad_Opcode },
> >>>>> +    { VEX_LEN_TABLE (VEX_LEN_0F384B_X86_64) },  },
> >>>>> +  /* X86_64_EVEX_0F38E0 */
> >>>>> +  {
> >>>>> +    { Bad_Opcode },
> >>>>> +    { "cmpoxadd", { Mdq, Gdq, VexGdq }, PREFIX_DATA },  },
> >>>>
> >>>> This and its sibling entries look to again fully match
> >> X86_64_VEX_0F38E<n>.
> >>>
> >>> It cannot be moved to up level, it needs to go through
> >>> i386-dis-evex-x86-64.h
> >>
> >> I didn't suggest to move up a level. I suggested to re-use the
> >> existing VEX entries.
> >>
> >
> > It's currently in the x86-64 table, it's a bit weird to revisit the x86-64 table,
> and moving up one level won't work.
> >
> > { X86_64_TABLE (X86_64_VEX_0F38E0) }
> >
> >   /* X86_64_VEX_0F38E0 */
> >   {
> >     { Bad_Opcode },
> >     { "cmpoxadd", { Mdq, Gdq, VexGdq }, PREFIX_DATA },
> >   },
> 
> Again - I never suggested to move up a level. I also didn't suggest to re-visit
> x86_64_table[]. I merely requested to re-use X86_64_VEX_0F38Ex in the
> evex_table[] entries, instead of adding 16 (each) identical new entries to
> x86_64_table[] with 16 new X86_64_EVEX_0F38Ex enumerators.
> 

We need to go through this virtual table USE_X86_64_EVEX_FROM_VEX_TABLE to mark event_type = evex_from_vex;

Lili


More information about the Binutils mailing list