summary refs log tree commit diff stats
path: root/gitlab/issues/target_i386/host_missing/accel_TCG/984.toml
blob: f8b5a6dac6c63cff7466ac924aea8cd9e1a55759 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
id = 984
title = "QEMU i386 fldl instruction is affected by the precision control bits of the FPU control word"
state = "opened"
created_at = "2022-04-15T10:24:44.938Z"
closed_at = "n/a"
labels = ["Softfloat", "accel: TCG", "target: i386"]
url = "https://gitlab.com/qemu-project/qemu/-/issues/984"
host-os = "Ubuntu 20.04"
host-arch = "x86_64"
qemu-version = "v6.1.0..v7.0.0-rc4"
guest-os = "n/a"
guest-arch = "n/a"
description = """~~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`)."""
reproduce = """Call `float64_to_floatx80` with the input value of `1234.567890 (0x40934a4584f4c6e7)` and see the returned result."""
additional = """See https://github.com/zephyrproject-rtos/sdk-ng/issues/461"""