本文介绍了是否存在x86内在函数,可从内存中的32位浮点值到512位寄存器生成AVX512广播操作?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

The instruction exists (vbroadcastss zmm/m32) but there seems to be no intrinsic to generate it.

我可以将其编码为

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

有没有内联汇编的方法吗?

Is there a way to do this without inline asm?

推荐答案

我认为_mm512_set1_ps是您想要的.

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

这篇关于是否存在x86内在函数,可从内存中的32位浮点值到512位寄存器生成AVX512广播操作?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-16 00:30