[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?

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


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