[PATCH v4 00/16] x86: support AVX10

Jan Beulich posted 16 patches 3 days, 6 hours ago
[PATCH v4 00/16] x86: support AVX10
Posted by Jan Beulich 3 days, 6 hours ago
AVX10.1 is just a re-branding of certain AVX512 (sub)features, i.e.
adds no new instructions. Therefore it's mostly relaxation that needs
doing. Luckily the 256-bit-only case and an unnecessary restriction on
the mask register insns was taken out again, simplifying the actual
emulator adjustments quite a bit.

AVX10.2 is adding quite a few new insns, support for which is roughly
added chapter-wise as the spec has them (perhaps not in the order of
the chapters there).

While it probably could be re-based ahead, the series in this form
depends on the previously submitted "[PATCH v5 0/3] x86/CPUID: leaf
pruning" and parts of whatever is left of "[PATCH v9 00/10] x86emul:
misc additions".

I've tried to be very careful in rebasing ahead of other emulator
patches I've been carrying, but almost all testing I've done is with
all of those collectively in place.

01: x86/CPUID: enable AVX10 leaf
02: x86emul: support SIMD MOVRS
03: x86emul: support AVX10.2 forms of SM4 insns
04: x86emul: support AVX10.1
05: x86emul/test: use simd_check_avx512*() in main()
06: x86emul/test: drop cpu_has_avx512vl
07: x86emul: AVX10.1 testing
08: x86emul/test: engage AVX512VL via command line option
09: x86/CPUID: enable AVX10.2 sub-leaf
10: x86emul: support AVX10.2 scalar compare insns
11: x86emul: support AVX10.2 partial copy insns
12: x86emul: support AVX10.2 media insns
13: x86emul: support AVX10.2 minmax insns
14: x86emul: support AVX10.2 BFloat16 insns
15: x86emul: support AVX10.2 saturating convert insns
16: x86emul: support other AVX10.2 convert insns

Jan
Re: [PATCH v4 00/16] x86: support AVX10
Posted by Jan Beulich 3 days, 5 hours ago
On 09.04.2026 16:59, Jan Beulich wrote:
> AVX10.1 is just a re-branding of certain AVX512 (sub)features, i.e.
> adds no new instructions. Therefore it's mostly relaxation that needs
> doing. Luckily the 256-bit-only case and an unnecessary restriction on
> the mask register insns was taken out again, simplifying the actual
> emulator adjustments quite a bit.
> 
> AVX10.2 is adding quite a few new insns, support for which is roughly
> added chapter-wise as the spec has them (perhaps not in the order of
> the chapters there).
> 
> While it probably could be re-based ahead, the series in this form
> depends on the previously submitted "[PATCH v5 0/3] x86/CPUID: leaf
> pruning" and parts of whatever is left of "[PATCH v9 00/10] x86emul:
> misc additions".
> 
> I've tried to be very careful in rebasing ahead of other emulator
> patches I've been carrying, but almost all testing I've done is with
> all of those collectively in place.

As you may have noticed, I screwed up the numbering. Hence ...

> 01: x86/CPUID: enable AVX10 leaf

... this is 00.9, and everything else is off-by-1 (and there's no 16/16).
I'm sorry for that.

Jan

> 02: x86emul: support SIMD MOVRS
> 03: x86emul: support AVX10.2 forms of SM4 insns
> 04: x86emul: support AVX10.1
> 05: x86emul/test: use simd_check_avx512*() in main()
> 06: x86emul/test: drop cpu_has_avx512vl
> 07: x86emul: AVX10.1 testing
> 08: x86emul/test: engage AVX512VL via command line option
> 09: x86/CPUID: enable AVX10.2 sub-leaf
> 10: x86emul: support AVX10.2 scalar compare insns
> 11: x86emul: support AVX10.2 partial copy insns
> 12: x86emul: support AVX10.2 media insns
> 13: x86emul: support AVX10.2 minmax insns
> 14: x86emul: support AVX10.2 BFloat16 insns
> 15: x86emul: support AVX10.2 saturating convert insns
> 16: x86emul: support other AVX10.2 convert insns
> 
> Jan