I will try to work on this.

Regards,
Walid

Le mer. 12 avr. 2023 à 15:30, Paolo Bonzini <pbonz...@redhat.com> a écrit :

> On Wed, Apr 12, 2023 at 2:17 PM Alex Bennée <alex.ben...@linaro.org>
> wrote:
> > I don't think there is currently any active effort to add AVX512
> > support. There have been various GSoC projects to improve the x86 SIMD
> > emulation but I don't think they got merged.
>
> No, there isn't. However, the recent implementation of AVX in QEMU 7.2
> is designed to make AVX512 at least doable.
>
> Adding support for AVX512 would be a very large work (at least 1
> months full time plus time to get it merged), but not impossible. The
> tasks could be something like this:
>
> 1. EVEX prefix decoding for AVX and AVX2 instructions
> 2. operand broadcast
> 3. VEX encoded mask instruction: kmov, kadd, kxnor, etc
> 4. other instructions and permutations with mask operands and permutations
> 5. opmask support including merging and zeroing
> 6. Disp8*N addressing mode
> 7. rounding control and exception suppression
>
> It's important that, at any given step, the new functionality is
> tested comprehensively.
>
> > > 62 f2 7d 48 18 0d fa 0c 00 00 vbroadcastss 0xcfa(%rip),%zmm1
> > >
> > > qemu: uncaught target signal 4 (Illegal instruction) - core dumped
> > >
> > > I like to add support for broadcast and fmadd avx 512 instructions
> such as the following one:
> > >
> > > 62 e2 7d 48 b8 c9     vfmadd231ps %zmm1,%zmm0,%zmm17
>
> Both of these are using a small subset of AVX512 (step 1 above). Both
> vbroadcastss and vfmadd231ps are already implemented in QEMU, but not
> using ZMM registers.
>
> Unfortunately the base AVX512 functionality is large, and therefore
> the above tasks are all needed to claim support for AVX512. On the
> other hand, for historical reasons AVX512BW and AVX512VL extensions
> are separate but in practice they are easier to just implement at the
> same time as basic AVX512; my expectation is that they would come up
> almost for free with the rest of the work.
>
> Paolo
>
>

Reply via email to