潮声隔雨深 · 2020年04月05日

请问在用arm neon指令优化程序时,在一个for循环下,分别用int32x2_t和int32x4_t类型的指令,后者的速度并没有按照理论上的速度更快,反而比前者慢是怎么回事呢?必须要对生成的汇编指令进行优化吗?

请问在用arm neon指令优化程序时,在一个for循环下,分别用int32x2_t和int32x4_t类型的指令,后者的速度并没有按照理论上的速度更快,反而比前者慢是怎么回事呢?必须要对生成的汇编指令进行优化吗?谢谢指教。

1 个回答 得票排序 · 时间排序
一知半解 · 2020年04月05日

Int32x2 比int32x4更快,是有可能发生的,在armv7平台的话有可能是寄存器不足引起的,在armv8平台的话,有可能是指令流水排布不好引起的。你需要查看反汇编来确定具体原因,从而修改intrisics指令用法。

你的回答