作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我需要广播 __m128 vector 的任意一个元素。比如第二个元素:
__m128 a = {a0, a1, a2, a3};
__m128 b = {a1, a1, a1, a1};
我知道有内在函数 _mm_set1_ps(float) 和 _mm_broadcast_ss(float*)。但是这些内在函数可以从内存的常用寄存器加载值。是否存在从另一个 vector 寄存器设置标量值的方法?
最佳答案
你可以像这样使用 _mm_shuffle_ps
:
b = _mm_shuffle_ps(a, a, _MM_SHUFFLE(1,1,1,1));
关于c++ - 广播 __m128 vector 的任意一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43447002/
我是一名优秀的程序员,十分优秀!