On 8/27/25 18:12, Paolo Bonzini wrote:
> On 8/27/25 09:26, Richard Henderson wrote:
>> On 8/10/25 09:42, Richard Henderson wrote:
>>> x86 doesn't directly support 8-bit vector shifts, so we have
>>> some 2 to 5 insn expansions. With VGF2P8AFFINEQB, we can do
>>> it in 1 insn, plus a (possibly shared) constant load.
>>>
>>>
>>> r~
>>>
>>>
>>> Richard Henderson (3):
>>> cpuinfo/i386: Detect GFNI as an AVX extension
>>> tcg/i386: Add INDEX_op_x86_vgf2p8affineqb_vec
>>> tcg/i386: Use vgf2p8affineqb for MO_8 vector shifts
>>>
>>> host/include/i386/host/cpuinfo.h | 1 +
>>> include/qemu/cpuid.h | 3 ++
>>> util/cpuinfo-i386.c | 1 +
>>> tcg/i386/tcg-target-opc.h.inc | 1 +
>>> tcg/i386/tcg-target.c.inc | 81 ++++++++++++++++++++++++++++++--
>>> 5 files changed, 83 insertions(+), 4 deletions(-)
>>>
>>
>> Ping.
>
> I don't know the target-independent part of TCG, but arithmetic right shift by 7 probably
> should keep using pcmpgtb?
There is no such target independent expansion. But it's a good idea to add to x86, at
least for the two sizes that don't directly support such shift.
r~