[PATCH] x86: support APX forms of U{RD,WR}MSR
Cui, Lili
lili.cui@intel.com
Thu Jan 18 01:22:55 GMT 2024
> >> @@ -9090,6 +9094,9 @@ get_valid_dis386 (const struct dis386 *d
> >> case 0x6:
> >> vex_table_index = EVEX_MAP6;
> >> break;
> >> + case 0x7:
> >> + vex_table_index = EVEX_MAP7;
> >> + break;
> >> }
> >>
> >> /* The second byte after 0x62. */ @@ -9159,7 +9166,12 @@
> >> get_valid_dis386 (const struct dis386 *d
> >>
> >> ins->codep++;
> >> vindex = *ins->codep++;
> >> - dp = &evex_table[vex_table_index][vindex];
> >> + if (vex_table_index != EVEX_MAP7)
> >> + dp = &evex_table[vex_table_index][vindex];
> >> + else if (vindex == 0xf8)
> >> + dp = &map7_f8_opcode;
> >> + else
> >> + dp = &bad_opcode;
> >
> >
> > The processing of this part of MAP7 seems strange. Maybe we can restore it
> when more map7 instructions appear in the future.
>
> You realize this is simply a copy of what we do for VEX map 7? And yes,
> should map 7 end up less sparse in the future, we'll certainly want to
> introduce a "proper" table.
>
Yes, I noticed. Sorry for the slow response due to my sick leave.
Lili.
More information about the Binutils
mailing list