You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Since CL100475, it's possible to use unsigned arguments for VPERMQ.
var yvex_vpermpd = []ytab{
+ {Zvex_i_rm_r, 2, argList{Yu8, Yym, Yyr}},+ // Allow int8 for backwards compatibility with negative values+ // like $-1.
{Zvex_i_rm_r, 2, argList{Yi8, Yym, Yyr}},
}
New ytab entry requires additional optab bytes (Optab.op) or, if both ytabs use the same encoding (like in this case), zoffset should be 0 (it's 2 in diff above).
The VPERMQ ptab entry was not updates, leaving second ytab with "all zeros", hence invalid encoding is produced.
Tests that check for output also use invalid encoding: VPERMQ $-40, Y8, Y8 // c4407800c0d8
./xed -64 -d 'c4407800c0d8'
C4407800C0D8
ERROR: GENERAL_ERROR Could not decode at offset: 0x0 PC: 0x0: [C4407800C0D8000000000000000000]
For readers convenience, here is external assembler output for negative const:
Found this issue during comparison of existing ytabs and automatically generated tables.
Recently mailed AVX512-enabled assembler does not have this issue.
The text was updated successfully, but these errors were encountered:
Since CL100475, it's possible to use unsigned arguments for VPERMQ.
New ytab entry requires additional optab bytes (
Optab.op
) or, if both ytabs use the same encoding (like in this case),zoffset
should be 0 (it's 2 in diff above).The VPERMQ ptab entry was not updates, leaving second ytab with "all zeros", hence invalid encoding is produced.
Tests that check for output also use invalid encoding:
VPERMQ $-40, Y8, Y8 // c4407800c0d8
For readers convenience, here is external assembler output for negative const:
I'll send a fix today.
Found this issue during comparison of existing ytabs and automatically generated tables.
Recently mailed AVX512-enabled assembler does not have this issue.
The text was updated successfully, but these errors were encountered: