All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [Bug 889053] Re: x86: FPU_MAX, FPU_MIN incorrect
  2011-11-11 11:30 [Qemu-devel] [Bug 889053] [NEW] x86: FPU_MAX, FPU_MIN incorrect Daniil Troshkov
@ 2011-11-11 11:30 ` Daniil Troshkov
  2011-11-11 11:33 ` Daniil Troshkov
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Daniil Troshkov @ 2011-11-11 11:30 UTC (permalink / raw)
  To: qemu-devel

** Patch added: "test.useprof.exe"
   https://bugs.launchpad.net/bugs/889053/+attachment/2593057/+files/test.useprof.exe

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/889053

Title:
  x86: FPU_MAX, FPU_MIN incorrect

Status in QEMU:
  New

Bug description:
  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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/889053/+subscriptions

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Qemu-devel] [Bug 889053] [NEW] x86: FPU_MAX, FPU_MIN incorrect
@ 2011-11-11 11:30 Daniil Troshkov
  2011-11-11 11:30 ` [Qemu-devel] [Bug 889053] " Daniil Troshkov
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: Daniil Troshkov @ 2011-11-11 11:30 UTC (permalink / raw)
  To: qemu-devel

Public bug reported:

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.

** Affects: qemu
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/889053

Title:
  x86: FPU_MAX, FPU_MIN incorrect

Status in QEMU:
  New

Bug description:
  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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/889053/+subscriptions

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Qemu-devel] [Bug 889053] Re: x86: FPU_MAX, FPU_MIN incorrect
  2011-11-11 11:30 [Qemu-devel] [Bug 889053] [NEW] x86: FPU_MAX, FPU_MIN incorrect Daniil Troshkov
  2011-11-11 11:30 ` [Qemu-devel] [Bug 889053] " Daniil Troshkov
@ 2011-11-11 11:33 ` Daniil Troshkov
  2011-11-11 11:36 ` Daniil Troshkov
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Daniil Troshkov @ 2011-11-11 11:33 UTC (permalink / raw)
  To: qemu-devel

** Attachment added: "patch"
   https://bugs.launchpad.net/qemu/+bug/889053/+attachment/2593058/+files/patch

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/889053

Title:
  x86: FPU_MAX, FPU_MIN incorrect

Status in QEMU:
  New

Bug description:
  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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/889053/+subscriptions

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Qemu-devel] [Bug 889053] Re: x86: FPU_MAX, FPU_MIN incorrect
  2011-11-11 11:30 [Qemu-devel] [Bug 889053] [NEW] x86: FPU_MAX, FPU_MIN incorrect Daniil Troshkov
  2011-11-11 11:30 ` [Qemu-devel] [Bug 889053] " Daniil Troshkov
  2011-11-11 11:33 ` Daniil Troshkov
@ 2011-11-11 11:36 ` Daniil Troshkov
  2011-11-11 11:39 ` Daniil Troshkov
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Daniil Troshkov @ 2011-11-11 11:36 UTC (permalink / raw)
  To: qemu-devel

misprint:
spec sphinx3 test data

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/889053

Title:
  x86: FPU_MAX, FPU_MIN incorrect

Status in QEMU:
  New

Bug description:
  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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/889053/+subscriptions

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Qemu-devel] [Bug 889053] Re: x86: FPU_MAX, FPU_MIN incorrect
  2011-11-11 11:30 [Qemu-devel] [Bug 889053] [NEW] x86: FPU_MAX, FPU_MIN incorrect Daniil Troshkov
                   ` (2 preceding siblings ...)
  2011-11-11 11:36 ` Daniil Troshkov
@ 2011-11-11 11:39 ` Daniil Troshkov
  2011-11-11 12:12 ` Peter Maydell
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Daniil Troshkov @ 2011-11-11 11:39 UTC (permalink / raw)
  To: qemu-devel

482.sphinx3: http://www.spec.org/cpu2006/CFP2006/

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/889053

Title:
  x86: FPU_MAX, FPU_MIN incorrect

Status in QEMU:
  New

Bug description:
  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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/889053/+subscriptions

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Qemu-devel] [Bug 889053] Re: x86: FPU_MAX, FPU_MIN incorrect
  2011-11-11 11:30 [Qemu-devel] [Bug 889053] [NEW] x86: FPU_MAX, FPU_MIN incorrect Daniil Troshkov
                   ` (3 preceding siblings ...)
  2011-11-11 11:39 ` Daniil Troshkov
@ 2011-11-11 12:12 ` Peter Maydell
  2011-12-14 13:45 ` Daniil Troshkov
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Peter Maydell @ 2011-11-11 12:12 UTC (permalink / raw)
  To: qemu-devel

The attached patch is incorrect (using the softfloat _min/_max functions will give wrong answers for some special cases). The correct macros are
#define FPU_MIN(size, a, b) float ## size ## _lt(a, b, &env->sse_status) ? (a) : (b)
#define FPU_MAX(size, a, b) float ## size ## _lt(b, a, &env->sse_status) ? (a) : (b)

(see recent discussion on the qemu-devel list).

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/889053

Title:
  x86: FPU_MAX, FPU_MIN incorrect

Status in QEMU:
  New

Bug description:
  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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/889053/+subscriptions

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Qemu-devel] [Bug 889053] Re: x86: FPU_MAX, FPU_MIN incorrect
  2011-11-11 11:30 [Qemu-devel] [Bug 889053] [NEW] x86: FPU_MAX, FPU_MIN incorrect Daniil Troshkov
                   ` (4 preceding siblings ...)
  2011-11-11 12:12 ` Peter Maydell
@ 2011-12-14 13:45 ` Daniil Troshkov
  2011-12-14 14:54 ` Peter Maydell
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Daniil Troshkov @ 2011-12-14 13:45 UTC (permalink / raw)
  To: qemu-devel

Hello!
Can I commit this patch (in development branch), and close this bug...
Or you must do it?

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/889053

Title:
  x86: FPU_MAX, FPU_MIN incorrect

Status in QEMU:
  New

Bug description:
  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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/889053/+subscriptions

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Qemu-devel] [Bug 889053] Re: x86: FPU_MAX, FPU_MIN incorrect
  2011-11-11 11:30 [Qemu-devel] [Bug 889053] [NEW] x86: FPU_MAX, FPU_MIN incorrect Daniil Troshkov
                   ` (5 preceding siblings ...)
  2011-12-14 13:45 ` Daniil Troshkov
@ 2011-12-14 14:54 ` Peter Maydell
  2011-12-14 15:37 ` Daniil Troshkov
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Peter Maydell @ 2011-12-14 14:54 UTC (permalink / raw)
  To: qemu-devel

Your patch is broken, as I said before.

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/889053

Title:
  x86: FPU_MAX, FPU_MIN incorrect

Status in QEMU:
  New

Bug description:
  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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/889053/+subscriptions

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Qemu-devel] [Bug 889053] Re: x86: FPU_MAX, FPU_MIN incorrect
  2011-11-11 11:30 [Qemu-devel] [Bug 889053] [NEW] x86: FPU_MAX, FPU_MIN incorrect Daniil Troshkov
                   ` (6 preceding siblings ...)
  2011-12-14 14:54 ` Peter Maydell
@ 2011-12-14 15:37 ` Daniil Troshkov
  2011-12-14 15:50 ` Daniil Troshkov
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Daniil Troshkov @ 2011-12-14 15:37 UTC (permalink / raw)
  To: qemu-devel

Yes, but you patch is correct...

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/889053

Title:
  x86: FPU_MAX, FPU_MIN incorrect

Status in QEMU:
  New

Bug description:
  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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/889053/+subscriptions

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Qemu-devel] [Bug 889053] Re: x86: FPU_MAX, FPU_MIN incorrect
  2011-11-11 11:30 [Qemu-devel] [Bug 889053] [NEW] x86: FPU_MAX, FPU_MIN incorrect Daniil Troshkov
                   ` (7 preceding siblings ...)
  2011-12-14 15:37 ` Daniil Troshkov
@ 2011-12-14 15:50 ` Daniil Troshkov
  2011-12-14 15:57 ` Daniil Troshkov
  2016-09-13 19:07 ` T. Huth
  10 siblings, 0 replies; 12+ messages in thread
From: Daniil Troshkov @ 2011-12-14 15:50 UTC (permalink / raw)
  To: qemu-devel

May be commit you patch

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/889053

Title:
  x86: FPU_MAX, FPU_MIN incorrect

Status in QEMU:
  New

Bug description:
  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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/889053/+subscriptions

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Qemu-devel] [Bug 889053] Re: x86: FPU_MAX, FPU_MIN incorrect
  2011-11-11 11:30 [Qemu-devel] [Bug 889053] [NEW] x86: FPU_MAX, FPU_MIN incorrect Daniil Troshkov
                   ` (8 preceding siblings ...)
  2011-12-14 15:50 ` Daniil Troshkov
@ 2011-12-14 15:57 ` Daniil Troshkov
  2016-09-13 19:07 ` T. Huth
  10 siblings, 0 replies; 12+ messages in thread
From: Daniil Troshkov @ 2011-12-14 15:57 UTC (permalink / raw)
  To: qemu-devel

I say about
#define FPU_MIN(size, a, b) float ## size ## _lt(a, b, &env->sse_status) ? (a) : (b)
#define FPU_MAX(size, a, b) float ## size ## _lt(b, a, &env->sse_status) ? (b) : (a)

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/889053

Title:
  x86: FPU_MAX, FPU_MIN incorrect

Status in QEMU:
  New

Bug description:
  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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/889053/+subscriptions

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Qemu-devel] [Bug 889053] Re: x86: FPU_MAX, FPU_MIN incorrect
  2011-11-11 11:30 [Qemu-devel] [Bug 889053] [NEW] x86: FPU_MAX, FPU_MIN incorrect Daniil Troshkov
                   ` (9 preceding siblings ...)
  2011-12-14 15:57 ` Daniil Troshkov
@ 2016-09-13 19:07 ` T. Huth
  10 siblings, 0 replies; 12+ messages in thread
From: T. Huth @ 2016-09-13 19:07 UTC (permalink / raw)
  To: qemu-devel

The patch mentioned in comment #5 has been included here:
http://git.qemu.org/?p=qemu.git;a=commitdiff;h=a4d1f142542935b90d2e

** Changed in: qemu
       Status: New => Fix Released

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/889053

Title:
  x86: FPU_MAX, FPU_MIN incorrect

Status in QEMU:
  Fix Released

Bug description:
  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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/889053/+subscriptions

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2016-09-13 19:15 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-11-11 11:30 [Qemu-devel] [Bug 889053] [NEW] x86: FPU_MAX, FPU_MIN incorrect Daniil Troshkov
2011-11-11 11:30 ` [Qemu-devel] [Bug 889053] " Daniil Troshkov
2011-11-11 11:33 ` Daniil Troshkov
2011-11-11 11:36 ` Daniil Troshkov
2011-11-11 11:39 ` Daniil Troshkov
2011-11-11 12:12 ` Peter Maydell
2011-12-14 13:45 ` Daniil Troshkov
2011-12-14 14:54 ` Peter Maydell
2011-12-14 15:37 ` Daniil Troshkov
2011-12-14 15:50 ` Daniil Troshkov
2011-12-14 15:57 ` Daniil Troshkov
2016-09-13 19:07 ` T. Huth

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.