blob: 6772ba890ef1e516a69102a9be36106be4f44f8e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
x86: FPU_MAX, FPU_MIN incorrect
Dear All,
Bug was found in qemu.git.
Now (0.15, 1.0) all fpu is softfpu.
See target-i386/ops_sse.h:
#define FPU_MIN(size, a, b) (a) < (b) ? (a) : (b)
#define FPU_MAX(size, a, b) (a) > (b) ? (a) : (b)
It is incorrect now, becouse float64 (or 32) is (typedef) uint64_t (or 32).
And if we have signed operands we get error...
There is a test with this error (spec shinx3 test data, results diffs on machine and qemu (linux)) and fixed patch. See attach.
Daniil.
|