我使用SSE类型进行一些显式向量化计算,例如
__m128(在xmmintrin.h等中定义),但现在我需要将向量的所有元素提高到某个(相同)幂次方,即理想情况下我希望有类似于 __m128 _mm_pow_ps(__m128,float)
的东西,但不幸的是它并不存在。
如何解决这个问题?我可以存储向量,在每个元素上调用std::pow
,然后重新加载它。这是最好的方法吗?编译器在自动向量化代码时调用std::pow
时如何实现,否则可向量化的代码?是否有任何库提供有用的东西?
(请注意,这个问题相关但不是重复的,当然也没有一个有用的答案。)
exp()
函数的好的C库? - Royi