Q
使用NEON指令
3
A
回答
3
你不需要很多說明。單vsra指令會做(向量右移累加):
vsra.u32 q0, q0, #31 // i += ((unsigned int) i) >> 31;
請注意,這是u32
的目的,而不是s32
。
NEON很容易學習,但很難掌握,因爲您需要了解許多位侵入相關技術,才能編寫像這樣的高效代碼,比傳統的if-else方法快許多倍。
1
你可以做一個比較,然後減去的結果,因爲true
比較結果等於-1:
const int32x4_t vk0 = { 0 };
uint32x4_t vcmp = vcltq_s32(va, vk0); // a < 0 ?
va = vsubq_s32(va, (int32x4_t)vcmp); // subtract -1 (i.e. add 1) for
// each element where a < 0
如果你想在彙編級別要做到這一點,那麼你可以只使用以下說明:
相關問題
- 1. ARM中的指令調度NEON
- 2. 如何從VFP指令中知道NEON指令?
- 3. Apple AS彙編程序是否會用iOS上的某些NEON指令替換某些NEON指令?
- 4. 使用NEON指令的圖像閾值處理
- 5. 任何使用NEON指令集的Android平板電腦?
- 6. 在傳統設備上使用ARM NEON指令
- 7. Raspberry Pi 2 NEON內聯彙編指令不起作用
- 8. 未知操作碼使用ARM NEON指令與Microsoft ARM彙編程序
- 9. 什麼是ARM的umlal指令的Neon等效物?
- 10. ARM NEON:哪些指令必須等待寫回?
- 11. Neon指令,vsub_f32(a,b),是a-b還是b-a?
- 12. 鐺O3/O2錯誤Linpack性能與NEON指令
- 13. 使用指令
- 14. 使用指令
- 15. 使用指令
- 16. 使用指令
- 17. 使用指令
- 18. 如何使用NEON內在
- 19. 在Blade指令中使用Blade指令
- 20. 指定使用指令
- 21. 使用mips指令
- 22. 使用angularjs指令
- 23. 角:使用指令
- 24. 使用角指令
- 25. 使用iomanip指令
- 26. AngularJS - 使用指令
- 27. 如何使用dlib啓用NEON加速?
- 28. ARM NEON彙編程序錯誤:「指令不能是有條件的」
- 29. NEON SSUBL指令有錯誤的結果? 127-220 = 0x00a3(應該是0xffa3)
- 30. 使用ng-class加載指令時類指令不起作用
非常好 - 一條指令而不是我的兩條。 –