[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] fpu/softfloat: check for Inf / x or 0 / x befor
From: |
Emilio G. Cota |
Subject: |
Re: [Qemu-devel] [PATCH] fpu/softfloat: check for Inf / x or 0 / x before /0 |
Date: |
Tue, 17 Apr 2018 15:04:39 -0400 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
On Mon, Apr 16, 2018 at 14:54:42 +0100, Alex Bennée wrote:
> The re-factoring of div_floats changed the order of checking meaning
> an operation like -inf/0 erroneously raises the divbyzero flag.
> IEEE-754 (2008) specifies this should only occur for operations on
> finite operands.
>
> We fix this by moving the check on the dividend being Inf/0 to before
> the divisor is zero check.
>
> Signed-off-by: Alex Bennée <address@hidden>
> Cc: Bastian Koppelmann <address@hidden>
I can confirm this fixes the issue -- just checked with a modified
version of fp-test, see below.
Note that in fp-test I am not checking for flags that are raised
when none are expected, because doing so gives quite a few errors.
Just noticed that enabling this check yields 1049 of these errors for
v2.11, and before this patch that number was 1087. After this
patch, it is again brought down to 1049. IOW, the test cases in
fp-test raise exactly the same flags as v2.11, which is good to know.
The 1049 errors are probably false positives -- at least a big
chunk of them should be, given that "-t host" gives even more errors.
I am tempted to keep the flag check and whitelist these errors
though, which would catch regressions such as the one we're fixing here.
Here is the report file with the 1049 failing test cases:
http://www.cs.columbia.edu/~cota/qemu/fp-test-after-inf-patch.txt
Thanks,
Emilio
- [Qemu-devel] [PATCH] fpu/softfloat: check for Inf / x or 0 / x before /0, Alex Bennée, 2018/04/16
- Re: [Qemu-devel] [PATCH] fpu/softfloat: check for Inf / x or 0 / x before /0, Bastian Koppelmann, 2018/04/16
- Re: [Qemu-devel] [PATCH] fpu/softfloat: check for Inf / x or 0 / x before /0, Richard Henderson, 2018/04/16
- Re: [Qemu-devel] [PATCH] fpu/softfloat: check for Inf / x or 0 / x before /0, Peter Maydell, 2018/04/17
- Re: [Qemu-devel] [PATCH] fpu/softfloat: check for Inf / x or 0 / x before /0,
Emilio G. Cota <=
- Re: [Qemu-devel] [PATCH] fpu/softfloat: check for Inf / x or 0 / x before /0, Peter Maydell, 2018/04/17
- Re: [Qemu-devel] [PATCH] fpu/softfloat: check for Inf / x or 0 / x before /0, Emilio G. Cota, 2018/04/17
- Re: [Qemu-devel] [PATCH] fpu/softfloat: check for Inf / x or 0 / x before /0, Peter Maydell, 2018/04/17
- Re: [Qemu-devel] [PATCH] fpu/softfloat: check for Inf / x or 0 / x before /0, Emilio G. Cota, 2018/04/17
- Re: [Qemu-devel] [PATCH] fpu/softfloat: check for Inf / x or 0 / x before /0, Richard Henderson, 2018/04/17
- Re: [Qemu-devel] [PATCH] fpu/softfloat: check for Inf / x or 0 / x before /0, Peter Maydell, 2018/04/17
- Re: [Qemu-devel] [PATCH] fpu/softfloat: check for Inf / x or 0 / x before /0, Peter Maydell, 2018/04/17
- Re: [Qemu-devel] [PATCH] fpu/softfloat: check for Inf / x or 0 / x before /0, Richard Henderson, 2018/04/19
- Re: [Qemu-devel] [PATCH] fpu/softfloat: check for Inf / x or 0 / x before /0, Richard Henderson, 2018/04/19
- Re: [Qemu-devel] [PATCH] fpu/softfloat: check for Inf / x or 0 / x before /0, Peter Maydell, 2018/04/19