*_dpbusd_epi32 或 *_maddubs_epi16 在 ARM 上等效?
Posted
技术标签:
【中文标题】*_dpbusd_epi32 或 *_maddubs_epi16 在 ARM 上等效?【英文标题】:*_dpbusd_epi32 or *_maddubs_epi16 equivalent on ARM? 【发布时间】:2019-12-31 08:05:32 【问题描述】:我希望将一些 x86
内在代码移植到 ARM,但我正在努力寻找正确的资源。在开发x86
代码时,我主要使用这个网站来获取文档:https://software.intel.com/sites/landingpage/IntrinsicsGuide/。那里有 ARM
等价物吗?
我特别有兴趣找到 *_dpbusd_epi32
或 *_maddubs_epi16
内在函数的等价物(我对拥有 unsigned
xsigned
并不太在意,它也可能是 signed
x@ 987654330@)?
【问题讨论】:
我认为没有完全等价的。我会查看vmull*
和 vmlal*
指令以获得 s8*s8 --> s16
乘法(如何实际使用它们实际上取决于您实际想要做什么)。
【参考方案1】:
Arm 目前最接近的参考页面是这个:
https://developer.arm.com/architectures/instruction-sets/simd-isas/neon/intrinsics
它很实用,但缺少 Intel 的许多有用的搜索功能。
【讨论】:
以上是关于*_dpbusd_epi32 或 *_maddubs_epi16 在 ARM 上等效?的主要内容,如果未能解决你的问题,请参考以下文章
哪个跨平台预处理器定义? (__WIN32__ 或 __WIN32 或 WIN32 )?
霓虹灯等效于 mm_madd_epi16 和 mm_maddubs_epi16
如何用 gcc 或 clang 模拟 _mm256_loadu_epi32?
带有 char16_t 或 char32_t 的 Visual Studio C++ 2015 std::codecvt