【发布时间】:2016-12-19 13:38:09
【问题描述】:
我有一个使用 Intel 内部函数的 C 应用程序,例如:
__m128 _mm_add_ps (__m128 a, __m128 b)
__m128 _mm_sub_ps (__m128 a, __m128 b)
__m128 _mm_mul_ps (__m128 a, __m128 b)
__m128 _mm_set_ps (float e3, float e2, float e1, float e0)
void _mm_store_ps (float* mem_addr, __m128 a)
__m128 _mm_load_ps (float const* mem_addr)
现在,我正在尝试修改我的应用程序,以便使用名为 Gem5 的模拟器使其在 ARMv8 上运行。所以,我开始四处寻找 ARM 内部函数,并找到了这本手册 ARM® NEON™ Intrinsics Reference
好吧,我找到了算术内在函数,但我对设置、存储和加载指令有点迷茫。
任何有 ARM 内部函数经验的人都可以告诉我正确的内部函数吗?
【问题讨论】:
-
我当然知道 ARM 和 x86 是不同的架构,但可以肯定的是,某些逻辑上的相似之处使我们将我的应用程序从 x86 移植到 ARM
-
“相关”侧边栏中值得特别指出的链接:stackoverflow.com/questions/2851421/…
-
唯一困扰我的是设置,因为我做了一个这样的宏:#define SET_FLOAT32x4(dest, e3, e2, e1, e0){dest = { e3 , e2, e1, e0}} 。但我一直收到错误 expected expression before"{"
标签: c arm intrinsics neon gem5