替换x86 pause汇编指令
现象描述
编译报错: Error: unknown mnemonic 'pause' -- 'pause'。
问题原因
pause指令给处理器提供提示,以提高spin-wait循环的性能,需替换为鲲鹏平台的yield指令。
处理步骤
- x86平台实现样例:
static inline void PauseCPU() { __asm__ __volatile__("pause" : : : "memory"); }
- 鲲鹏平台实现样例:
static inline void PauseCPU() { __asm__ __volatile__("yield" : : : "memory"); }
父主题: 嵌入式汇编类问题