是否存在从内存中的 32 位浮点值到 512 位寄存器生成 AVX512 广播操作的 x86 内在函数?

Is there an x86 intrinsic that generates the AVX512 broadcast operation from a 32 bit floating point value in memory to a 512 bit register?

该指令存在 (vbroadcastss zmm/m32),但似乎没有生成它的内在指令。

我可以把它编码成

static inline  __m512 mybroadcast(float *x) {
    __m512 v;
    asm inline ( "vbroadcastss %1,%0 "
                 : "=v" (v)
                 : "m" (*x)
                 );
    return v;
}

有没有不用内联 asm 就可以做到这一点的方法?

我觉得_mm512_set1_ps就是你想要的。

https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm512_set1_ps&expand=5236,4980