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).