* [Bug target/43610] [4.5 Regression] ICE: in prepare_float_lib_cmp, at optabs.c:4392 with -fno-trapping-math and _Decimal64 comparison
2010-03-31 21:41 [Bug c/43610] New: [4.5 Regression] ICE: in prepare_float_lib_cmp, at optabs.c:4392 with -fno-trapping-math and _Decimal64 comparison zsojka at seznam dot cz
@ 2010-03-31 21:43 ` pinskia at gcc dot gnu dot org
2010-04-01 13:48 ` rguenth at gcc dot gnu dot org
` (13 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2010-03-31 21:43 UTC (permalink / raw)
To: gcc-bugs
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Component|c |target
Keywords| |ice-on-valid-code
Target Milestone|--- |4.5.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43610
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug target/43610] [4.5 Regression] ICE: in prepare_float_lib_cmp, at optabs.c:4392 with -fno-trapping-math and _Decimal64 comparison
2010-03-31 21:41 [Bug c/43610] New: [4.5 Regression] ICE: in prepare_float_lib_cmp, at optabs.c:4392 with -fno-trapping-math and _Decimal64 comparison zsojka at seznam dot cz
2010-03-31 21:43 ` [Bug target/43610] " pinskia at gcc dot gnu dot org
@ 2010-04-01 13:48 ` rguenth at gcc dot gnu dot org
2010-04-01 13:52 ` rguenth at gcc dot gnu dot org
` (12 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2010-04-01 13:48 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from rguenth at gcc dot gnu dot org 2010-04-01 13:48 -------
Because we only have an optab for LT (reversed UNGE), but
FLOAT_LIB_COMPARE_RETURNS_BOOL is false.
Without -fno-trapping-math we use LT from the start which works.
I suppose FLOAT_LIB_COMPARE_RETURNS_BOOL should return true for decimal
float modes on x86?
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |hjl at gcc dot gnu dot org
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2010-04-01 13:48:17
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43610
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug target/43610] [4.5 Regression] ICE: in prepare_float_lib_cmp, at optabs.c:4392 with -fno-trapping-math and _Decimal64 comparison
2010-03-31 21:41 [Bug c/43610] New: [4.5 Regression] ICE: in prepare_float_lib_cmp, at optabs.c:4392 with -fno-trapping-math and _Decimal64 comparison zsojka at seznam dot cz
2010-03-31 21:43 ` [Bug target/43610] " pinskia at gcc dot gnu dot org
2010-04-01 13:48 ` rguenth at gcc dot gnu dot org
@ 2010-04-01 13:52 ` rguenth at gcc dot gnu dot org
2010-04-01 13:59 ` hjl dot tools at gmail dot com
` (11 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2010-04-01 13:52 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from rguenth at gcc dot gnu dot org 2010-04-01 13:51 -------
And I believe the regression is because of either cond-optab or expand-from-SSA
which causes us no longer to fallback to expand a UNORD b || a >= b.
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |bonzini at gnu dot org, matz
| |at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43610
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug target/43610] [4.5 Regression] ICE: in prepare_float_lib_cmp, at optabs.c:4392 with -fno-trapping-math and _Decimal64 comparison
2010-03-31 21:41 [Bug c/43610] New: [4.5 Regression] ICE: in prepare_float_lib_cmp, at optabs.c:4392 with -fno-trapping-math and _Decimal64 comparison zsojka at seznam dot cz
` (2 preceding siblings ...)
2010-04-01 13:52 ` rguenth at gcc dot gnu dot org
@ 2010-04-01 13:59 ` hjl dot tools at gmail dot com
2010-04-01 15:37 ` hjl dot tools at gmail dot com
` (10 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: hjl dot tools at gmail dot com @ 2010-04-01 13:59 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from hjl dot tools at gmail dot com 2010-04-01 13:59 -------
(In reply to comment #1)
> Because we only have an optab for LT (reversed UNGE), but
> FLOAT_LIB_COMPARE_RETURNS_BOOL is false.
>
> Without -fno-trapping-math we use LT from the start which works.
>
> I suppose FLOAT_LIB_COMPARE_RETURNS_BOOL should return true for decimal
> float modes on x86?
>
I don't think so.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43610
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug target/43610] [4.5 Regression] ICE: in prepare_float_lib_cmp, at optabs.c:4392 with -fno-trapping-math and _Decimal64 comparison
2010-03-31 21:41 [Bug c/43610] New: [4.5 Regression] ICE: in prepare_float_lib_cmp, at optabs.c:4392 with -fno-trapping-math and _Decimal64 comparison zsojka at seznam dot cz
` (3 preceding siblings ...)
2010-04-01 13:59 ` hjl dot tools at gmail dot com
@ 2010-04-01 15:37 ` hjl dot tools at gmail dot com
2010-04-01 16:10 ` bonzini at gnu dot org
` (9 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: hjl dot tools at gmail dot com @ 2010-04-01 15:37 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from hjl dot tools at gmail dot com 2010-04-01 15:37 -------
It is caused by revision 149031:
http://gcc.gnu.org/ml/gcc-cvs/2009-06/msg01016.html
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43610
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug target/43610] [4.5 Regression] ICE: in prepare_float_lib_cmp, at optabs.c:4392 with -fno-trapping-math and _Decimal64 comparison
2010-03-31 21:41 [Bug c/43610] New: [4.5 Regression] ICE: in prepare_float_lib_cmp, at optabs.c:4392 with -fno-trapping-math and _Decimal64 comparison zsojka at seznam dot cz
` (4 preceding siblings ...)
2010-04-01 15:37 ` hjl dot tools at gmail dot com
@ 2010-04-01 16:10 ` bonzini at gnu dot org
2010-04-03 17:16 ` rguenth at gcc dot gnu dot org
` (8 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: bonzini at gnu dot org @ 2010-04-01 16:10 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from bonzini at gnu dot org 2010-04-01 16:10 -------
Created an attachment (id=20279)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20279&action=view)
patch
Here is a totally untested patch...
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43610
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug target/43610] [4.5 Regression] ICE: in prepare_float_lib_cmp, at optabs.c:4392 with -fno-trapping-math and _Decimal64 comparison
2010-03-31 21:41 [Bug c/43610] New: [4.5 Regression] ICE: in prepare_float_lib_cmp, at optabs.c:4392 with -fno-trapping-math and _Decimal64 comparison zsojka at seznam dot cz
` (5 preceding siblings ...)
2010-04-01 16:10 ` bonzini at gnu dot org
@ 2010-04-03 17:16 ` rguenth at gcc dot gnu dot org
2010-04-06 11:38 ` rguenth at gcc dot gnu dot org
` (7 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2010-04-03 17:16 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from rguenth at gcc dot gnu dot org 2010-04-03 17:16 -------
Patch looks a bit big for 4.5.0.
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43610
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug target/43610] [4.5 Regression] ICE: in prepare_float_lib_cmp, at optabs.c:4392 with -fno-trapping-math and _Decimal64 comparison
2010-03-31 21:41 [Bug c/43610] New: [4.5 Regression] ICE: in prepare_float_lib_cmp, at optabs.c:4392 with -fno-trapping-math and _Decimal64 comparison zsojka at seznam dot cz
` (6 preceding siblings ...)
2010-04-03 17:16 ` rguenth at gcc dot gnu dot org
@ 2010-04-06 11:38 ` rguenth at gcc dot gnu dot org
2010-04-07 10:33 ` [Bug target/43610] [4.5/4.6 " bonzini at gnu dot org
` (6 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2010-04-06 11:38 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from rguenth at gcc dot gnu dot org 2010-04-06 11:20 -------
GCC 4.5.0 is being released. Deferring to 4.5.1.
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.5.0 |4.5.1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43610
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug target/43610] [4.5/4.6 Regression] ICE: in prepare_float_lib_cmp, at optabs.c:4392 with -fno-trapping-math and _Decimal64 comparison
2010-03-31 21:41 [Bug c/43610] New: [4.5 Regression] ICE: in prepare_float_lib_cmp, at optabs.c:4392 with -fno-trapping-math and _Decimal64 comparison zsojka at seznam dot cz
` (7 preceding siblings ...)
2010-04-06 11:38 ` rguenth at gcc dot gnu dot org
@ 2010-04-07 10:33 ` bonzini at gnu dot org
2010-04-09 17:21 ` zsojka at seznam dot cz
` (5 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: bonzini at gnu dot org @ 2010-04-07 10:33 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from bonzini at gnu dot org 2010-04-07 10:33 -------
The patch is mostly splitting an if statement in two parts. If anyone can test
it for 4.5.1/4.6 that would be nice.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43610
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug target/43610] [4.5/4.6 Regression] ICE: in prepare_float_lib_cmp, at optabs.c:4392 with -fno-trapping-math and _Decimal64 comparison
2010-03-31 21:41 [Bug c/43610] New: [4.5 Regression] ICE: in prepare_float_lib_cmp, at optabs.c:4392 with -fno-trapping-math and _Decimal64 comparison zsojka at seznam dot cz
` (8 preceding siblings ...)
2010-04-07 10:33 ` [Bug target/43610] [4.5/4.6 " bonzini at gnu dot org
@ 2010-04-09 17:21 ` zsojka at seznam dot cz
2010-05-09 14:01 ` zsojka at seznam dot cz
` (4 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: zsojka at seznam dot cz @ 2010-04-09 17:21 UTC (permalink / raw)
To: gcc-bugs
------- Comment #9 from zsojka at seznam dot cz 2010-04-09 17:21 -------
Thank you for the patch. I tested it in trunk r158150 at x86_64-unix, it
bootstrapped fine (languages=c,c++,lto,fortran).
check with RUNTESTFLAGS="--target_board=unix/-fno-trapping-math" fixed
following FAILs (compared to clean r158150):
FAIL: c-c++-common/dfp/compare-rel-d128.c (internal compiler error)
FAIL: c-c++-common/dfp/compare-rel-d128.c (test for excess errors)
FAIL: c-c++-common/dfp/compare-rel-d32.c (internal compiler error)
FAIL: c-c++-common/dfp/compare-rel-d32.c (test for excess errors)
FAIL: c-c++-common/dfp/compare-rel-d64.c (internal compiler error)
FAIL: c-c++-common/dfp/compare-rel-d64.c (test for excess errors)
FAIL: c-c++-common/dfp/compare-rel-dfp.c (internal compiler error)
FAIL: c-c++-common/dfp/compare-rel-dfp.c (test for excess errors)
FAIL: c-c++-common/dfp/compare-special-d128.c (internal compiler error)
FAIL: c-c++-common/dfp/compare-special-d128.c (test for excess errors)
FAIL: c-c++-common/dfp/compare-special-d32.c (internal compiler error)
FAIL: c-c++-common/dfp/compare-special-d32.c (test for excess errors)
FAIL: c-c++-common/dfp/compare-special-d64.c (internal compiler error)
FAIL: c-c++-common/dfp/compare-special-d64.c (test for excess errors)
FAIL: c-c++-common/dfp/convert-dfp.c (internal compiler error)
FAIL: c-c++-common/dfp/convert-dfp.c (test for excess errors)
FAIL: c-c++-common/dfp/nan-2.c (internal compiler error)
FAIL: c-c++-common/dfp/nan-2.c (test for excess errors)
FAIL: c-c++-common/dfp/compare-rel-d128.c (internal compiler error)
FAIL: c-c++-common/dfp/compare-rel-d128.c (test for excess errors)
FAIL: c-c++-common/dfp/compare-rel-d32.c (internal compiler error)
FAIL: c-c++-common/dfp/compare-rel-d32.c (test for excess errors)
FAIL: c-c++-common/dfp/compare-rel-d64.c (internal compiler error)
FAIL: c-c++-common/dfp/compare-rel-d64.c (test for excess errors)
FAIL: c-c++-common/dfp/compare-rel-dfp.c (internal compiler error)
FAIL: c-c++-common/dfp/compare-rel-dfp.c (test for excess errors)
FAIL: c-c++-common/dfp/compare-special-d128.c (internal compiler error)
FAIL: c-c++-common/dfp/compare-special-d128.c (test for excess errors)
FAIL: c-c++-common/dfp/compare-special-d32.c (internal compiler error)
FAIL: c-c++-common/dfp/compare-special-d32.c (test for excess errors)
FAIL: c-c++-common/dfp/compare-special-d64.c (internal compiler error)
FAIL: c-c++-common/dfp/compare-special-d64.c (test for excess errors)
FAIL: c-c++-common/dfp/convert-dfp.c (internal compiler error)
FAIL: c-c++-common/dfp/convert-dfp.c (test for excess errors)
FAIL: c-c++-common/dfp/nan-2.c (internal compiler error)
FAIL: c-c++-common/dfp/nan-2.c (test for excess errors)
and didn't add any new FAIL
The testcase works fine too. I didn't verify if the generated code is correct.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43610
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug target/43610] [4.5/4.6 Regression] ICE: in prepare_float_lib_cmp, at optabs.c:4392 with -fno-trapping-math and _Decimal64 comparison
2010-03-31 21:41 [Bug c/43610] New: [4.5 Regression] ICE: in prepare_float_lib_cmp, at optabs.c:4392 with -fno-trapping-math and _Decimal64 comparison zsojka at seznam dot cz
` (9 preceding siblings ...)
2010-04-09 17:21 ` zsojka at seznam dot cz
@ 2010-05-09 14:01 ` zsojka at seznam dot cz
2010-05-09 14:14 ` bonzini at gnu dot org
` (3 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: zsojka at seznam dot cz @ 2010-05-09 14:01 UTC (permalink / raw)
To: gcc-bugs
------- Comment #10 from zsojka at seznam dot cz 2010-05-09 14:01 -------
I hope my comment wasn't misunderstood - the patch from comment #5 fixes
several FAILs and doesn't introduce any regressions (at least in r158150)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43610
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug target/43610] [4.5/4.6 Regression] ICE: in prepare_float_lib_cmp, at optabs.c:4392 with -fno-trapping-math and _Decimal64 comparison
2010-03-31 21:41 [Bug c/43610] New: [4.5 Regression] ICE: in prepare_float_lib_cmp, at optabs.c:4392 with -fno-trapping-math and _Decimal64 comparison zsojka at seznam dot cz
` (10 preceding siblings ...)
2010-05-09 14:01 ` zsojka at seznam dot cz
@ 2010-05-09 14:14 ` bonzini at gnu dot org
2010-05-25 9:20 ` bonzini at gcc dot gnu dot org
` (2 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: bonzini at gnu dot org @ 2010-05-09 14:14 UTC (permalink / raw)
To: gcc-bugs
------- Comment #11 from bonzini at gnu dot org 2010-05-09 14:14 -------
Patch posted now.
Sorry, I was busy.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43610
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug target/43610] [4.5/4.6 Regression] ICE: in prepare_float_lib_cmp, at optabs.c:4392 with -fno-trapping-math and _Decimal64 comparison
2010-03-31 21:41 [Bug c/43610] New: [4.5 Regression] ICE: in prepare_float_lib_cmp, at optabs.c:4392 with -fno-trapping-math and _Decimal64 comparison zsojka at seznam dot cz
` (11 preceding siblings ...)
2010-05-09 14:14 ` bonzini at gnu dot org
@ 2010-05-25 9:20 ` bonzini at gcc dot gnu dot org
2010-06-29 16:30 ` [Bug target/43610] [4.5 " jakub at gcc dot gnu dot org
2010-07-31 9:34 ` rguenth at gcc dot gnu dot org
14 siblings, 0 replies; 16+ messages in thread
From: bonzini at gcc dot gnu dot org @ 2010-05-25 9:20 UTC (permalink / raw)
To: gcc-bugs
------- Comment #12 from bonzini at gnu dot org 2010-05-25 09:19 -------
Subject: Bug 43610
Author: bonzini
Date: Tue May 25 09:19:37 2010
New Revision: 159813
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=159813
Log:
2010-05-09 Paolo Bonzini <bonzini@gnu.org>
PR target/43610
* optabs.c (prepare_float_lib_cmp): Allow reversing the comparison
even if !FLOAT_LIB_COMPARE_RETURNS_BOOL. Always compute true_rtx and
false_rtx. Use false_rtx to compute the correct *ptest for reversed
comparisons for which !FLOAT_LIB_COMPARE_RETURNS_BOOL.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/optabs.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43610
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug target/43610] [4.5 Regression] ICE: in prepare_float_lib_cmp, at optabs.c:4392 with -fno-trapping-math and _Decimal64 comparison
2010-03-31 21:41 [Bug c/43610] New: [4.5 Regression] ICE: in prepare_float_lib_cmp, at optabs.c:4392 with -fno-trapping-math and _Decimal64 comparison zsojka at seznam dot cz
` (12 preceding siblings ...)
2010-05-25 9:20 ` bonzini at gcc dot gnu dot org
@ 2010-06-29 16:30 ` jakub at gcc dot gnu dot org
2010-07-31 9:34 ` rguenth at gcc dot gnu dot org
14 siblings, 0 replies; 16+ messages in thread
From: jakub at gcc dot gnu dot org @ 2010-06-29 16:30 UTC (permalink / raw)
To: gcc-bugs
------- Comment #13 from jakub at gcc dot gnu dot org 2010-06-29 16:30 -------
Fixed on the trunk, unfixed on the branch.
--
jakub at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[4.5/4.6 Regression] ICE: in|[4.5 Regression] ICE: in
|prepare_float_lib_cmp, at |prepare_float_lib_cmp, at
|optabs.c:4392 with -fno- |optabs.c:4392 with -fno-
|trapping-math and _Decimal64|trapping-math and _Decimal64
|comparison |comparison
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43610
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug target/43610] [4.5 Regression] ICE: in prepare_float_lib_cmp, at optabs.c:4392 with -fno-trapping-math and _Decimal64 comparison
2010-03-31 21:41 [Bug c/43610] New: [4.5 Regression] ICE: in prepare_float_lib_cmp, at optabs.c:4392 with -fno-trapping-math and _Decimal64 comparison zsojka at seznam dot cz
` (13 preceding siblings ...)
2010-06-29 16:30 ` [Bug target/43610] [4.5 " jakub at gcc dot gnu dot org
@ 2010-07-31 9:34 ` rguenth at gcc dot gnu dot org
14 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2010-07-31 9:34 UTC (permalink / raw)
To: gcc-bugs
------- Comment #14 from rguenth at gcc dot gnu dot org 2010-07-31 09:29 -------
GCC 4.5.1 is being released, adjusting target milestone.
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.5.1 |4.5.2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43610
^ permalink raw reply [flat|nested] 16+ messages in thread