On Wednesday, 26 July 2023 06:33:41 MDT Richard Biener wrote:
> Btw, how the experimental SIMD C++ standard library handles
> these issue might be also interesting to research (author CCed)

I only skimmed over this thread now. FWIW, I would really like better 
support for AVX-512 bitmasks for the std::experimental::simd implementation 
(std::simd for C++26). I probably want better support for all the other 
targets that use bitmasks - but so far I only have experience with AVX512.

To make the AVX512 implementation of std::experimental::simd efficient I 
have to call intrinsics/builtins instead of directly expressing what I want 
to do using the [[gnu::vector_size]] types. There are some instances where 
I have to convert between bitmask and element-sized mask vectors - and to 
make that efficient I call all kinds of intrinsics/builtins. And from what 
I've seen, a bitmask -> mask vector -> bitmask conversion won't be 
recognized as a no-op (the other way around, as well).

At this point I have no technical input to this thread. But if there's 
anything you want me to test - whether it helps in the simd implementation 
- let me know.

-Matthias

-- 
──────────────────────────────────────────────────────────────────────────
 Dr. Matthias Kretz                           https://mattkretz.github.io
 GSI Helmholtz Center for Heavy Ion Research               https://gsi.de
 std::simd
──────────────────────────────────────────────────────────────────────────

Reply via email to