[llvm-dev] Vector Literals, Kmasks and FD.io VPP

Ray Kinsella via llvm-dev llvm-dev at lists.llvm.org
Fri Mar 27 07:29:08 PDT 2020


Hi folks,

Forgive me if I am posting in the wrong forum ...
Please feel redirect me as appropriate. 

We make heavy use of Vector Literals in FD.io VPP (fd.io) to simply vector programming and ease cross-platform portability of VPP.
I am looking at AVX512 support, and LLVM CLang appears to be doing a good job vectorizing vector literals with AVX512. 

Are there any plans to implement avx512 kmask support for the standard vector operations?
https://clang.llvm.org/docs/LanguageExtensions.html#vector-operations

For example what does a simple vector literal bit shift look like with kmask support?

Thanks,

Ray K

typedef unsigned long long u64x8 __attribute__((__vector_size__(64)));

u64x8 dostuff(u64x8 stuff)
{
    u64x8 shift = { 0, 1, 2, 3, 4, 5, 6 ,7};

    return (stuff << shift);
}


More information about the llvm-dev mailing list