错误 #90
功能 #84: 上行同步功能开发
no EMMS instruction before call to function
100%
描述
WI init_sync_process 代码移植至fr_xx UT编译 #2020.3.4
移植phy_dfts.c时, 出现"no EMMS instruction before call to function"的错误
定位至代码 dft128 & idft128,根据资料初步猜测为调用寄存器后没有清空
Use the EMMS instruction (e.g. by calling the _mm_empty() intrinsic ) after the MMX instructions immediately before the x87 code to restore the Floating-point status on the CPU.
在调用dft64(idft64)前一行添加“_mm_empty()” 后问题消失,为预防出现其他风险,将此问题暂作记录,观察后续现象
References
Diagnostic 964: no EMMS instruction before call, https://software.intel.com/zh-cn/node/150777
Warning #13200: No emms instruction before return from function, https://blog.csdn.net/M1379/article/details/101547386
Intel® C++ Intrinsic Reference http://www.info.univ-angers.fr/pub/richer/ens/l3info/ao/intel_intrinsics.pdf
EMMS— Empty MMX Technology State, https://www.felixcloutier.com/x86/emms
文件