问题描述
我可以使用 _mm_set_epi64
将两个 uint64_t
存储到一个 __m128
内在函数中。但是四处寻找,我看到了各种方法来取回值:有 reinterpret_cast
(它是邪恶的双 C 风格强制转换),它是兄弟 union { __m128; uint64[2]; };
和 memcpy
,有访问字段__m128
。有 __m128i _mm_load_si128(__m128i *p);
,但我没有看到 _mm_get_*
函数。我错过了什么吗?如果有 _mm_set_epi64
,那么必须有一种非强制转换的方式来让 uint64_t
退出,对吗? (否则他们为什么要费心提供{{1}}?)
我看到 Get member of __m128 by index? 但“正确答案”有一个断开的链接并暗示有一个 _mm_set_epi64
函数,但我看到的所有 load
都将 load
映射到 { {1}}。不应该有 __m128
吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)