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, plus dealing with the 256-bit-only case that AVX512 itself does not allow for. Luckily an unnecessary restriction on the mask register insns was taken out again, simplifying the actual emulator adjustments quite a bit.
AVX10.2 is going to require quite a bit more work; the new patch in v2 is merely the relatively simple start thereof. While it probably can be rebased ahead, the series in this form depends on the previously submitted "[PATCH v5 0/3] x86/CPUID: leaf pruning". 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. 1: x86/CPUID: enable AVX10 leaf 2: x86emul/test: rename "cp" 3: x86emul: introduce a struct cpu_policy * local in x86_emulate() 4: x86emul: support AVX10.1 5: x86emul/test: use simd_check_avx512*() in main() 6: x86emul/test: drop cpu_has_avx512vl 7: x86emul: AVX10.1 testing 8: x86emul/test: engage AVX512VL via command line option 9: x86emul: support AVX10.2 256-bit embedded rounding / SAE Jan