mirror of
https://github.com/yuzu-mirror/unicorn.git
synced 2026-01-06 08:40:07 +01:00
The fscale implementation passes infinite exponents through to generic code that rounds the exponent to a 32-bit integer before using floatx80_scalbn. In round-to-nearest mode, and ignoring exceptions, this works in many cases. But it fails to handle the special cases of scaling 0 by a +Inf exponent or an infinity by a -Inf exponent, which should produce a NaN, and because it produces an inexact result for finite nonzero numbers being scaled, the result is sometimes incorrect in other rounding modes. Add appropriate handling of infinite exponents to produce a NaN or an appropriately signed exact zero or infinity as a result Backports commit c1c5fb8f9067c830e36830c2b82c0ec146c03d7b from qemu |
||
|---|---|---|
| .. | ||
| arm | ||
| i386 | ||
| m68k | ||
| mips | ||
| riscv | ||
| sparc | ||