【发布时间】:2013-10-25 06:46:24
【问题描述】:
我注意到在gcc 中可以通过索引访问__m128 字段,而无需使用union 技巧。
__m128 t;
float r(t[0] + t[1] + t[2] + t[3]);
我也可以像数组一样加载__m128:
__m128 t{1.f, 2.f, 3.f, 4.f};
这完全符合gcc 的向量扩展。但是,这些可能在其他地方不可用。 intel编译器和msvc是否支持加载和访问功能?
【问题讨论】:
-
标准 C++ 不支持 SSE。您对哪些目标平台感兴趣?
-
union访问 __m128 字段的技巧是什么? -
@Blue 类似于:
union vec { __m128 a; float b[4]; double c[2]; };。不保证有效。
标签: visual-c++ g++ sse icc