【发布时间】:2015-07-26 12:19:39
【问题描述】:
fpscr 寄存器未更新且未生成 SIGFPE。这是在 NVidia Shield 平板电脑和第一代 Nexus 7 上测试的。
feenableexcept(FE_DIVBYZERO | FE_INVALID | FE_OVERFLOW);
实现调用代码,最终执行这个程序集:
asm _volatile__("vmsr fpscr,%0" : :"ri" (fpscr));
; disassembly follows
ldr r3, [r11, #-8]
vmsr fpscr, r3
vmsr fpscr 不会更新。当它应该更新为 0x20000710 时,它仍然是 0x20000010。
用-mfloat-abi=soft 和-mfloat-abi=softfp 测试。
我能得出什么结论?
【问题讨论】:
标签: debugging android-ndk floating-point arm