mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-02-02 21:31:06 +00:00
67740bbc7f
The instruction "ucvtf v0.4h, v04h, #2", with input 0x8000u, overflows the intermediate float16 to infinity before we have a chance to scale the output. Use float64 as the intermediate type so that no input argument (uint32_t in this case) can overflow or round before scaling. Given the declared argument, the signed int32_t function has the same problem. When converting from float16 to integer, using u/int32_t instead of u/int16_t means that the bounding is incorrect. Backports commit 88808a022c06f98d81cd3f2d105a5734c5614839 from qemu |
||
---|---|---|
.. | ||
arm | ||
i386 | ||
m68k | ||
mips | ||
sparc |