public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug rtl-optimization/43484]  New: GCC 4.5 does not build gamess, zeusmp on powerpc -m32 with loop unrolling
@ 2010-03-22 20:10 meissner at gcc dot gnu dot org
  2010-03-22 20:12 ` [Bug rtl-optimization/43484] " meissner at gcc dot gnu dot org
                   ` (11 more replies)
  0 siblings, 12 replies; 13+ messages in thread
From: meissner at gcc dot gnu dot org @ 2010-03-22 20:10 UTC (permalink / raw)
  To: gcc-bugs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1242 bytes --]

If I build gamess and zeusmp with my normal spec optimization options, I get an
internal compiler error in the change_address_1 function in emit-rtl.c, due to
an address needing fixup has been generated after register allocation has been
done.  I have narrowed the options down to -m32 -mcpu=power4 -O2 -funroll-loops
that causes the problem.  I was able to build all of spec with the normal
options on March 3rd.

foo.f: In function ‘gcidav’:
foo.f:670:0: internal compiler error: in change_address_1, at emit-rtl.c:1912
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.


-- 
           Summary: GCC 4.5 does not build gamess, zeusmp on powerpc -m32
                    with loop unrolling
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: rtl-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: meissner at gcc dot gnu dot org
 GCC build triplet: powerpc64-unknown-linux-gnu
  GCC host triplet: powerpc64-unknown-linux-gnu
GCC target triplet: powerpc64-unknown-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43484


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

* [Bug rtl-optimization/43484] GCC 4.5 does not build gamess, zeusmp on powerpc -m32 with loop unrolling
  2010-03-22 20:10 [Bug rtl-optimization/43484] New: GCC 4.5 does not build gamess, zeusmp on powerpc -m32 with loop unrolling meissner at gcc dot gnu dot org
@ 2010-03-22 20:12 ` meissner at gcc dot gnu dot org
  2010-03-22 20:26 ` [Bug rtl-optimization/43484] [4.5 Regression] " pinskia at gcc dot gnu dot org
                   ` (10 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: meissner at gcc dot gnu dot org @ 2010-03-22 20:12 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from meissner at gcc dot gnu dot org  2010-03-22 20:11 -------
Created an attachment (id=20164)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20164&action=view)
Reduced function that causes the problem

To replicate this, use -m32 -O2 -mcpu=power4 -funroll-loops


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43484


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

* [Bug rtl-optimization/43484] [4.5 Regression] GCC 4.5 does not build gamess, zeusmp on powerpc -m32 with loop unrolling
  2010-03-22 20:10 [Bug rtl-optimization/43484] New: GCC 4.5 does not build gamess, zeusmp on powerpc -m32 with loop unrolling meissner at gcc dot gnu dot org
  2010-03-22 20:12 ` [Bug rtl-optimization/43484] " meissner at gcc dot gnu dot org
@ 2010-03-22 20:26 ` pinskia at gcc dot gnu dot org
  2010-03-22 20:49 ` pinskia at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2010-03-22 20:26 UTC (permalink / raw)
  To: gcc-bugs



-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |pinskia at gcc dot gnu dot
                   |                            |org
           Keywords|                            |ice-on-valid-code
            Summary|GCC 4.5 does not build      |[4.5 Regression] GCC 4.5
                   |gamess, zeusmp on powerpc - |does not build gamess,
                   |m32 with loop unrolling     |zeusmp on powerpc -m32 with
                   |                            |loop unrolling
   Target Milestone|---                         |4.5.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43484


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

* [Bug rtl-optimization/43484] [4.5 Regression] GCC 4.5 does not build gamess, zeusmp on powerpc -m32 with loop unrolling
  2010-03-22 20:10 [Bug rtl-optimization/43484] New: GCC 4.5 does not build gamess, zeusmp on powerpc -m32 with loop unrolling meissner at gcc dot gnu dot org
  2010-03-22 20:12 ` [Bug rtl-optimization/43484] " meissner at gcc dot gnu dot org
  2010-03-22 20:26 ` [Bug rtl-optimization/43484] [4.5 Regression] " pinskia at gcc dot gnu dot org
@ 2010-03-22 20:49 ` pinskia at gcc dot gnu dot org
  2010-03-22 21:02 ` meissner at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2010-03-22 20:49 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from pinskia at gcc dot gnu dot org  2010-03-22 20:49 -------
apinski@apinski-desktop:~/src/gcc-fsf/local/gcc/objdir-ppc/gcc$ ./gfortran -B.
t.f -S -m32 -mcpu=power4 -O2 -funroll-loops -v
Using built-in specs.
COLLECT_GCC=./gfortran
Target: powerpc64-linux-gnu
Configured with: ../configure --target=powerpc64-linux-gnu --enable-tls :
(reconfigured) 
Thread model: posix
gcc version 4.5.0 20100322 (experimental) [trunk revision 157646] (GCC) 
COLLECT_GCC_OPTIONS='-B.' '-S' '-m32' '-mcpu=power4' '-O2' '-funroll-loops'
'-v'
 ./f951 t.f -ffixed-form -quiet -dumpbase t.f -m32 -mcpu=power4 -auxbase t -O2
-version -funroll-loops -o t.s -fintrinsic-modules-path finclude
GNU Fortran (GCC) version 4.5.0 20100322 (experimental) [trunk revision 157646]
(powerpc64-linux-gnu)
        compiled by GNU C version 4.3.2, GMP version 4.3.2, MPFR version 2.4.2,
MPC version 0.8.1
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
GNU Fortran (GCC) version 4.5.0 20100322 (experimental) [trunk revision 157646]
(powerpc64-linux-gnu)
        compiled by GNU C version 4.3.2, GMP version 4.3.2, MPFR version 2.4.2,
MPC version 0.8.1
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
COMPILER_PATH=./
LIBRARY_PATH=./
COLLECT_GCC_OPTIONS='-B.' '-S' '-m32' '-mcpu=power4' '-O2' '-funroll-loops'
'-v'


This works for me with a cross, am I missing an option?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43484


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

* [Bug rtl-optimization/43484] [4.5 Regression] GCC 4.5 does not build gamess, zeusmp on powerpc -m32 with loop unrolling
  2010-03-22 20:10 [Bug rtl-optimization/43484] New: GCC 4.5 does not build gamess, zeusmp on powerpc -m32 with loop unrolling meissner at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2010-03-22 20:49 ` pinskia at gcc dot gnu dot org
@ 2010-03-22 21:02 ` meissner at gcc dot gnu dot org
  2010-03-22 21:04 ` pinskia at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: meissner at gcc dot gnu dot org @ 2010-03-22 21:02 UTC (permalink / raw)
  To: gcc-bugs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 762 bytes --]



------- Comment #3 from meissner at gcc dot gnu dot org  2010-03-22 21:02 -------
I just replicated on my x86_64 cross compiler:

bug-43484.f: In function ‘gcidav’:
bug-43484.f:670:0: internal compiler error: in change_address_1, at
emit-rtl.c:1912
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

I used the following configure options:
 --enable-languages=c,c++,fortran --enable-stage1-languages=c,c++,fortran
--disable-bootstrap --enable-checking=release --enable-stage1-checking
--enable-decimal-float --with-long-double-128 --enable-secureplt
--target=powerpc64-linux --disable-shared --disable-libssp --enable-lto


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43484


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

* [Bug rtl-optimization/43484] [4.5 Regression] GCC 4.5 does not build gamess, zeusmp on powerpc -m32 with loop unrolling
  2010-03-22 20:10 [Bug rtl-optimization/43484] New: GCC 4.5 does not build gamess, zeusmp on powerpc -m32 with loop unrolling meissner at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2010-03-22 21:02 ` meissner at gcc dot gnu dot org
@ 2010-03-22 21:04 ` pinskia at gcc dot gnu dot org
  2010-03-22 23:59 ` meissner at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2010-03-22 21:04 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from pinskia at gcc dot gnu dot org  2010-03-22 21:04 -------
>-with-long-double-128 --enable-secureplt

Those two options might cause the difference for me.  Let me reconfigure my
build and try again.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43484


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

* [Bug rtl-optimization/43484] [4.5 Regression] GCC 4.5 does not build gamess, zeusmp on powerpc -m32 with loop unrolling
  2010-03-22 20:10 [Bug rtl-optimization/43484] New: GCC 4.5 does not build gamess, zeusmp on powerpc -m32 with loop unrolling meissner at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2010-03-22 21:04 ` pinskia at gcc dot gnu dot org
@ 2010-03-22 23:59 ` meissner at gcc dot gnu dot org
  2010-03-23 13:42 ` [Bug target/43484] " rguenth at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: meissner at gcc dot gnu dot org @ 2010-03-22 23:59 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from meissner at gcc dot gnu dot org  2010-03-22 23:58 -------
Subversion id 157525 does not abort, while subversion id 157540 does abort.

The GCC changelog includes these changes:
2010-03-18  Steven Bosscher  <steven@gcc.gnu.org>
           Eric Botcazou  <ebotcazou@adacore.com>

       PR rtl-optimization/43360
       * loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL
       note if we don't know its invariant status.

2010-03-18  Michael Matz  <matz@suse.de>

       PR tree-optimization/43402
       * tree-cfgcleanup.c (cleanup_control_expr_graph): Don't follow
       PHI chains of ssa names registered for update.

2010-03-17  Peter Bergner  <bergner@vnet.ibm.com>

       PR target/42427
       * config/rs6000/rs6000.c (rs6000_split_multireg_move): Add support for
       non-offsettable and pre_modify update addressing.
       * config/rs6000/dfp.md (*movdd_hardfloat32): Make the "0", "1"
       and "2" alternatives "#".
       (*movdd_softfloat32): Make all alternatives "#";
       * config/rs6000/rs6000.md (DIFD): New define_mode_iterator.
       (*movdf_hardfloat32): Make the "0", "1" and "2" alternatives "#".
       (*movdf_softfloat32): Make all alternatives "#";
       (movdi): Use the new DIFD mode iterator to create a common splitter
       for movdi, movdf and movdd patterns.

2010-03-18  Shujing Zhao  <pearly.zhao@oracle.com>

       * common.opt (dumpdir): Remove redundant tab.

And the fortran Changelog includes:
2010-03-18  Shujing Zhao  <pearly.zhao@oracle.com>

       * lang.opt (-ffixed-line-length-, ffree-line-length-): Remove
       redundant tab.


more tomorrow.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43484


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

* [Bug target/43484] [4.5 Regression] GCC 4.5 does not build gamess, zeusmp on powerpc -m32 with loop unrolling
  2010-03-22 20:10 [Bug rtl-optimization/43484] New: GCC 4.5 does not build gamess, zeusmp on powerpc -m32 with loop unrolling meissner at gcc dot gnu dot org
                   ` (5 preceding siblings ...)
  2010-03-22 23:59 ` meissner at gcc dot gnu dot org
@ 2010-03-23 13:42 ` rguenth at gcc dot gnu dot org
  2010-03-23 15:10 ` meissner at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2010-03-23 13:42 UTC (permalink / raw)
  To: gcc-bugs



-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|rtl-optimization            |target
           Priority|P3                          |P1


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43484


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

* [Bug target/43484] [4.5 Regression] GCC 4.5 does not build gamess, zeusmp on powerpc -m32 with loop unrolling
  2010-03-22 20:10 [Bug rtl-optimization/43484] New: GCC 4.5 does not build gamess, zeusmp on powerpc -m32 with loop unrolling meissner at gcc dot gnu dot org
                   ` (6 preceding siblings ...)
  2010-03-23 13:42 ` [Bug target/43484] " rguenth at gcc dot gnu dot org
@ 2010-03-23 15:10 ` meissner at gcc dot gnu dot org
  2010-03-23 16:10 ` meissner at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: meissner at gcc dot gnu dot org @ 2010-03-23 15:10 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from meissner at gcc dot gnu dot org  2010-03-23 15:10 -------
The rs6000 change on 2010-03-17 is the culprit.  If I do a svn update for the
sandbox, and then do:
$ svn update -r157529 gcc/config/rs6000

There is no error.


-- 

meissner at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |bergner at vnet dot ibm dot
                   |dot org                     |com
             Status|UNCONFIRMED                 |ASSIGNED
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2010-03-23 15:10:01
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43484


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

* [Bug target/43484] [4.5 Regression] GCC 4.5 does not build gamess, zeusmp on powerpc -m32 with loop unrolling
  2010-03-22 20:10 [Bug rtl-optimization/43484] New: GCC 4.5 does not build gamess, zeusmp on powerpc -m32 with loop unrolling meissner at gcc dot gnu dot org
                   ` (7 preceding siblings ...)
  2010-03-23 15:10 ` meissner at gcc dot gnu dot org
@ 2010-03-23 16:10 ` meissner at gcc dot gnu dot org
  2010-03-23 23:43 ` meissner at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: meissner at gcc dot gnu dot org @ 2010-03-23 16:10 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from meissner at gcc dot gnu dot org  2010-03-23 16:10 -------
I forgot Peter was on vacation.  I'll take it.


-- 

meissner at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|bergner at vnet dot ibm dot |meissner at gcc dot gnu dot
                   |com                         |org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43484


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

* [Bug target/43484] [4.5 Regression] GCC 4.5 does not build gamess, zeusmp on powerpc -m32 with loop unrolling
  2010-03-22 20:10 [Bug rtl-optimization/43484] New: GCC 4.5 does not build gamess, zeusmp on powerpc -m32 with loop unrolling meissner at gcc dot gnu dot org
                   ` (8 preceding siblings ...)
  2010-03-23 16:10 ` meissner at gcc dot gnu dot org
@ 2010-03-23 23:43 ` meissner at gcc dot gnu dot org
  2010-03-24 18:00 ` meissner at gcc dot gnu dot org
  2010-03-24 21:12 ` meissner at gcc dot gnu dot org
  11 siblings, 0 replies; 13+ messages in thread
From: meissner at gcc dot gnu dot org @ 2010-03-23 23:43 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from meissner at gcc dot gnu dot org  2010-03-23 23:43 -------
I have tracked down the issue, and will submit a patch tomorrow after further
testing.  The issue is when a multi-word items is loaded to GPRS, and the
address is of the form (r0+reg), the compiler was using r0 as the base
register, which is not allowed in the powerpc architecture.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43484


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

* [Bug target/43484] [4.5 Regression] GCC 4.5 does not build gamess, zeusmp on powerpc -m32 with loop unrolling
  2010-03-22 20:10 [Bug rtl-optimization/43484] New: GCC 4.5 does not build gamess, zeusmp on powerpc -m32 with loop unrolling meissner at gcc dot gnu dot org
                   ` (9 preceding siblings ...)
  2010-03-23 23:43 ` meissner at gcc dot gnu dot org
@ 2010-03-24 18:00 ` meissner at gcc dot gnu dot org
  2010-03-24 21:12 ` meissner at gcc dot gnu dot org
  11 siblings, 0 replies; 13+ messages in thread
From: meissner at gcc dot gnu dot org @ 2010-03-24 18:00 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from meissner at gcc dot gnu dot org  2010-03-24 18:00 -------
Created an attachment (id=20187)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20187&action=view)
Patch to swap registers if first register is r0 in multi-word moves.

This patch fixes the problem in building the spec 2006 benchmarks zeusmp and
gamess on the powerpc that was introduced in the 2010-03-17 change to rs6000.c.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43484


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

* [Bug target/43484] [4.5 Regression] GCC 4.5 does not build gamess, zeusmp on powerpc -m32 with loop unrolling
  2010-03-22 20:10 [Bug rtl-optimization/43484] New: GCC 4.5 does not build gamess, zeusmp on powerpc -m32 with loop unrolling meissner at gcc dot gnu dot org
                   ` (10 preceding siblings ...)
  2010-03-24 18:00 ` meissner at gcc dot gnu dot org
@ 2010-03-24 21:12 ` meissner at gcc dot gnu dot org
  11 siblings, 0 replies; 13+ messages in thread
From: meissner at gcc dot gnu dot org @ 2010-03-24 21:12 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #10 from meissner at gcc dot gnu dot org  2010-03-24 21:12 -------
Patch checked in, subversion id  157709.


-- 

meissner at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43484


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

end of thread, other threads:[~2010-03-24 21:12 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-03-22 20:10 [Bug rtl-optimization/43484] New: GCC 4.5 does not build gamess, zeusmp on powerpc -m32 with loop unrolling meissner at gcc dot gnu dot org
2010-03-22 20:12 ` [Bug rtl-optimization/43484] " meissner at gcc dot gnu dot org
2010-03-22 20:26 ` [Bug rtl-optimization/43484] [4.5 Regression] " pinskia at gcc dot gnu dot org
2010-03-22 20:49 ` pinskia at gcc dot gnu dot org
2010-03-22 21:02 ` meissner at gcc dot gnu dot org
2010-03-22 21:04 ` pinskia at gcc dot gnu dot org
2010-03-22 23:59 ` meissner at gcc dot gnu dot org
2010-03-23 13:42 ` [Bug target/43484] " rguenth at gcc dot gnu dot org
2010-03-23 15:10 ` meissner at gcc dot gnu dot org
2010-03-23 16:10 ` meissner at gcc dot gnu dot org
2010-03-23 23:43 ` meissner at gcc dot gnu dot org
2010-03-24 18:00 ` meissner at gcc dot gnu dot org
2010-03-24 21:12 ` meissner 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).