[PATCH 5/8] Support APX NDD
Jan Beulich
jbeulich@suse.com
Wed Nov 22 08:47:57 GMT 2023
On 22.11.2023 08:46, Cui, Lili wrote:
>>>>> @@ -9087,7 +9104,7 @@ get_valid_dis386 (const struct dis386 *dp,
>>>> instr_info *ins)
>>>>> return &err_opcode;
>>>>>
>>>>> /* Set vector length. */
>>>>> - if (ins->modrm.mod == 3 && ins->vex.b)
>>>>> + if (ins->modrm.mod == 3 && ins->vex.b && ins->evex_type ==
>>>>> + evex_default)
>>>>> ins->vex.length = 512;
>>>>> else
>>>>> {
>>>>
>>>> Is this change really needed for anything?
>>>
>>> If it's NDD and ins->vex.b ==1, we need to avoid giving NDD a wrong value.
>>
>> But this is recording ->vex.length, not anything NDD related (afaics).
>
> There are some instructions that use OP_VEX, which will use ->vex.length.
>
> For example:
> "addB", { VexGb, Eb, Gb }
But that's a GPR, for which ->vex.length is not supposed to have an effect.
Jan
More information about the Binutils
mailing list