QEMU i386 fldl instruction is affected by the precision control bits of the FPU control word Description of problem: ~~The QEMU softfloat float64_to_floatx80 implementation is broken and does not produce correct results.~~ QEMU i386 fldl instruction is affected by the precision control bits of the FPU control word. ``` IN = 1234.567890 (0x40934a4584f4c6e7) OUT = 1234.567871 (0x40099a522c0000000000) ``` This bug was introduced in the QEMU commit qemu/qemu@8ae5719 as part of the switchover to FloatParts, and is still present in the latest tag (v7.0.0-rc4 as of now). Prior to the offending commit: ``` IN = 1234.567890 (0x40934a4584f4c6e7) OUT = 1234.567890 (0x40099a522c27a6373800) ``` This breaks the i386 emulation of `fldl st(0)` (`helper_fldl_ST0`). Steps to reproduce: Call `float64_to_floatx80` with the input value of `1234.567890 (0x40934a4584f4c6e7)` and see the returned result. Additional information: See https://github.com/zephyrproject-rtos/sdk-ng/issues/461