请问在用arm neon指令优化程序时,在一个for循环下,分别用int32x2_t和int32x4_t类型的指令,后者的速度并没有按照理论上的速度更快,反而比前者慢是怎么回事呢?必须要对生成的汇编指令进行优化吗?谢谢指教。
请问在用arm neon指令优化程序时,在一个for循环下,分别用int32x2_t和int32x4_t类型的指令,后者的速度并没有按照理论上的速度更快,反而比前者慢是怎么回事呢?必须要对生成的汇编指令进行优化吗?谢谢指教。
Int32x2 比int32x4更快,是有可能发生的,在armv7平台的话有可能是寄存器不足引起的,在armv8平台的话,有可能是指令流水排布不好引起的。你需要查看反汇编来确定具体原因,从而修改intrisics指令用法。