[PATCH] Support APX zero-upper

Jan Beulich jbeulich@suse.com
Tue May 14 07:29:44 GMT 2024


On 09.05.2024 09:56, Cui, Lili wrote:
>> On 28.04.2024 12:54, Cui, Lili wrote:
>>> @@ -528,6 +530,7 @@ loopne, 0xe0, x64,
>>> JumpByte|No_bSuf|No_wSuf|No_sSuf|NoRex64, { Disp8 }
>>>
>>>  // Set byte on flag instructions.
>>>  set<cc>, 0xf9<cc:opc>/0, i386,
>> Modrm|No_wSuf|No_lSuf|No_sSuf|No_qSuf,
>>> { Reg8|Unspecified|BaseIndex }
>>> +setzu<cc>, 0xf24<cc:opc>/0, APX_F,
>>> +Modrm|No_wSuf|No_lSuf|No_sSuf|No_qSuf|EVexMap4|ZU, { Reg8 }
>>
>> Didn't we kind of agree to also permit
>>
>> set<cc>, 0xf24<cc:opc>/0, APX_F, Modrm|No_bSuf|No_sSuf|EVexMap4|ZU,
>> { Reg32|Reg64 }
>>
> 
> We discussed this internally, and the spec folks thought that adding two SETZU formats to the spec was a bit redundant and might confuse users. Therefore, the spec will not be updated, it's a bit strange that binutils adds a separate format.

People who feel confused can use SETZU. But why make life more difficult
for people like me, who don't feel confused? If I feel confused by
anything, then by the odd ZU infix in especially SETZUNZ and SETZUZ. If
they want to avoid confusion, they can limit ZU as a suffix (Intel) or
infix (AT&T) to IMUL, while leaving SETcc to remain entirely without.

Jan


More information about the Binutils mailing list