[Bug c/38416] c-parser.c puts pragma_kind as a 7 bit field, when 8 will generate better code

2008-12-05 Thread meissner at gcc dot gnu dot org


--- Comment #2 from meissner at gcc dot gnu dot org  2008-12-05 21:06 
---
Subject: Bug 38416

Author: meissner
Date: Fri Dec  5 21:05:14 2008
New Revision: 142493

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=142493
Log:
PR c/38416, make pragma_kind 8 bits

Modified:
trunk/gcc/ChangeLog
trunk/gcc/c-parser.c


-- 


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



[Bug tree-optimization/40049] Incorrect tree made for vector shifted by constant on powerpc, spu

2009-05-07 Thread meissner at gcc dot gnu dot org


--- Comment #8 from meissner at gcc dot gnu dot org  2009-05-07 21:19 
---
Subject: Bug 40049

Author: meissner
Date: Thu May  7 21:18:54 2009
New Revision: 147252

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=147252
Log:
Support vector rotates; Fix bug 40049 which caused runtime corruption; Allow
xxpermdi for all vector types; Fix xscvdpsp/xscvspdp; Optimize initialization
of float vectors

Modified:
branches/ibm/power7-meissner/gcc/ChangeLog.power7
branches/ibm/power7-meissner/gcc/config/rs6000/altivec.md
branches/ibm/power7-meissner/gcc/config/rs6000/rs6000-c.c
branches/ibm/power7-meissner/gcc/config/rs6000/rs6000.c
branches/ibm/power7-meissner/gcc/config/rs6000/rs6000.h
branches/ibm/power7-meissner/gcc/config/rs6000/vector.md
branches/ibm/power7-meissner/gcc/config/rs6000/vsx.md
branches/ibm/power7-meissner/gcc/tree-vect-stmts.c


-- 


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



[Bug tree-optimization/40049] Incorrect tree made for vector shifted by constant on powerpc, spu

2009-05-08 Thread meissner at gcc dot gnu dot org


--- Comment #10 from meissner at gcc dot gnu dot org  2009-05-08 22:39 
---
Subject: Bug 40049

Author: meissner
Date: Fri May  8 22:38:49 2009
New Revision: 147298

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=147298
Log:
Fix PR 40049

Added:
trunk/gcc/testsuite/gcc.dg/vect/vect-shift-2.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-vect-stmts.c


-- 


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



[Bug bootstrap/40118] cond-optab breaks powerpc bootstrap

2009-05-12 Thread meissner at gcc dot gnu dot org


--- Comment #1 from meissner at gcc dot gnu dot org  2009-05-12 12:52 
---
Subject: Bug 40118

Author: meissner
Date: Tue May 12 12:52:45 2009
New Revision: 147434

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=147434
Log:
Fix PR bootstrap/40118

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/rs6000.c


-- 


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



[Bug tree-optimization/40219] iterative_hash_expr in tree.c has an out of bound reference for machine specific builtins

2009-05-22 Thread meissner at gcc dot gnu dot org


--- Comment #2 from meissner at gcc dot gnu dot org  2009-05-22 21:51 
---
Subject: Bug 40219

Author: meissner
Date: Fri May 22 21:51:12 2009
New Revision: 147807

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=147807
Log:
Fix PR tree-optimization/40219

Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree.c


-- 


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



[Bug tree-optimization/40219] iterative_hash_expr in tree.c has an out of bound reference for machine specific builtins

2009-05-22 Thread meissner at gcc dot gnu dot org


--- Comment #3 from meissner at gcc dot gnu dot org  2009-05-22 22:09 
---
Created an attachment (id=17905)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17905&action=view)
This was the patch that was checked in.

Note, the original patch had the wrong ChangeLog.


-- 

meissner at gcc dot gnu dot org changed:

   What|Removed |Added

  Attachment #17898|0   |1
is obsolete||


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



[Bug tree-optimization/40219] iterative_hash_expr in tree.c has an out of bound reference for machine specific builtins

2009-05-22 Thread meissner at gcc dot gnu dot org


--- Comment #4 from meissner at gcc dot gnu dot org  2009-05-22 22:46 
---
Patch checked in svn revision 147806.


-- 

meissner at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug tree-optimization/40348] New: Powerpc spe segfaults in vectorizing powf (a[i], 0.5f)

2009-06-04 Thread meissner at gcc dot gnu dot org
 P3
 Component: tree-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: powerpc-spe-eabi


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



[Bug tree-optimization/40348] Powerpc spe segfaults in vectorizing powf (a[i], 0.5f)

2009-06-04 Thread meissner at gcc dot gnu dot org


--- Comment #1 from meissner at gcc dot gnu dot org  2009-06-04 21:19 
---
Created an attachment (id=17952)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17952&action=view)
Reduced test case

Compile with -O3 -ffast-math -mspe on a compiler configured for
powerpc-spe-eabi.


-- 


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



[Bug bootstrap/40597] New: Powerpc bootstrap is broken due to changes in expmed.c

2009-06-29 Thread meissner at gcc dot gnu dot org
On June 28th, the powerpc bootstrap was broken due to changes to expmed.c.  The
bootstrap dies when compiling libgcc.a as mentioned in:
http://gcc.gnu.org/ml/gcc-patches/2009-06/msg02180.html

emit_store_flag gets a GT test that it tries to convert to LE.  Inside the
recursive call, it then tries to convert the LE back to a GT test.  Eventually
the compiler runs out of stack space and dies.


-- 
   Summary: Powerpc bootstrap is broken due to changes in expmed.c
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: blocker
  Priority: P3
 Component: bootstrap
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=40597



[Bug bootstrap/40597] Powerpc bootstrap is broken due to changes in expmed.c

2009-06-29 Thread meissner at gcc dot gnu dot org


--- Comment #3 from meissner at gcc dot gnu dot org  2009-06-29 21:36 
---
Created an attachment (id=18097)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18097&action=view)
Proposed patch to fix the problem

This patch allows the powerpc64-gnu-linux system to boostrap once again.


-- 


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



[Bug bootstrap/40558] [4.5 Rgression] At revision 148962 bootstrap fails on powerpc-apple-darwin9

2009-07-01 Thread meissner at gcc dot gnu dot org


--- Comment #6 from meissner at gcc dot gnu dot org  2009-07-01 22:23 
---
Created an attachment (id=18114)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18114&action=view)
Patch to undo change that breaks darwin9

I'm adding the missing ChangeLog comments also.


-- 


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



[Bug bootstrap/40558] [4.5 Rgression] At revision 148962 bootstrap fails on powerpc-apple-darwin9

2009-07-01 Thread meissner at gcc dot gnu dot org


--- Comment #7 from meissner at gcc dot gnu dot org  2009-07-01 22:34 
---
Subject: Bug 40558

Author: meissner
Date: Wed Jul  1 22:34:26 2009
New Revision: 149155

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=149155
Log:
Fix PR 40558, undo part of June 25th patch

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/rs6000.c


-- 


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



[Bug boehm-gc/40785] New: Powerpc bootstrap is broken due to problems in boehm-gc

2009-07-17 Thread meissner at gcc dot gnu dot org
The test and set locks in boehm-gc/include/private/gc_locks.h have invalid asm
for creating the test and set locks and the current Powerpc GCC compiler
generates errors when enabling java in a bootstrap.

In addition, GCC 4.4 has added the __sync_lock_test_and_set and
__sync_lock_release builtins which abstract these functions, so the asm is not
needed for 4.4 and beyond.


-- 
   Summary: Powerpc bootstrap is broken due to problems in boehm-gc
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: critical
  Priority: P3
 Component: boehm-gc
AssignedTo: meissner at linux dot vnet dot ibm dot com
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=40785



[Bug boehm-gc/40785] Powerpc bootstrap is broken due to problems in boehm-gc

2009-07-17 Thread meissner at gcc dot gnu dot org


--- Comment #1 from meissner at gcc dot gnu dot org  2009-07-17 14:53 
---
Created an attachment (id=18213)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18213&action=view)
Patch to use sync builtins if we can, and fix asm constraints if we have an
older compiler


-- 


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



[Bug ada/40637] Ada bootstrap on powerpc64 ICE on stage3 s-bitops.o

2009-07-31 Thread meissner at gcc dot gnu dot org


--- Comment #6 from meissner at gcc dot gnu dot org  2009-07-31 22:01 
---
It is probably related to my powerpc power7 checkin starting with 148869.  It
may or may not be related to an issue I am looking at in that if you build the
compiler with altivec, it miscompiles the code, and 403.gcc in spec does not
run correctly.

Unfortunately, SUSE doesn't provide Gnu Ada for powerpc, which means I can't
build it on my normal systems.


-- 

meissner at gcc dot gnu dot org changed:

   What|Removed |Added

 CC|    |meissner at gcc dot gnu dot
   |        |org


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



[Bug testsuite/40671] [4.5 Regression] internal compiler error: in extract_insn, at recog.c:2089 on powerpc

2009-07-31 Thread meissner at gcc dot gnu dot org


--- Comment #1 from meissner at gcc dot gnu dot org  2009-07-31 22:03 
---
I suspect this may be related to a problem with building for altivec that I
noticed after checking in the first of the powerpc changes.  If possible, could
you rebuild the compiler with BOOT_CFLAGS='-g -O2 -mno-altivec' to see if that
is the problem.


-- 

meissner at gcc dot gnu dot org changed:

   What|Removed |Added

 CC|    |meissner at gcc dot gnu dot
   |        |org


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



[Bug target/37841] SPU compiler is not complaint with the ABI

2008-10-24 Thread meissner at gcc dot gnu dot org


--- Comment #1 from meissner at gcc dot gnu dot org  2008-10-24 23:46 
---
Subject: Bug 37841

Author: meissner
Date: Fri Oct 24 23:45:02 2008
New Revision: 141356

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=141356
Log:
PR target/37841: Fix SPU abi

Added:
trunk/gcc/testsuite/gcc.target/spu/abi.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/spu/spu.h
trunk/gcc/doc/tm.texi
trunk/gcc/function.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug testsuite/38025] [4.4 Regression] gcc.target/spu/intrinsics-1.c test fails

2008-11-05 Thread meissner at gcc dot gnu dot org


--- Comment #3 from meissner at gcc dot gnu dot org  2008-11-05 23:47 
---
Subject: Bug 38025

Author: meissner
Date: Wed Nov  5 23:45:36 2008
New Revision: 141628

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=141628
Log:
Fix PR 38025

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.target/spu/intrinsics-1.c


-- 


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



[Bug target/39457] [power7-meissner] unable to find a register to spill in class 'LINK_OR_CTR_REGS'

2009-03-13 Thread meissner at gcc dot gnu dot org


--- Comment #4 from meissner at gcc dot gnu dot org  2009-03-13 20:11 
---
Subject: Bug 39457

Author: meissner
Date: Fri Mar 13 20:11:19 2009
New Revision: 144846

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=144846
Log:
Fix pr 39457

Added:
branches/ibm/power7-meissner/gcc/testsuite/gcc.target/powerpc/pr39457.c
Modified:
branches/ibm/power7-meissner/gcc/ChangeLog.power7
branches/ibm/power7-meissner/gcc/config/rs6000/rs6000.c
branches/ibm/power7-meissner/gcc/config/rs6000/rs6000.opt
branches/ibm/power7-meissner/gcc/testsuite/ChangeLog.power7


-- 


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



[Bug driver/39293] -save-temps does not follow the -o option and instead puts the temp file in the current directory

2009-04-02 Thread meissner at gcc dot gnu dot org


--- Comment #4 from meissner at gcc dot gnu dot org  2009-04-02 20:45 
---
Subject: Bug 39293

Author: meissner
Date: Thu Apr  2 20:45:26 2009
New Revision: 145470

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=145470
Log:
[PATCH, committed] Add -save-temps=obj, PR 39293

Modified:
trunk/gcc/ChangeLog
trunk/gcc/doc/invoke.texi
trunk/gcc/gcc.c


-- 


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



[Bug testsuite/39769] vmx tests fail due to reliance on floating point equality

2009-04-14 Thread meissner at gcc dot gnu dot org


--- Comment #2 from meissner at gcc dot gnu dot org  2009-04-14 22:56 
---
Subject: Bug 39769

Author: meissner
Date: Tue Apr 14 22:55:52 2009
New Revision: 146068

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=146068
Log:
PR testsuite/39769

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/vmx/3a-04.c
trunk/gcc/testsuite/gcc.dg/vmx/3a-04m.c
trunk/gcc/testsuite/gcc.dg/vmx/3a-05.c


-- 


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



[Bug testsuite/39769] vmx tests fail due to reliance on floating point equality

2009-04-14 Thread meissner at gcc dot gnu dot org


--- Comment #3 from meissner at gcc dot gnu dot org  2009-04-14 22:57 
---
Subject: Bug 39769

Author: meissner
Date: Tue Apr 14 22:56:52 2009
New Revision: 146070

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=146070
Log:
PR testsuite/39769

Modified:
branches/ibm/power7-meissner/gcc/testsuite/ChangeLog.power7
branches/ibm/power7-meissner/gcc/testsuite/gcc.dg/vmx/3a-04.c
branches/ibm/power7-meissner/gcc/testsuite/gcc.dg/vmx/3a-04m.c
branches/ibm/power7-meissner/gcc/testsuite/gcc.dg/vmx/3a-05.c


-- 


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



[Bug testsuite/39769] vmx tests fail due to reliance on floating point equality

2009-04-14 Thread meissner at gcc dot gnu dot org


--- Comment #4 from meissner at gcc dot gnu dot org  2009-04-14 22:58 
---
Subject: Bug 39769

Author: meissner
Date: Tue Apr 14 22:57:51 2009
New Revision: 146071

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=146071
Log:
PR testsuite/39769

Modified:
branches/ibm/gcc-4_3-branch/gcc/testsuite/ChangeLog
branches/ibm/gcc-4_3-branch/gcc/testsuite/gcc.dg/vmx/3a-04.c
branches/ibm/gcc-4_3-branch/gcc/testsuite/gcc.dg/vmx/3a-04m.c
branches/ibm/gcc-4_3-branch/gcc/testsuite/gcc.dg/vmx/3a-05.c


-- 


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



[Bug tree-optimization/39955] [4.5 Regression] struct-layout-1 test failures passing struct containing _Decimal32

2009-04-30 Thread meissner at gcc dot gnu dot org


--- Comment #13 from meissner at gcc dot gnu dot org  2009-04-30 22:00 
---
Subject: Bug 39955

Author: meissner
Date: Thu Apr 30 21:59:49 2009
New Revision: 147021

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=147021
Log:
fix for PR 39955

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/rs6000.c


-- 


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



[Bug testsuite/39776] FAIL: g++.dg/ext/altivec-15.C

2009-08-21 Thread meissner at gcc dot gnu dot org


-- 

meissner at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |meissner at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2009-04-21 17:15:06 |2009-08-21 22:15:05
   date||


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



[Bug target/41145] New: My VSX changes broke gcc.dg/dfp/altivec-types.c

2009-08-21 Thread meissner at gcc dot gnu dot org
My VSX changes broke reporting of some error messages, such as __vector
_Decimal128 unless -mvsx was used.


-- 
   Summary: My VSX changes broke gcc.dg/dfp/altivec-types.c
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: meissner 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=41145



[Bug target/41145] My VSX changes broke gcc.dg/dfp/altivec-types.c

2009-08-21 Thread meissner at gcc dot gnu dot org


--- Comment #1 from meissner at gcc dot gnu dot org  2009-08-21 22:47 
---
Created an attachment (id=18410)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18410&action=view)
Restore error messages broken by VSX changes


-- 


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



[Bug testsuite/40671] [4.5 Regression] internal compiler error: in extract_insn, at recog.c:2089 on powerpc

2009-08-21 Thread meissner at gcc dot gnu dot org


--- Comment #5 from meissner at gcc dot gnu dot org  2009-08-21 22:48 
---
Created an attachment (id=18411)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18411&action=view)
Use correct target test to size pointers.


-- 


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



[Bug target/41210] ICE with vsx_movv2df

2009-09-09 Thread meissner at gcc dot gnu dot org


--- Comment #1 from meissner at gcc dot gnu dot org  2009-09-09 22:57 
---
Created an attachment (id=18557)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18557&action=view)
Patch to require vector addresses for GPRs to be a single register


-- 


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



[Bug target/41331] New: __builtin_bswap64 generates incorrect code for -m32 -mpowerpc64

2009-09-10 Thread meissner at gcc dot gnu dot org
The bswapdi code introduced on July 31st causes a segmentation fault in the
compiler if -m32 and -mpowerpc64 are used:

--> gdb cc1
GNU gdb (GDB; SUSE Linux Enterprise 11) 6.8.50.20081120-cvs
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "ppc64-suse-linux".
For bug reporting instructions, please see:
<http://bugs.opensuse.org/>...
Breakpoint 1 at 0x101bd55c: file /home/meissner/fsf-src/trunk/gcc/diagnostic.c,
line 728.
Breakpoint 2 at 0x101be118: file /home/meissner/fsf-src/trunk/gcc/diagnostic.c,
line 673.
Breakpoint 3 at 0x108cb460
Breakpoint 4 at 0x108cb4b0
(gdb) r -O2 -quiet -m32 -mpowerpc64 bswap64-4.c
Starting program: /data2/meissner/fsf-build-ppc64/trunk-2009-09-09/gcc/cc1 -O2
-quiet -m32 -mpowerpc64 bswap64-4.c

Program received signal SIGSEGV, Segmentation fault.
gen_bswapsi2 (operand0=0x0, operand1=0x442dfa0) at
/home/meissner/fsf-src/trunk/gcc/config/rs6000/rs6000.md:2350
2350  if (!REG_P (operands[0]) && !REG_P (operands[1]))
(gdb)


-- 
   Summary: __builtin_bswap64 generates incorrect code for -m32 -
mpowerpc64
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
         Component: target
AssignedTo: meissner 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=41331



[Bug target/41331] __builtin_bswap64 generates incorrect code for -m32 -mpowerpc64

2009-09-10 Thread meissner at gcc dot gnu dot org


--- Comment #1 from meissner at gcc dot gnu dot org  2009-09-10 16:37 
---
Created an attachment (id=18563)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18563&action=view)
Fix thinkos with -m32 -mpowerpc64, add new testcase


-- 


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



[Bug target/41210] ICE with vsx_movv2df

2009-09-14 Thread meissner at gcc dot gnu dot org


--- Comment #2 from meissner at gcc dot gnu dot org  2009-09-14 16:59 
---
Subject: Bug 41210

Author: meissner
Date: Mon Sep 14 16:59:12 2009
New Revision: 151691

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=151691
Log:
Fix PR 41210 & 41331 on powerpc

Added:
trunk/gcc/testsuite/gcc.target/powerpc/bswap64-4.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/rs6000.c
trunk/gcc/config/rs6000/rs6000.md
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug bootstrap/41626] New: GCC does not bootstrap on powerpc64

2009-10-07 Thread meissner at gcc dot gnu dot org
GCC does not bootstrap on powerpc64.  It fails in the 2nd stage, when it links
build/gensupport.o.  On the powerpc, the statements:

static struct obstack obstack;
struct obstack *rtl_obstack = &obstack;

On the powerpc generate a reference to an unknown external 'obstack', while on
the x86_64, it generates 'obstack' as a bss item.  The option
-fkeep-static-consts does not help the issue.


-- 
   Summary: GCC does not bootstrap on powerpc64
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: blocker
  Priority: P3
 Component: bootstrap
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=41626



[Bug bootstrap/41626] GCC does not bootstrap on powerpc64

2009-10-07 Thread meissner at gcc dot gnu dot org


--- Comment #1 from meissner at gcc dot gnu dot org  2009-10-07 21:14 
---
Created an attachment (id=18746)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18746&action=view)
Simplified test case that fails on the powerpc.


-- 


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



[Bug bootstrap/41626] [4.5 Regression] GCC does not bootstrap on powerpc64

2009-10-07 Thread meissner at gcc dot gnu dot org


--- Comment #2 from meissner at gcc dot gnu dot org  2009-10-07 22:00 
---
Subversion revision 152520 is the revision that breaks this.

The change in question is:
009-10-07  Jan Hubicka  

* lto-symtab.c (lto_cgraph_replace_node): Assert that inline clones has
no address taken.


-- 


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



[Bug middle-end/41626] [4.5 Regression] GCC does not bootstrap on powerpc64

2009-10-08 Thread meissner at gcc dot gnu dot org


--- Comment #8 from meissner at gcc dot gnu dot org  2009-10-08 18:59 
---
Created an attachment (id=18754)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18754&action=view)
Patch that fixes the powerpc bootstrap problem.

This is the patch that I checked in that came from Jan Hubicka.


-- 


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



[Bug middle-end/41626] [4.5 Regression] GCC does not bootstrap on powerpc64

2009-10-08 Thread meissner at gcc dot gnu dot org


--- Comment #9 from meissner at gcc dot gnu dot org  2009-10-08 19:00 
---
Patch checked into mainline, subversion id 152569.


-- 

meissner at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug testsuite/41701] New: scan-assembler-not has false positives

2009-10-13 Thread meissner at gcc dot gnu dot org
The scan-assembler-not should skip strings inside of .ident directives.  I have
a branch that I use for power7 development, power7-meissner.  In that branch, I
set the REVISION file to indicate that this is a branch.  Currently it is set
to:
[ibm/power7-meissner, mainline revision 152572]

This revision string gets put in the .ident section, which causes the test
gcc.dg/builtins-58.c to fail, because it has the directive:
/* scan-assembler-not pow */

It is a minor thing, but I'm sure somebody else will trigger it eventually.


-- 
   Summary: scan-assembler-not has false positives
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: testsuite
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: meissner at gcc dot gnu dot org
 GCC build triplet: powerpc64-linux-gnu
  GCC host triplet: powerpc64-linux-gnu
GCC target triplet: powerpc64-linux-gnu


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



[Bug target/41787] New: Power7 code violates ABI

2009-10-21 Thread meissner at gcc dot gnu dot org
The power7 code that was added in July, violates the powerpc ABI in two ways
due to the floating point registers overlap with the VSX registers.

1) HARD_REGNO_CALL_PART_CLOBBERED was not adjusted to disallow VSX registers
0..31 which overlap with the floating point registers to be live across
function calls.  Thus the compiler might think that a VSX register might be
preserved across a call, when only the first double word will be.  The Spec
2006 tests dealII, calculix, and GemsFDTD fail when compiled for vsx with some
compiler options.

2) The VRSAVE register is not set if a function uses VSX registers that overlap
with the floating point registers, because the register is only 32-bit and does
not have room to indicate additional vector registers that overlap with
floating point registers.  The new ABI says that the VRSAVE only has to be
non-zero if vector registers are used.

I have patches for both of these problems that I am currently looking at.


-- 
   Summary: Power7 code violates ABI
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: target
AssignedTo: meissner 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=41787



[Bug target/41787] Power7 code violates ABI

2009-10-22 Thread meissner at gcc dot gnu dot org


--- Comment #1 from meissner at gcc dot gnu dot org  2009-10-22 21:53 
---
Created an attachment (id=18872)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18872&action=view)
Patch to fix both problems in 41787


-- 


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



[Bug target/43154] New: vec_mergel and vec_mergeh should support V2DF/V2DI

2010-02-23 Thread meissner at gcc dot gnu dot org
The documentation says that vec_mergel and vec_mergeh are supported for the
vector double and vector long long types when the VSX instruction set is used,
unfortunately it was never implemented in the compiler.


-- 
   Summary: vec_mergel and vec_mergeh should support V2DF/V2DI
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: meissner 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=43154



[Bug target/43154] vec_mergel and vec_mergeh should support V2DF/V2DI

2010-02-23 Thread meissner at gcc dot gnu dot org


--- Comment #1 from meissner at gcc dot gnu dot org  2010-02-23 22:42 
---
Created an attachment (id=19941)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19941&action=view)
Patch to add vector merge low/high for V2DF/V2DI


-- 


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



[Bug middle-end/28752] bootstrap comparision fails with "-ftree-vectorize -maltivec" on ppc

2010-02-24 Thread meissner at gcc dot gnu dot org


--- Comment #36 from meissner at gcc dot gnu dot org  2010-02-25 04:59 
---
I've tested the current GCC 4.5 development branch and it builds fine now with
BOOT_CFLAGS='-g -O3 -ftree-vectorize -mcpu=power5 -maltivec'.  It also builds
with BOOT_CFLAGS='-g -O3 -ftree-vectorize -mcpu=power7'.  I also built the
current 4.4 branch with altivec, and it bootstrapped fine without problem.

Given this was reported in 2006, I suspect the fixes discussed in the thread
have long since been applied to the compiler.  So, I'm closing the bug.


-- 

meissner at gcc dot gnu dot org changed:

   What|Removed |Added

 CC|                        |meissner at gcc dot gnu dot
   |    |org
 Status|UNCONFIRMED |RESOLVED
 Resolution||WORKSFORME


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



[Bug target/23983] the altivec builtins should be marked as pure/const

2010-02-25 Thread meissner at gcc dot gnu dot org


--- Comment #8 from meissner at gcc dot gnu dot org  2010-02-25 20:03 
---
Patches checked in on October 15th, 2009 to properly set pure/const.


-- 

meissner at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||meissner at gcc dot gnu dot
   ||org
 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug target/43154] vec_mergel and vec_mergeh should support V2DF/V2DI

2010-02-25 Thread meissner at gcc dot gnu dot org


--- Comment #2 from meissner at gcc dot gnu dot org  2010-02-25 18:25 
---
Subject: Bug 43154

Author: meissner
Date: Thu Feb 25 18:25:26 2010
New Revision: 157069

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=157069
Log:
Fix PR target/43154

Added:
branches/ibm/power7-meissner/gcc/testsuite/gcc.target/powerpc/pr43154.c
Modified:
branches/ibm/power7-meissner/gcc/ChangeLog.power7
branches/ibm/power7-meissner/gcc/config/rs6000/rs6000-builtin.def
branches/ibm/power7-meissner/gcc/config/rs6000/rs6000-c.c
branches/ibm/power7-meissner/gcc/config/rs6000/rs6000.c
branches/ibm/power7-meissner/gcc/config/rs6000/vector.md
branches/ibm/power7-meissner/gcc/testsuite/ChangeLog.power7


-- 


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



[Bug target/41145] My VSX changes broke gcc.dg/dfp/altivec-types.c

2010-02-25 Thread meissner at gcc dot gnu dot org


--- Comment #2 from meissner at gcc dot gnu dot org  2010-02-25 21:29 
---
Patch checked in on August 21, 2009.


-- 

meissner at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug target/43154] vec_mergel and vec_mergeh should support V2DF/V2DI

2010-02-25 Thread meissner at gcc dot gnu dot org


--- Comment #3 from meissner at gcc dot gnu dot org  2010-02-25 22:27 
---
Subject: Bug 43154

Author: meissner
Date: Thu Feb 25 22:26:55 2010
New Revision: 157074

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=157074
Log:
Fix PR target/43154

Added:
trunk/gcc/testsuite/gcc.target/powerpc/pr43154.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/rs6000-builtin.def
trunk/gcc/config/rs6000/rs6000-c.c
trunk/gcc/config/rs6000/rs6000.c
trunk/gcc/config/rs6000/vector.md
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug tree-optimization/42286] October 23rd change to tree-ssa-pre.c breaks calculix on powerpc with -ffast-math

2010-03-03 Thread meissner at gcc dot gnu dot org


--- Comment #12 from meissner at gcc dot gnu dot org  2010-03-03 23:01 
---
As I said in the last bug entry, I have convinced myself that the compiler is
correct, and that the bug is caused by using -ffast-math when compiling, but
the atan2 library function supporting full IEEE semantics, including -0.0.


-- 

meissner at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||INVALID


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



[Bug bootstrap/43299] New: Subversion id 157264 breaks powerpc 64-bit bootstraps

2010-03-08 Thread meissner at gcc dot gnu dot org
Unless you use BOOT_CFLAGS='-g -O2 -fno-var-tracking', the change Jakub made on
March 7th, 2010 breaks the powerpc 64-bit bootstrap.

Here is the error message:
/tmp/cckGWIfy.s: Assembler messages:
/tmp/cckGWIfy.s:117666: Error: junk at end of line, first unrecognized
character is `@'
/tmp/cckGWIfy.s:117685: Error: junk at end of line, first unrecognized
character is `@'
/tmp/cckGWIfy.s:117813: Error: junk at end of line, first unrecognized
character is `@'
/tmp/cckGWIfy.s:117832: Error: junk at end of line, first unrecognized
character is `@'
make[3]: *** [rs6000.o] Error 1

The problem is inside of the dwarf debugging output, is:
.LLST430:
.8byte  .LVL1149-.Ltext0
.8byte  .LVL1154-.Ltext0
.2byte  0x2
.byte   0x30
.byte   0x9f
.8byte  .LVL1154-.Ltext0
.8byte  .LVL1155-.Ltext0
.2byte  0x9
.byte   0x3
.8byte  .LC355
.8byte  .LVL1155-.Ltext0
.8byte  .LVL1156-1-.Ltext0
.2byte  0xd
.byte   0x71
.sleb128 40
.byte   0x6
.byte   0x3
.8byte  .lc...@toc

The .8byte directive is not expecting a TOC reference.  Here is the definition
of .LC355:
.section".toc","aw"
.LC354:
.tc gen_load_locked_si[TC],gen_load_locked_si
.LC355:
.tc gen_load_locked_di[TC],gen_load_locked_di


-- 
   Summary: Subversion id 157264 breaks powerpc 64-bit bootstraps
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: blocker
  Priority: P3
 Component: bootstrap
AssignedTo: jakub at redhat dot com
    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=43299



[Bug bootstrap/43299] [4.5 Regression] Subversion id 157264 breaks powerpc 64-bit bootstraps

2010-03-09 Thread meissner at gcc dot gnu dot org


--- Comment #8 from meissner at gcc dot gnu dot org  2010-03-09 23:14 
---
Yes, it appears fixed here as well.  Thanks.


-- 


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



[Bug middle-end/42431] [4.5 Regression] wrong code for 200.sixtrack with vectorization and -fdata-sections

2010-03-11 Thread meissner at gcc dot gnu dot org


--- Comment #14 from meissner at gcc dot gnu dot org  2010-03-11 20:11 
---
Created an attachment (id=20090)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20090&action=view)
Patch to remove band-aid now that the underlying problem was fixed

In doing the initial VSX development, I ran into a situation in building spec
2006, that ultimately was caused by the bug in 42431.  I added some band-aid
code to make sure the problem was not seen.  After Jeff's patches were checked
in, I deleted the code, and built spec 2006 with several different options, and
the code built/ran correctly.  So this is no longer needed.


-- 


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



[Bug rtl-optimization/43413] New: Powerpc generates worse code for -mvsx on gromacs even though there are no VSX instructions used

2010-03-17 Thread meissner at gcc dot gnu dot org
The powerpc64-unknown-linux-gnu compiler generates much worse code on the
inl1130 function in the gromacs benchmark from spec 2006 when compiling for the
VSX instruction set with -mcpu=power7 (or -mvsx).  The code in question in not
vectorizable, and in fact only uses integer and single precision floating
point.

Just to be clear, the powerpc architecture originally had two sets of registers
(FLOAT_REGS for scalar floating point registers and ALTIVEC_REGS for vector
single precision/int registers).  The VSX addition to the architecture adds a
new set of scalar/vector instructions that can use registers from either
register set.  So, in the VSX work, I added a new register class (VSX_REGS)
that is the union of the two register classes, and changed
TARGET_IRA_COVER_CLASSES to return a cover class that returns VSX_REGS in the
VSX case, and FLOAT_REGS/ALTIVEC_REGS in the traditional case.

In the enclosed test case, it generates the following spills for the options:
-O3 -ffast-math -mcpu=power7 -mvsx -maltivec: 117 stfs, 139 lfs
-O3 -ffast-math -mcpu=power5 -maltivec: 80 stfs, 100 lfs
-O3 -ffast-math -mcpu=power5: 80 stfs, 100 lfs

Now, if I enable -fno-ira-share-spill-slots, it gets somewhat better, though
obviously it uses more stack space because it can't resuse the spill stack
slots:
-O3 -ffast-math -mcpu=power7 -mvsx -maltivec -fno-ira-share-spill-slots: 102
stfs, 111 lfs

If I don't change the IRA cover class, gromacs generates the same code, but
other benchmarks that do use 64 registers won't compile correctly.


-- 
   Summary: Powerpc generates worse code for -mvsx on gromacs even
though there are no VSX instructions used
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  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=43413



[Bug rtl-optimization/43413] Powerpc generates worse code for -mvsx on gromacs even though there are no VSX instructions used

2010-03-17 Thread meissner at gcc dot gnu dot org


--- Comment #1 from meissner at gcc dot gnu dot org  2010-03-17 22:35 
---
Created an attachment (id=20134)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20134&action=view)
Test case from the gromacs benchmark


-- 


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



[Bug rtl-optimization/43413] Powerpc generates worse code for -mvsx on gromacs even though there are no VSX instructions used

2010-03-17 Thread meissner at gcc dot gnu dot org


--- Comment #2 from meissner at gcc dot gnu dot org  2010-03-17 22:37 
---
Created an attachment (id=20135)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20135&action=view)
Bzip2 tar file of the assembly output for altivec, vsx, scalar, and no-spill


-- 


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



[Bug rtl-optimization/43413] Powerpc generates worse code for -mvsx on gromacs even though there are no VSX instructions used

2010-03-17 Thread meissner at gcc dot gnu dot org


--- Comment #3 from meissner at gcc dot gnu dot org  2010-03-17 22:38 
---
Created an attachment (id=20136)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20136&action=view)
Bzip2 tar file of the ira dump output for altivec, vsx, scalar, and no-spill


-- 


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



[Bug rtl-optimization/43484] New: GCC 4.5 does not build gamess, zeusmp on powerpc -m32 with loop unrolling

2010-03-22 Thread meissner at gcc dot gnu dot org
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



[Bug rtl-optimization/43484] GCC 4.5 does not build gamess, zeusmp on powerpc -m32 with loop unrolling

2010-03-22 Thread meissner at gcc dot gnu dot org


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



[Bug rtl-optimization/43484] [4.5 Regression] GCC 4.5 does not build gamess, zeusmp on powerpc -m32 with loop unrolling

2010-03-22 Thread meissner at gcc dot gnu dot org


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



[Bug rtl-optimization/43484] [4.5 Regression] GCC 4.5 does not build gamess, zeusmp on powerpc -m32 with loop unrolling

2010-03-22 Thread meissner at gcc dot gnu dot org


--- 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  
   Eric Botcazou  

   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  

   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  

   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  

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

And the fortran Changelog includes:
2010-03-18  Shujing Zhao  

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


more tomorrow.


-- 


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



[Bug target/43484] [4.5 Regression] GCC 4.5 does not build gamess, zeusmp on powerpc -m32 with loop unrolling

2010-03-23 Thread meissner at gcc dot gnu dot org


--- 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|-00-00 00:00:00 |2010-03-23 15:10:01
   date||


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



[Bug target/43484] [4.5 Regression] GCC 4.5 does not build gamess, zeusmp on powerpc -m32 with loop unrolling

2010-03-23 Thread meissner at gcc dot gnu dot org


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



[Bug rtl-optimization/43413] Powerpc generates worse code for -mvsx on gromacs even though there are no VSX instructions used

2010-03-23 Thread meissner at gcc dot gnu dot org


--- Comment #12 from meissner at gcc dot gnu dot org  2010-03-23 23:40 
---
This reduces the spills, and brings the performance backs up.  I'm closing the
bug.  Thanks.


-- 

meissner at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug target/43484] [4.5 Regression] GCC 4.5 does not build gamess, zeusmp on powerpc -m32 with loop unrolling

2010-03-23 Thread meissner at gcc dot gnu dot org


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



[Bug target/43484] [4.5 Regression] GCC 4.5 does not build gamess, zeusmp on powerpc -m32 with loop unrolling

2010-03-24 Thread meissner at gcc dot gnu dot org


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



[Bug target/43484] [4.5 Regression] GCC 4.5 does not build gamess, zeusmp on powerpc -m32 with loop unrolling

2010-03-24 Thread meissner at gcc dot gnu dot org


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



[Bug tree-optimization/43544] New: TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION can misoptimize when MD builtins overlap with standard builtins

2010-03-26 Thread meissner at gcc dot gnu dot org
I was looking at the rs6000_builtin_vectorized_function and noticed that it
takes an integer that gives the builtin function index.  Unfortunately on the
powerpc and cell architectures, the builtin function id overlaps with the
system builtins, and you need to look at the builtin class before using the
builtin index.

This can be fixed in two ways, vectorizable_function in tree-vect-stmts.c can
add a check for DECL_BUILT_IN_CLASS (fndecl) == BUILT_IN_NORMAL or the two
ports that use the hook (i386, rs6000) can be modified to take a tree instead
of the integer.  I tend to think the later is preferable, because it would
allow a MD scalar builtin to be vectorized.


-- 
   Summary: TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION can
misoptimize when MD builtins overlap with standard
builtins
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: meissner 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=43544



[Bug tree-optimization/43544] TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION can misoptimize when MD builtins overlap with standard builtins

2010-03-26 Thread meissner at gcc dot gnu dot org


--- Comment #1 from meissner at gcc dot gnu dot org  2010-03-26 18:37 
---
Created an attachment (id=20216)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20216&action=view)
Patch to change hook to take tree as argument, not integer.

This patch fixes the hook to take a tree, and fixes the two ports (i386,
rs6000) to adjust their hook.


-- 


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



[Bug tree-optimization/43544] TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION can misoptimize when MD builtins overlap with standard builtins

2010-03-27 Thread meissner at gcc dot gnu dot org


--- Comment #3 from meissner at gcc dot gnu dot org  2010-03-27 10:27 
---
Subject: Bug 43544

Author: meissner
Date: Sat Mar 27 10:27:39 2010
New Revision: 157770

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=157770
Log:
PR 43544, change TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION to take a tree
argument

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.c
trunk/gcc/config/rs6000/rs6000.c
trunk/gcc/doc/tm.texi
trunk/gcc/target.h
trunk/gcc/targhooks.c
trunk/gcc/targhooks.h
trunk/gcc/tree-vect-stmts.c


-- 


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



[Bug middle-end/42694] Compiler could optimize pow (x, 0.75) into sqrt (x) * sqrt (sqrt (x))

2010-04-14 Thread meissner at gcc dot gnu dot org


--- Comment #6 from meissner at gcc dot gnu dot org  2010-04-14 15:02 
---
Subject: Bug 42694

Author: meissner
Date: Wed Apr 14 15:01:40 2010
New Revision: 158346

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=158346
Log:
PR 42694: Optimize pow (x, 0.25), pow (x, 0.75), pow (x, 1./6.)

Modified:
trunk/gcc/ChangeLog
trunk/gcc/builtins.c


-- 


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



[Bug middle-end/42694] Compiler could optimize pow (x, 0.75) into sqrt (x) * sqrt (sqrt (x))

2010-04-14 Thread meissner at gcc dot gnu dot org


--- Comment #7 from meissner at gcc dot gnu dot org  2010-04-14 15:03 
---
Fixed with subversion id 158346.


-- 

meissner at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug tree-optimization/42286] New: October 23rd change to tree-ssa-pre.c breaks calculix on powerpc with -ffast-math

2009-12-04 Thread meissner at gcc dot gnu dot org
The October 23rd, 2009 change to tree-ssa-pre.c breaks calculix on powerpc with
-ffast-math.  When you start up the benchmark with reference input, it fails
almost immediately because the calculations don't converge.

At this point, I don't have a narrowed down test case, but the following
change:

2009-10-23  Richard Guenther  

PR tree-optimization/41778
* tree-ssa-pre.c (do_regular_insertion): Only insert if a
redundancy along a path in the CFG we want to optimize for speed
is going to be removed.
(execute_pre): Do partial-PRE only if the function is to be
optimized for speed.
(gate_pre): Do not turn off all of PRE when not optimizing a
function for speed.

Now prevents the spec 2006 calculix benchmark from running if calculix was
built with -ffast-math.  The change is due to the special code in rs6000.md
(and mips.md) for optimizing negative multiply and add and negative multiply
and subtract optimizations with -fno-signed-zeros is used (which is set with
-ffast-math).

If I undo this one change in a local compiler, it builds and runs fine at full
speed.

If I disable the negative multiply and subtract operation from the the machine
description, it runs fine, but at about 1/2 speed.  Similarly if I disable
-ffast-math, it runs fine, but at 1/2 speed.

If I use the -fno-tree-pre option to disable the PRE pass, it fails.


-- 
   Summary: October 23rd change to tree-ssa-pre.c breaks calculix on
powerpc with -ffast-math
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-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=42286



[Bug rtl-optimization/42694] New: Compiler could optimize pow (x, 0.75) into sqrt (x) * sqrt (sqrt (x))

2010-01-11 Thread meissner at gcc dot gnu dot org
Right now, the compiler has no special code to optimize pow (x, 0.75) into
something like sqrt (x) * sqrt (sqrt (x)) under -ffast-math, nor pow (x, 0.25)
into sqrt (sqrt (x)).  On machines with a builtin sqrt instruction, it is often
times faster to do the calculations using sqrt than calling the pow function. 
In particular, x**0.75 shows up in the bwaves spec 2006 benchmark.

For sqrt (sqrt (x)) vs pow (x, 0.25), I see:
IBM power6: 9.2 times faster
Intel core2 laptop: 5 times faster
AMD K8 system: 3.2 times faster

For sqrt (x) * sqrt (sqrt (x)) vs. pow (x, 0.75), I see:
IBM power6: 6.1 times faster
Intel core2 laptop: 3.4 times faster
AMD K8 system: 2.3 times faster

In addition, the compiler optimizes sqrt (sqrt (x)) into pow (x, 0.25), and
similar optimizations.

This should be fixed by adding a hook to say what the relative speed of sqrt
and cbrt vs. pow, so that the backend can control whether or not this
optimization should be done.  By default, the optimization is probably only
useful if -Os is used on machines that have a hardware sqrt instruction.


-- 
   Summary: Compiler could optimize pow (x, 0.75) into sqrt (x) *
sqrt (sqrt (x))
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Keywords: missed-optimization
  Severity: normal
  Priority: P3
 Component: rtl-optimization
AssignedTo: meissner 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=42694



[Bug rtl-optimization/42694] Compiler could optimize pow (x, 0.75) into sqrt (x) * sqrt (sqrt (x))

2010-01-11 Thread meissner at gcc dot gnu dot org


--- Comment #1 from meissner at gcc dot gnu dot org  2010-01-11 21:42 
---
Created an attachment (id=19542)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19542&action=view)
Program to demonstrate the slowdown

This program calculates the speed of various pow arguments.


-- 


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



[Bug target/42747] New: -mcpu=power7 (or -mvsx) does not generate the xssqrtdp instruction

2010-01-14 Thread meissner at gcc dot gnu dot org
In doing the power7 work, I inadvertently disabled sqrtdf2 for power7, because
I didn't notice it was a define_insn instead of the define_expand and separate
define_insn as used by the other DF operations.


-- 
   Summary: -mcpu=power7 (or -mvsx) does not generate the xssqrtdp
instruction
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Keywords: missed-optimization
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: meissner 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=42747



[Bug target/42747] -mcpu=power7 (or -mvsx) does not generate the xssqrtdp instruction

2010-01-14 Thread meissner at gcc dot gnu dot org


--- Comment #1 from meissner at gcc dot gnu dot org  2010-01-14 18:21 
---
Created an attachment (id=19599)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19599&action=view)
Patch to enable sqrtdf if -mvsx

Patch to split sqrtdf2 into expander/insn.


-- 


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



[Bug middle-end/42694] Compiler could optimize pow (x, 0.75) into sqrt (x) * sqrt (sqrt (x))

2010-01-25 Thread meissner at gcc dot gnu dot org


--- Comment #3 from meissner at gcc dot gnu dot org  2010-01-26 00:40 
---
Created an attachment (id=19706)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19706&action=view)
Proposed patch to fix the problem

Patch to add 3 new switches to tune whether to use a combination of sqrt/cbrt
to replace pow.


-- 


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



[Bug testsuite/41701] scan-assembler-not has false positives

2010-01-26 Thread meissner at gcc dot gnu dot org


--- Comment #1 from meissner at gcc dot gnu dot org  2010-01-26 23:46 
---
Created an attachment (id=19720)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19720&action=view)
Patch to fix my particular problem with builtins-58.c

This patch fixes the particular problem I ran into that causes
gcc.dg/builtins-58.c to fail when the pathname to the compiler contains the
string 'pow' as in .../power7-meissner/ which is the sandbox that I use for
power7 work.


-- 


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



[Bug testsuite/41701] scan-assembler-not has false positives

2010-01-29 Thread meissner at gcc dot gnu dot org


--- Comment #2 from meissner at gcc dot gnu dot org  2010-01-29 17:53 
---
Subject: Bug 41701

Author: meissner
Date: Fri Jan 29 17:53:46 2010
New Revision: 156359

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=156359
Log:
PR 41701, prevent pow in compiler pathname from a false error

Modified:
trunk/gcc/testsuite/gcc.dg/builtins-58.c


-- 


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



[Bug testsuite/41701] scan-assembler-not has false positives

2010-01-29 Thread meissner at gcc dot gnu dot org


--- Comment #3 from meissner at gcc dot gnu dot org  2010-01-29 17:54 
---
Subject: Bug 41701

Author: meissner
Date: Fri Jan 29 17:54:14 2010
New Revision: 156360

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=156360
Log:
PR 41701, prevent pow in compiler pathname from a false error

Modified:
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug middle-end/45712] New: Segmentation violation when compiling spec source on either x86 or ppc with debugging

2010-09-17 Thread meissner at gcc dot gnu dot org
The attached file that is derived from the spec 2006 benchmark suite fails if
you compile it with minimal optimization and -g.  If I remove the -g option, it
compiles fine.

I initially noticed this on powerpc64-linux-gnu, but it looked like a machine
independent bug, so I tried it on a x86_64-unknown-linux-gnu system.

The debugger trace is:
Current directory is /home/meissner/fsf-build-x86_64/trunk/gcc/
GNU gdb (GDB) Fedora (7.1-34.fc13)
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /data/meissner/fsf-build-x86_64/trunk/gcc/cc1...done.
Breakpoint 1 at 0x5bc070: file /home/meissner/fsf-src/trunk/gcc/diagnostic.c,
line 878.
Breakpoint 2 at 0x5bce30: file /home/meissner/fsf-src/trunk/gcc/diagnostic.c,
line 819.
Breakpoint 3 at 0x483bd8
Breakpoint 4 at 0x483568
(gdb) r -O -g -quiet foo2.c
Starting program: /data/meissner/fsf-build-x86_64/trunk/gcc/cc1 -O -g -quiet
foo2.c

Program received signal SIGSEGV, Segmentation fault.
0x00bcbb98 in get_symbol_constant_value (sym=0x706aa640) at
/home/meissner/fsf-src/trunk/gcc/gimple-fold.c:67
Missing separate debuginfos, use: debuginfo-install glibc-2.12-3.x86_64
libgcc-4.4.4-10.fc13.x86_64 libstdc++-4.4.4-10.fc13.x86_64
(gdb) where
#0  0x00bcbb98 in get_symbol_constant_value (sym=0x706aa640) at
/home/meissner/fsf-src/trunk/gcc/gimple-fold.c:67
#1  0x00bcbf5f in maybe_fold_reference (expr=0x705e7a80, is_lhs=0
'\000') at /home/meissner/fsf-src/trunk/gcc/gimple-fold.c:554
#2  0x00bcf428 in fold_stmt_1 (gsi=0x7fffc3f0, inplace=) at /home/meissner/fsf-src/trunk/gcc/gimple-fold.c:1559
#3  0x00a00e34 in fold_marked_statements (first=34,
statements=0x132ce20) at /home/meissner/fsf-src/trunk/gcc/tree-inline.c:4115
#4  0x00a086c5 in optimize_inline_calls (fn=0x70557500) at
/home/meissner/fsf-src/trunk/gcc/tree-inline.c:4214
#5  0x009dd62f in inline_transform (node=) at
/home/meissner/fsf-src/trunk/gcc/ipa-inline.c:2165
#6  inline_transform (node=) at
/home/meissner/fsf-src/trunk/gcc/ipa-inline.c:2139
#7  0x0073b619 in execute_one_ipa_transform_pass () at
/home/meissner/fsf-src/trunk/gcc/passes.c:1473
#8  execute_all_ipa_transforms () at
/home/meissner/fsf-src/trunk/gcc/passes.c:1504
#9  0x0083454d in tree_rest_of_compilation (fndecl=0x70557500) at
/home/meissner/fsf-src/trunk/gcc/tree-optimize.c:445
#10 0x009d2326 in cgraph_expand_function (node=0x70757d70) at
/home/meissner/fsf-src/trunk/gcc/cgraphunit.c:1469
#11 0x009d4d2a in cgraph_expand_all_functions () at
/home/meissner/fsf-src/trunk/gcc/cgraphunit.c:1548
#12 cgraph_optimize () at /home/meissner/fsf-src/trunk/gcc/cgraphunit.c:1804
#13 0x009d528a in cgraph_finalize_compilation_unit () at
/home/meissner/fsf-src/trunk/gcc/cgraphunit.c:1012
#14 0x004adfa4 in c_write_global_declarations () at
/home/meissner/fsf-src/trunk/gcc/c-decl.c:9732
#15 0x007dbd5c in compile_file (argc=5, argv=0x7fffc978) at
/home/meissner/fsf-src/trunk/gcc/toplev.c:967
#16 do_compile (argc=5, argv=0x7fffc978) at
/home/meissner/fsf-src/trunk/gcc/toplev.c:2394
#17 toplev_main (argc=5, argv=0x7fffc978) at
/home/meissner/fsf-src/trunk/gcc/toplev.c:2435
#18 0x003db681ec5d in __libc_start_main () from /lib64/libc.so.6
#19 0x00494f19 in _start ()
(gdb) print sym
$1 = (union tree_node *) 0x706aa640
(gdb) pt
 
unit size 
align 64 symtab -260754336 alias set -1 canonical type 0x70750e70
fields 
unsigned DI file foo2.c line 98 col 9
size 
unit size 
align 64 offset_align 128
offset 
bit offset  context
 chain > context 
chain >
used public external common BLK file foo2.c line 109 col 3 size
 unit size 
align 64 chain >
(gdb) print varpool_get_node (sym)
$2 = (struct varpool_node *) 0x0
(gdb) quit
A debugging session is active.

Inferior 1 [process 20829] will be killed.

Quit anyway? (y or n) y

Debugger finished

It fails because get_symbol_constant_value calls varpool_get_node, which in
turns returns a NULL pointer.


-- 
   Summary: Segmentation violation when compiling spec source on
either x86 or ppc with debugging
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: meissner at gcc dot gnu do

[Bug middle-end/45712] Segmentation violation when compiling spec source on either x86 or ppc with debugging

2010-09-17 Thread meissner at gcc dot gnu dot org


--- Comment #1 from meissner at gcc dot gnu dot org  2010-09-17 23:19 
---
Created an attachment (id=21824)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21824&action=view)
Source file that shows the problem.

This is a somewhat cutdown source file that shows the problem.


-- 


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



[Bug middle-end/45712] Segmentation violation when compiling spec source on either x86 or ppc with debugging

2010-09-17 Thread meissner at gcc dot gnu dot org


--- Comment #2 from meissner at gcc dot gnu dot org  2010-09-17 23:21 
---
Created an attachment (id=21825)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21825&action=view)
Potential patch to fix the problem

This bandaid patch will allow the compiler to not segfault, but I'm unsure
whether the real fix is make sure that varpool_get_node does not return a NULL
pointer.


-- 


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



[Bug tree-optimization/45714] New: Vectorization of double pow function causes a segmentation fault

2010-09-17 Thread meissner at gcc dot gnu dot org
This fortran program fails for both x86_64 and powerpc when an appropriate
veclibabi is specified that includes support for optimizing a pow invocation to
V2DF variables.

On the x86_64 you need to use:
-O3 -march=core2 -mavx -ffast-math -mveclibabi=svml

On the powerpc you need to use:
-O3 -mcpu=power7 -ffast-math -mveclibabi=mass

Here is the debugger trace:
Current directory is /home/meissner/fsf-build-x86_64/trunk/gcc/
GNU gdb (GDB) Fedora (7.1-34.fc13)
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /data/meissner/fsf-build-x86_64/trunk/gcc/f951...done.
Breakpoint 1 at 0x61b210: file /home/meissner/fsf-src/trunk/gcc/diagnostic.c,
line 878.
Breakpoint 2 at 0x61bfd0: file /home/meissner/fsf-src/trunk/gcc/diagnostic.c,
line 819.
Breakpoint 3 at 0x492d50
Breakpoint 4 at 0x492500
(gdb) r -O3 -quiet -march=core2 -mavx -ffast-math -mveclibabi=svml foo3.f
Starting program: /data/meissner/fsf-build-x86_64/trunk/gcc/f951 -O3 -quiet
-march=core2 -mavx -ffast-math -mveclibabi=svml foo3.f

Program received signal SIGSEGV, Segmentation fault.
0x00975884 in nested_in_vect_loop_p (stmt=0x705d6f68,
gsi=0x7fffc5b0, strided_store=, slp_node=, slp_node_instance=) at
/home/meissner/fsf-src/trunk/gcc/tree-vectorizer.h:316
Missing separate debuginfos, use: debuginfo-install glibc-2.12-3.x86_64
libgcc-4.4.4-10.fc13.x86_64 libstdc++-4.4.4-10.fc13.x86_64
(gdb) where
#0  0x00975884 in nested_in_vect_loop_p (stmt=0x705d6f68,
gsi=0x7fffc5b0, strided_store=, slp_node=, slp_node_instance=) at
/home/meissner/fsf-src/trunk/gcc/tree-vectorizer.h:316
#1  vect_transform_stmt (stmt=0x705d6f68, gsi=0x7fffc5b0,
strided_store=, slp_node=,
slp_node_instance=) at
/home/meissner/fsf-src/trunk/gcc/tree-vect-stmts.c:4607
#2  0x00982a44 in vect_transform_loop (loop_vinfo=0x185e7f0) at
/home/meissner/fsf-src/trunk/gcc/tree-vect-loop.c:4798
#3  0x0098e5a3 in vectorize_loops () at
/home/meissner/fsf-src/trunk/gcc/tree-vectorizer.c:225
#4  0x007969ef in execute_one_pass (pass=0x12270c0) at
/home/meissner/fsf-src/trunk/gcc/passes.c:1573
#5  0x00796c95 in execute_pass_list (pass=0x12270c0) at
/home/meissner/fsf-src/trunk/gcc/passes.c:1628
#6  0x00796ca7 in execute_pass_list (pass=0x12272a0) at
/home/meissner/fsf-src/trunk/gcc/passes.c:1629
#7  0x00796ca7 in execute_pass_list (pass=0x1226460) at
/home/meissner/fsf-src/trunk/gcc/passes.c:1629
#8  0x0088f716 in tree_rest_of_compilation (fndecl=0x70865900) at
/home/meissner/fsf-src/trunk/gcc/tree-optimize.c:452
#9  0x00a2d4d6 in cgraph_expand_function (node=0x7065f408) at
/home/meissner/fsf-src/trunk/gcc/cgraphunit.c:1469
#10 0x00a2feda in cgraph_expand_all_functions () at
/home/meissner/fsf-src/trunk/gcc/cgraphunit.c:1548
#11 cgraph_optimize () at /home/meissner/fsf-src/trunk/gcc/cgraphunit.c:1804
#12 0x00a3043a in cgraph_finalize_compilation_unit () at
/home/meissner/fsf-src/trunk/gcc/cgraphunit.c:1012
#13 0x0075691d in write_global_declarations () at
/home/meissner/fsf-src/trunk/gcc/langhooks.c:310
#14 0x00836f0c in compile_file (argc=8, argv=0x7fffc938) at
/home/meissner/fsf-src/trunk/gcc/toplev.c:967
#15 do_compile (argc=8, argv=0x7fffc938) at
/home/meissner/fsf-src/trunk/gcc/toplev.c:2394
#16 toplev_main (argc=8, argv=0x7fffc938) at
/home/meissner/fsf-src/trunk/gcc/toplev.c:2435
#17 0x003db681ec5d in __libc_start_main () from /lib64/libc.so.6
#18 0x004a4309 in _start ()
(gdb) quit
A debugging session is active.

Inferior 1 [process 21141] will be killed.

Quit anyway? (y or n) y

Debugger finished

If I compile it without the -mveclibabi= switch it works fine (or on the x86
use -mveclibabi=svml since svml does not provide a pow that supports V2DF
arguments).


-- 
   Summary: Vectorization of double pow function causes a
segmentation fault
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: meissner at gcc dot gnu dot org
 GCC build triplet: x86_64-unknown-linux-gnu
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu


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



[Bug tree-optimization/45714] Vectorization of double pow function causes a segmentation fault

2010-09-17 Thread meissner at gcc dot gnu dot org


--- Comment #1 from meissner at gcc dot gnu dot org  2010-09-17 23:29 
---
Created an attachment (id=21826)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21826&action=view)
Fortran program from spec 2006 that shows the bug

Fortran program derived from spec 2006 that shows the bug.


-- 


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



[Bug middle-end/45712] [4.6 Regression] Segmentation violation when compiling spec source on either x86 or ppc with debugging

2010-09-20 Thread meissner at gcc dot gnu dot org


--- Comment #4 from meissner at gcc dot gnu dot org  2010-09-20 21:26 
---
FWIW, updating the source to subversion id 164441 seems to mask the failure on
the powerpc, but the x86 still segfaults.  I suspect that the bug is not
actually fixed, but just doesn't show up at the current time on the powerpc.


-- 


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



[Bug testsuite/43758] [4.6 Regression] 19 new GCC h...@158360 regressions

2010-05-05 Thread meissner at gcc dot gnu dot org


--- Comment #5 from meissner at gcc dot gnu dot org  2010-05-05 18:58 
---
The second patch fixes the problem on the powerpc.  Patch approved if
documentation is added for the new hook.


-- 


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



[Bug debug/43478] Missing DW_AT_location for a variable

2010-05-05 Thread meissner at gcc dot gnu dot org


--- Comment #10 from meissner at gcc dot gnu dot org  2010-05-05 21:36 
---
Created an attachment (id=20572)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20572&action=view)
-save-temps=obj output of failing module


-- 


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



[Bug debug/43478] Missing DW_AT_location for a variable

2010-05-05 Thread meissner at gcc dot gnu dot org


--- Comment #11 from meissner at gcc dot gnu dot org  2010-05-05 21:37 
---
The patch checked in as subversion id 159063 causes the powerpc64-linux
bootstrap to fail when building libgcc with release checking enabled:

/home/meissner/fsf-build-ppc64/trunk/./gcc/xgcc
-B/home/meissner/fsf-build-ppc64/trunk/./gcc/
-B/home/meissner/fsf-install-ppc64/trunk/powerpc64-linux/bin/
-B/home/meissner/fsf-install-ppc64/trunk/powerpc64-linux/lib/ -isystem
/home/meissner/fsf-install-ppc64/trunk/powerpc64-linux/include -isystem
/home/meissner/fsf-install-ppc64/trunk/powerpc64-linux/sys-include-g -O2
-m32 -fPIC -mstrict-align -O2  -g -O2 -DIN_GCC   -W -Wall -Wwrite-strings
-Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition 
-isystem ./include  -fPIC -mno-minimal-toc -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2
-D__GCC_FLOAT_NOT_NEEDED  -mlong-double-128 -I. -I. -I../../.././gcc
-I/home/meissner/fsf-src/trunk/libgcc -I/home/meissner/fsf-src/trunk/libgcc/.
-I/home/meissner/fsf-src/trunk/libgcc/../gcc
-I/home/meissner/fsf-src/trunk/libgcc/../include
-I/home/meissner/fsf-src/trunk/libgcc/../libdecnumber/dpd
-I/home/meissner/fsf-src/trunk/libgcc/../libdecnumber -DHAVE_CC_TLS  -o
_floatdisf.o -MT _floatdisf.o -MD -MP -MF _floatdisf.dep -DL_floatdisf -c
/home/meissner/fsf-src/trunk/libgcc/../gcc/libgcc2.c \
  -fvisibility=hidden -DHIDE_EXPORTS
/home/meissner/fsf-src/trunk/libgcc/../gcc/libgcc2.c: In function
‘__floatdisf’:
/home/meissner/fsf-src/trunk/libgcc/../gcc/libgcc2.c:1526:1: internal compiler
error: in simplify_subreg, at simplify-rtx.c:5135
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
make[5]: *** [_floatdisf.o] Error 1
make[5]: Leaving directory
`/data2/meissner/fsf-build-ppc64/trunk/powerpc64-linux/32/libgcc'


-- 

meissner at gcc dot gnu dot org changed:

   What|Removed |Added

 CC|    |meissner at gcc dot gnu dot
   |        |org
   Severity|normal  |critical
   Priority|P3  |P1


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



[Bug tree-optimization/43544] TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION can misoptimize when MD builtins overlap with standard builtins

2010-05-20 Thread meissner at gcc dot gnu dot org


--- Comment #4 from meissner at gcc dot gnu dot org  2010-05-20 17:39 
---
Fix checked in on March 26, 2010.


-- 

meissner at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug rtl-optimization/44214] New: Compiler does not optimize vector divide with -freciprocal-math (or -ffast-math)

2010-05-20 Thread meissner at gcc dot gnu dot org
If you have code that does division by a constant that can be auto vectorized
by the compiler, the compiler does not convert the division to multiplication
by the reciprocal if -freciprocal-math (or -ffast-math), but instead does the
division.

The bug is in fold-const.c near line 11254, where the code for handling
REAL_CST should be cloned to handle VECTOR_CST (and presumably COMPLEX_CST
also).


-- 
   Summary: Compiler does not optimize vector divide with -
freciprocal-math (or -ffast-math)
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: enhancement
  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=44214



[Bug rtl-optimization/44214] Compiler does not optimize vector divide with -freciprocal-math (or -ffast-math)

2010-05-20 Thread meissner at gcc dot gnu dot org


--- Comment #1 from meissner at gcc dot gnu dot org  2010-05-20 18:00 
---
Actually in looking at it further, I was wrong in the initial claim.  Auto
vectorization now handles division by a constant.  Explicit vectors like
PowerPC (and probably SPU) do show the problem.


-- 


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



[Bug rtl-optimization/44214] Compiler does not optimize vector divide with -freciprocal-math (or -ffast-math)

2010-05-20 Thread meissner at gcc dot gnu dot org


--- Comment #2 from meissner at gcc dot gnu dot org  2010-05-20 18:02 
---
Created an attachment (id=20712)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20712&action=view)
Example program that shows the issue on powerpc.

Compile with -mcpu=power7 on powerpc.


-- 


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



[Bug target/44218] New: Improve powerpc -mrecip support

2010-05-20 Thread meissner at gcc dot gnu dot org
The current powerpc -mrecip can be improved in several areas.

1) The compiler generates a conditional test to deal with NaN, etc. even though
it is only used with -ffast-math, where the programmer declares that he/she is
not interested in Nan/infinity/etc.  This causes the code to single thread the
approximation, and does not allow the power7 to issue two streams of FRSQRTES
and fixup in parallel.

2) Right now, -mrecip only enables single precision reciprocal square estimate.
 The compiler should be modified so that it also supports double precision
reciprocal estimate on newer machines (power6/power7) that have a high enough
precision FRSQRTE instruction.

3) In addition to optimizing 1/sqrt(x), the compiler should be able to optimize
normal divisions using the FRE/FRES instructions.  Machines with higher
precision FRE instructions should do fewer passes in the fixup than the older
machines.

4) On altivec and VSX systems, the compiler should enable auto vectorization of
the estimate instructions and fixup.

5) The compiler should provide more builtins to allow the user to access to
double reciprocal square root, as well as vector versions.


-- 
   Summary: Improve powerpc -mrecip support
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: target
AssignedTo: meissner 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=44218



[Bug bootstrap/44314] New: Powerpc64-unknown-linux-gnu bootstrap broken

2010-05-28 Thread meissner at gcc dot gnu dot org
ack.h
/usr/include/bits/stat.h
/usr/include/bits/stdio.h
/usr/include/bits/string2.h
/usr/include/bits/sys_errlist.h
/usr/include/bits/typesizes.h
/usr/include/bits/uio.h
/usr/include/bits/waitflags.h
/usr/include/bits/waitstatus.h
/usr/include/errno.h
/usr/include/gnu/stubs-64.h
/usr/include/gnu/stubs.h
/usr/include/limits.h
/usr/lib64/gcc/powerpc64-suse-linux/4.3/include-fixed/syslimits.h
In file included from /home/meissner/fsf-src/trunk/gcc/c-common.c:4690:
/home/meissner/fsf-src/trunk/gcc/builtins.def: In function ‘c_define_builtins’:
/home/meissner/fsf-src/trunk/gcc/builtins.def:178: error: ‘OPTION_GLIBC’
undeclared (first use in this function)
/home/meissner/fsf-src/trunk/gcc/builtins.def:178: error: (Each undeclared
identifier is reported only once
/home/meissner/fsf-src/trunk/gcc/builtins.def:178: error: for each function it
appears in.)
make: *** [c-common.o] Error 1

Note, that linux-android.h is included in this case, which is definately wrong
for powerpc.


-- 
   Summary: Powerpc64-unknown-linux-gnu bootstrap broken
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: critical
  Priority: P3
 Component: bootstrap
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=44314



[Bug target/44218] Improve powerpc -mrecip support

2010-06-01 Thread meissner at gcc dot gnu dot org


--- Comment #1 from meissner at gcc dot gnu dot org  2010-06-01 23:30 
---
Created an attachment (id=20802)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20802&action=view)
Patch to improve powerpc -mrecip support

This patch updates and expands the -mrecip support on the powerpc.


-- 


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



[Bug target/44218] Improve powerpc -mrecip support

2010-06-02 Thread meissner at gcc dot gnu dot org


--- Comment #2 from meissner at gcc dot gnu dot org  2010-06-03 00:06 
---
Subject: Bug 44218

Author: meissner
Date: Thu Jun  3 00:06:12 2010
New Revision: 160199

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=160199
Log:
PR target/44218, improve -mrecip on powerpc

Added:
trunk/gcc/testsuite/gcc.target/powerpc/recip-1.c
trunk/gcc/testsuite/gcc.target/powerpc/recip-2.c
trunk/gcc/testsuite/gcc.target/powerpc/recip-3.c
trunk/gcc/testsuite/gcc.target/powerpc/recip-4.c
trunk/gcc/testsuite/gcc.target/powerpc/recip-5.c
trunk/gcc/testsuite/gcc.target/powerpc/recip-6.c
trunk/gcc/testsuite/gcc.target/powerpc/recip-7.c
trunk/gcc/testsuite/gcc.target/powerpc/recip-test.h
trunk/gcc/testsuite/gcc.target/powerpc/recip-test2.h
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/altivec.h
trunk/gcc/config/rs6000/altivec.md
trunk/gcc/config/rs6000/rs6000-builtin.def
trunk/gcc/config/rs6000/rs6000-c.c
trunk/gcc/config/rs6000/rs6000-protos.h
trunk/gcc/config/rs6000/rs6000.c
trunk/gcc/config/rs6000/rs6000.h
trunk/gcc/config/rs6000/rs6000.md
trunk/gcc/config/rs6000/rs6000.opt
trunk/gcc/config/rs6000/vector.md
trunk/gcc/config/rs6000/vsx.md
trunk/gcc/doc/extend.texi
trunk/gcc/doc/invoke.texi
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/lib/target-supports.exp


-- 


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



[Bug target/44877] New: C++ compiler can no longer compile dealII for VSX/Altivec vectorization

2010-07-08 Thread meissner at gcc dot gnu dot org
Recent changes to the compiler (probably around July 4th) gets an assertion
failure when the Spec 2006 dealII benchmark is compiled for the powerpc
targeting either Altivec or VSX vector instruction sets.

This is due to the builtin mask for load/store builtins being passed a
reference type instead of a pointer type.  The July 4th change made changes in
how the compiler peels loops, and it exposed the bug.

The fix is to change to assertion to check for both POINTER_TYPE and
REFERENCE_TYPE.


-- 
   Summary: C++ compiler can no longer compile dealII for
VSX/Altivec vectorization
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: meissner 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=44877



[Bug target/44877] C++ compiler can no longer compile dealII for VSX/Altivec vectorization

2010-07-08 Thread meissner at gcc dot gnu dot org


--- Comment #1 from meissner at gcc dot gnu dot org  2010-07-08 19:23 
---
Created an attachment (id=21148)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21148&action=view)
Cut down example to show the problem

Compile with -m32 -O3 -mcpu=power5 -maltivec and it should trap with an
assertion failure in rs6000_expand_builtin.


-- 


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



[Bug target/44877] C++ compiler can no longer compile dealII for VSX/Altivec vectorization

2010-07-08 Thread meissner at gcc dot gnu dot org


--- Comment #2 from meissner at gcc dot gnu dot org  2010-07-08 19:25 
---
Created an attachment (id=21149)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21149&action=view)
Patch to change the assertion to allow REFERENCE_TYPE

This patch changes the assertion to allow REFERENCE_TYPE as well as
POINTER_TYPE, which allows dealII to compile.


-- 


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



  1   2   >