如何使用sse将两个浮点数组相乘
How to multply two float arrays using sse?
void sse_mul_float(float* a, float* b, int N)
{
int nb_iters = N / 4;
__m128* l = (__m128*)a;
__m128* r = (__m128*)b;
for (int i = 0; i < nb_iters; ++i, ++l, ++r)
_mm_store_ps(l, _mm_mul_ps (l, r));
}
我想将一个浮点数组中的元素与另一个浮点数组中的元素相乘,并将结果存储在第一个数组
我得到这个错误:参数' 1 '无法将' __m128* {aka __vector(4) float*} '转换为' __m128 {aka __vector(4) float} ' '为' __m128 _mm_mul_ps(__m128, __m128) '
void sse_mul_float(float* a, float* b, int N)
{
int nb_iters = N / sizeof(float);
float c;
__m128* l = (__m128*)a;
__m128* r = (__m128*)b;
for (int i = 0; i < nb_iters; ++i, ++l, ++r)
{
_mm_store_ps(&a[i*4], _mm_mul_ps(*l, *r));
}
}
相关文章:
- 将fold表达式与std::一起用于两个元组
- 如何在C++中比较两个char数组
- 在c++中获取两个大int,并将它们存储在数组中
- 如何以优化的方式同时迭代两个间距不相等的数组
- 运算符重载 (+),用于添加两个具有 C++ 的数组
- 将字符串拆分为标记,并将标记拆分为两个单独的数组
- 可以将两个相同类型的连续数组视为一个数组吗?
- C++递归来决定数组中的两个值
- 如何将字符串和整数读取到两个单独的动态数组中的程序编写?
- 按 Tab 单步执行两个控制组
- 如何检查两个元组的所有成员是否不同
- C 通过随机选择其元素从两个元组制成元组
- 如何将两个元组作为C 的参数发送
- 对于同一循环的这两个连续组,是否有更有效的解决方案
- 在 C++11 中加入两个元组
- 将两个双数组集组合为一个查找其并集和交集的最简单方法
- 如何创建一个在 C++11 (STL) 中压缩两个元组的函数
- 快速实现两个 8 位数组的协方差
- 如何绑定两个元组
- 将一个16位整数复制到一个两字节数组