https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114560

--- Comment #2 from Meirav Grimberg <meirav.grimberg at redis dot com> ---
(In reply to Jakub Jelinek from comment #1)
> AVX512BW is needed to be able to use __mmask32/__mmask64, those aren't
> supported in AVX512F, which only supports __mmask16.  __mmask8 needs
> AVX512DQ (though, guess for that one one can just use KMOV with 16-bit mask).
> In GCC 13 and later, -mavx512bw has been added as the implicit requirement of
> -mavx512vbmi2
> https://gcc.gnu.org/pipermail/gcc-patches/2023-April/615906.html
> and -mavx512bitalg
> https://gcc.gnu.org/pipermail/gcc-patches/2023-April/615905.html

Hi,
thank you for the quick reply.

As i mentioned Intel Intrinsics Guide specifically specifies only the
AVX512_VBMI2 flag without referencing AVX512BW. Could you shed some light on
this?

Moreover, I noticed that both Clang and Intel's compiler allow compilation
without additional flags, suggesting an implementation that aligns with the
hardware requirements. Could you provide insights into why GCC necessitates an
additional flag?


Regarding the term "implicit requirement," could you please clarify its
meaning? I didn't observe any apparent differences when attempting compilation
with GCC 13.

Thank you for your assistance.

Reply via email to