项目

一般

简介

错误 #90

功能 #84: 上行同步功能开发

no EMMS instruction before call to function

由 guo hanlin 在 大约 5 年 之前添加. 更新于 大约 5 年 之前.

状态:
已解决
优先级:
指派给:
guo hanlin
开始日期:
2020-03-04
计划完成日期:
2020-03-04
% 完成:

100%

预期时间:
0.00 小时
问题归属:

描述

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


文件

image.png (29.3 KB) image.png 编译报错提示 guo hanlin, 2020-04-15 17:10

历史记录

#1

由 guo hanlin 更新于 大约 5 年 之前

  • 状态新建 变更为 已解决
#2

由 guo hanlin 更新于 大约 5 年 之前

  • 主题03no EMMS instruction before call to function 变更为 no EMMS instruction before call to function

导出 Atom PDF