public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/19304] New: wrong code for spec test from emit_move_change_mode
@ 2005-01-06 23:37 janis187 at us dot ibm dot com
2005-01-06 23:39 ` [Bug middle-end/19304] " janis187 at us dot ibm dot com
` (14 more replies)
0 siblings, 15 replies; 16+ messages in thread
From: janis187 at us dot ibm dot com @ 2005-01-06 23:37 UTC (permalink / raw)
To: gcc-bugs
Benchmark 197.parser from SPEC CPU2000 fails on powerpc64-linux when
compiled with "-m32 -O2 -maltivec" or "-m32 -O2 -funroll-loops",
producing incorrect results. The failures start with this patch:
2004-12-12 Richard Henderson <rth@redhat.com>
* expr.c (emit_move_change_mode): New.
(emit_move_via_alt_mode): Use it.
I have no idea what's going on here but noticed that the original code
handled more conditions than does the new code. If simplify_gen_subreg,
rather than simplify_subreg, is called when reload_in_progress is true
but MEM_P(x) is false, the test case passes again. I'll attach the
diffs.
If this looks worth testing I'll do a bootstrap and testsuite run and
run the CPU2000 tests with the short test input using a variety of
compiler options.
--
Summary: wrong code for spec test from emit_move_change_mode
Product: gcc
Version: 4.0.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: janis187 at us dot ibm dot com
CC: gcc-bugs at gcc dot gnu dot org,rth at gcc dot gnu dot
org
GCC target triplet: powerpc64-unknown-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19304
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug middle-end/19304] wrong code for spec test from emit_move_change_mode
2005-01-06 23:37 [Bug middle-end/19304] New: wrong code for spec test from emit_move_change_mode janis187 at us dot ibm dot com
@ 2005-01-06 23:39 ` janis187 at us dot ibm dot com
2005-01-06 23:40 ` [Bug middle-end/19304] [4.0 Regression] " pinskia at gcc dot gnu dot org
` (13 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: janis187 at us dot ibm dot com @ 2005-01-06 23:39 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From janis187 at us dot ibm dot com 2005-01-06 23:39 -------
Created an attachment (id=7889)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=7889&action=view)
diffs that worked for me
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19304
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug middle-end/19304] [4.0 Regression] wrong code for spec test from emit_move_change_mode
2005-01-06 23:37 [Bug middle-end/19304] New: wrong code for spec test from emit_move_change_mode janis187 at us dot ibm dot com
2005-01-06 23:39 ` [Bug middle-end/19304] " janis187 at us dot ibm dot com
@ 2005-01-06 23:40 ` pinskia at gcc dot gnu dot org
2005-01-07 12:25 ` steven at gcc dot gnu dot org
` (12 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-01-06 23:40 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
Severity|normal |critical
Keywords| |wrong-code
Priority|P2 |P1
Summary|wrong code for spec test |[4.0 Regression] wrong code
|from emit_move_change_mode |for spec test from
| |emit_move_change_mode
Target Milestone|--- |4.0.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19304
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug middle-end/19304] [4.0 Regression] wrong code for spec test from emit_move_change_mode
2005-01-06 23:37 [Bug middle-end/19304] New: wrong code for spec test from emit_move_change_mode janis187 at us dot ibm dot com
2005-01-06 23:39 ` [Bug middle-end/19304] " janis187 at us dot ibm dot com
2005-01-06 23:40 ` [Bug middle-end/19304] [4.0 Regression] " pinskia at gcc dot gnu dot org
@ 2005-01-07 12:25 ` steven at gcc dot gnu dot org
2005-01-12 10:41 ` steven at gcc dot gnu dot org
` (11 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: steven at gcc dot gnu dot org @ 2005-01-07 12:25 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed| |1
Last reconfirmed|0000-00-00 00:00:00 |2005-01-07 12:24:56
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19304
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug middle-end/19304] [4.0 Regression] wrong code for spec test from emit_move_change_mode
2005-01-06 23:37 [Bug middle-end/19304] New: wrong code for spec test from emit_move_change_mode janis187 at us dot ibm dot com
` (2 preceding siblings ...)
2005-01-07 12:25 ` steven at gcc dot gnu dot org
@ 2005-01-12 10:41 ` steven at gcc dot gnu dot org
2005-01-12 16:48 ` janis187 at us dot ibm dot com
` (10 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: steven at gcc dot gnu dot org @ 2005-01-12 10:41 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From steven at gcc dot gnu dot org 2005-01-12 10:41 -------
Janis, why don't you post the patch to gcc-patches?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19304
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug middle-end/19304] [4.0 Regression] wrong code for spec test from emit_move_change_mode
2005-01-06 23:37 [Bug middle-end/19304] New: wrong code for spec test from emit_move_change_mode janis187 at us dot ibm dot com
` (3 preceding siblings ...)
2005-01-12 10:41 ` steven at gcc dot gnu dot org
@ 2005-01-12 16:48 ` janis187 at us dot ibm dot com
2005-01-13 8:11 ` rth at gcc dot gnu dot org
` (9 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: janis187 at us dot ibm dot com @ 2005-01-12 16:48 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From janis187 at us dot ibm dot com 2005-01-12 16:48 -------
I suspect that the patch is a clue to what's wrong rather than a real fix,
but if nothing happens in a couple of days I'll post it anyway.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19304
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug middle-end/19304] [4.0 Regression] wrong code for spec test from emit_move_change_mode
2005-01-06 23:37 [Bug middle-end/19304] New: wrong code for spec test from emit_move_change_mode janis187 at us dot ibm dot com
` (4 preceding siblings ...)
2005-01-12 16:48 ` janis187 at us dot ibm dot com
@ 2005-01-13 8:11 ` rth at gcc dot gnu dot org
2005-01-13 8:12 ` rth at gcc dot gnu dot org
` (8 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: rth at gcc dot gnu dot org @ 2005-01-13 8:11 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From rth at gcc dot gnu dot org 2005-01-13 08:11 -------
My new code, so I'll own the bug. But I'm a bit confused by this. In what
sort of situation are we requiring the subreg built, and simplify_subreg is
rejecting the subreg as illegal?
Could you run the compiler with your patch, but instead of a call to
simplify_gen_subreg, call simplify_subreg (like below), but abort if it
returns NULL? And then see if it triggers within the gcc source tree or
something handy like that where it's legally easier to give me .i file?
If you can't find anything but spec to produce this, we'll work something
out, but I'm lazy and wanna try this the easy way first.
--
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |rth at gcc dot gnu dot org
|dot org |
Status|NEW |ASSIGNED
Last reconfirmed|2005-01-07 12:24:56 |2005-01-13 08:11:21
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19304
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug middle-end/19304] [4.0 Regression] wrong code for spec test from emit_move_change_mode
2005-01-06 23:37 [Bug middle-end/19304] New: wrong code for spec test from emit_move_change_mode janis187 at us dot ibm dot com
` (5 preceding siblings ...)
2005-01-13 8:11 ` rth at gcc dot gnu dot org
@ 2005-01-13 8:12 ` rth at gcc dot gnu dot org
2005-01-13 17:02 ` janis187 at us dot ibm dot com
` (7 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: rth at gcc dot gnu dot org @ 2005-01-13 8:12 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |WAITING
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19304
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug middle-end/19304] [4.0 Regression] wrong code for spec test from emit_move_change_mode
2005-01-06 23:37 [Bug middle-end/19304] New: wrong code for spec test from emit_move_change_mode janis187 at us dot ibm dot com
` (6 preceding siblings ...)
2005-01-13 8:12 ` rth at gcc dot gnu dot org
@ 2005-01-13 17:02 ` janis187 at us dot ibm dot com
2005-01-13 18:57 ` janis187 at us dot ibm dot com
` (6 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: janis187 at us dot ibm dot com @ 2005-01-13 17:02 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From janis187 at us dot ibm dot com 2005-01-13 17:02 -------
What does the "(like below)" in comment #4 refer to?
I can try to come up with a minimized test case if that's necessary, I just
didn't want to put the work into that if the problem was obvious.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19304
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug middle-end/19304] [4.0 Regression] wrong code for spec test from emit_move_change_mode
2005-01-06 23:37 [Bug middle-end/19304] New: wrong code for spec test from emit_move_change_mode janis187 at us dot ibm dot com
` (7 preceding siblings ...)
2005-01-13 17:02 ` janis187 at us dot ibm dot com
@ 2005-01-13 18:57 ` janis187 at us dot ibm dot com
2005-01-18 9:19 ` rth at gcc dot gnu dot org
` (5 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: janis187 at us dot ibm dot com @ 2005-01-13 18:57 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From janis187 at us dot ibm dot com 2005-01-13 18:57 -------
Never mind the question in the last comment, I've bootstrapped C with that
change and it aborts compiling the spec test. I'm doing more testing to find
a test for which I can post the .i file.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19304
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug middle-end/19304] [4.0 Regression] wrong code for spec test from emit_move_change_mode
2005-01-06 23:37 [Bug middle-end/19304] New: wrong code for spec test from emit_move_change_mode janis187 at us dot ibm dot com
` (8 preceding siblings ...)
2005-01-13 18:57 ` janis187 at us dot ibm dot com
@ 2005-01-18 9:19 ` rth at gcc dot gnu dot org
2005-01-18 20:35 ` rth at gcc dot gnu dot org
` (4 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: rth at gcc dot gnu dot org @ 2005-01-18 9:19 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
Status|WAITING |ASSIGNED
Last reconfirmed|2005-01-13 08:11:21 |2005-01-18 09:19:09
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19304
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug middle-end/19304] [4.0 Regression] wrong code for spec test from emit_move_change_mode
2005-01-06 23:37 [Bug middle-end/19304] New: wrong code for spec test from emit_move_change_mode janis187 at us dot ibm dot com
` (9 preceding siblings ...)
2005-01-18 9:19 ` rth at gcc dot gnu dot org
@ 2005-01-18 20:35 ` rth at gcc dot gnu dot org
2005-01-18 20:42 ` rth at gcc dot gnu dot org
` (3 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: rth at gcc dot gnu dot org @ 2005-01-18 20:35 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From rth at gcc dot gnu dot org 2005-01-18 20:35 -------
Can you attach the patch you used? I'm not replicating this.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19304
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug middle-end/19304] [4.0 Regression] wrong code for spec test from emit_move_change_mode
2005-01-06 23:37 [Bug middle-end/19304] New: wrong code for spec test from emit_move_change_mode janis187 at us dot ibm dot com
` (10 preceding siblings ...)
2005-01-18 20:35 ` rth at gcc dot gnu dot org
@ 2005-01-18 20:42 ` rth at gcc dot gnu dot org
2005-01-18 20:56 ` rth at gcc dot gnu dot org
` (2 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: rth at gcc dot gnu dot org @ 2005-01-18 20:42 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From rth at gcc dot gnu dot org 2005-01-18 20:42 -------
Nevermind, I got it. Yaye CCmode moves.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19304
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug middle-end/19304] [4.0 Regression] wrong code for spec test from emit_move_change_mode
2005-01-06 23:37 [Bug middle-end/19304] New: wrong code for spec test from emit_move_change_mode janis187 at us dot ibm dot com
` (11 preceding siblings ...)
2005-01-18 20:42 ` rth at gcc dot gnu dot org
@ 2005-01-18 20:56 ` rth at gcc dot gnu dot org
2005-01-20 4:18 ` cvs-commit at gcc dot gnu dot org
2005-01-20 4:22 ` rth at gcc dot gnu dot org
14 siblings, 0 replies; 16+ messages in thread
From: rth at gcc dot gnu dot org @ 2005-01-18 20:56 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |WAITING
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19304
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug middle-end/19304] [4.0 Regression] wrong code for spec test from emit_move_change_mode
2005-01-06 23:37 [Bug middle-end/19304] New: wrong code for spec test from emit_move_change_mode janis187 at us dot ibm dot com
` (12 preceding siblings ...)
2005-01-18 20:56 ` rth at gcc dot gnu dot org
@ 2005-01-20 4:18 ` cvs-commit at gcc dot gnu dot org
2005-01-20 4:22 ` rth at gcc dot gnu dot org
14 siblings, 0 replies; 16+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-01-20 4:18 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-01-20 04:18 -------
Subject: Bug 19304
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: rth@gcc.gnu.org 2005-01-20 04:18:08
Modified files:
gcc : ChangeLog expr.c
Log message:
PR middle-end/19304
* expr.c (emit_move_change_mode): New argument force; use
simplify_gen_subreg if true.
(emit_move_via_alt_mode): Merge into ...
(emit_move_via_integer): ... here.
(emit_move_ccmode): Use emit_move_change_mode directly.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.7193&r2=2.7194
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/expr.c.diff?cvsroot=gcc&r1=1.770&r2=1.771
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19304
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug middle-end/19304] [4.0 Regression] wrong code for spec test from emit_move_change_mode
2005-01-06 23:37 [Bug middle-end/19304] New: wrong code for spec test from emit_move_change_mode janis187 at us dot ibm dot com
` (13 preceding siblings ...)
2005-01-20 4:18 ` cvs-commit at gcc dot gnu dot org
@ 2005-01-20 4:22 ` rth at gcc dot gnu dot org
14 siblings, 0 replies; 16+ messages in thread
From: rth at gcc dot gnu dot org @ 2005-01-20 4:22 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From rth at gcc dot gnu dot org 2005-01-20 04:22 -------
Fixed.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|WAITING |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19304
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2005-01-20 4:22 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-01-06 23:37 [Bug middle-end/19304] New: wrong code for spec test from emit_move_change_mode janis187 at us dot ibm dot com
2005-01-06 23:39 ` [Bug middle-end/19304] " janis187 at us dot ibm dot com
2005-01-06 23:40 ` [Bug middle-end/19304] [4.0 Regression] " pinskia at gcc dot gnu dot org
2005-01-07 12:25 ` steven at gcc dot gnu dot org
2005-01-12 10:41 ` steven at gcc dot gnu dot org
2005-01-12 16:48 ` janis187 at us dot ibm dot com
2005-01-13 8:11 ` rth at gcc dot gnu dot org
2005-01-13 8:12 ` rth at gcc dot gnu dot org
2005-01-13 17:02 ` janis187 at us dot ibm dot com
2005-01-13 18:57 ` janis187 at us dot ibm dot com
2005-01-18 9:19 ` rth at gcc dot gnu dot org
2005-01-18 20:35 ` rth at gcc dot gnu dot org
2005-01-18 20:42 ` rth at gcc dot gnu dot org
2005-01-18 20:56 ` rth at gcc dot gnu dot org
2005-01-20 4:18 ` cvs-commit at gcc dot gnu dot org
2005-01-20 4:22 ` rth at gcc dot gnu dot org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).