mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-11-09 18:25:02 +00:00
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 | ||