如何解决从 __m128 内在函数中获取 uint64_t?
我可以使用 _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 举报,一经查实,本站将立刻删除。