[Bug rtl-optimization/50213] [4.6/4.7 Regression] Regression in space-optimized code relative to 4.5.x

2011-08-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50213

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||missed-optimization
 Target||x86_64-*-*
   Target Milestone|--- |4.6.2
Summary|Regression in   |[4.6/4.7 Regression]
   |space-optimized code|Regression in
   |relative to 4.5.x   |space-optimized code
   ||relative to 4.5.x


[Bug middle-end/50215] [4.7 Regression] FAIL: gcc.dg/guality/pr45882.c

2011-08-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50215

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug bootstrap/50218] New: [4.7 regression] tree-ssa-loop-ivopts.c triggers -Werror=maybe-uninitialized breaking i686-linux bootstrap

2011-08-28 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50218

 Bug #: 50218
   Summary: [4.7 regression] tree-ssa-loop-ivopts.c triggers
-Werror=maybe-uninitialized breaking i686-linux
bootstrap
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: mi...@it.uu.se


gcc-4.7-20110827 fails to bootstrap on i686-linux due to:

/mnt/scratch/gcc-4.7-20110827/gcc/tree-ssa-loop-ivopts.c: In function
'determine_use_iv_cost':
/mnt/scratch/gcc-4.7-20110827/gcc/tree-ssa-loop-ivopts.c:4846:19: error: 'comp'
may be used uninitialized in this function [-Werror=maybe-uninitialized]
/mnt/scratch/gcc-4.7-20110827/gcc/tree-ssa-loop-ivopts.c:4760:18: note: 'comp'
was declared here
cc1: all warnings being treated as errors

make[3]: *** [tree-ssa-loop-ivopts.o] Error 1
make[3]: Leaving directory `/mnt/scratch/objdir47/gcc'
make[2]: *** [all-stage2-gcc] Error 2
make[2]: Leaving directory `/mnt/scratch/objdir47'
make[1]: *** [stage2-bubble] Error 2
make[1]: Leaving directory `/mnt/scratch/objdir47'
make: *** [bootstrap] Error 2

Configured as:
/mnt/scratch/gcc-4.7-20110827/configure --prefix=/mnt/scratch/install47
--with-gmp=/home/mikpe/pkgs/linux-x86/gmp-4.3.2
--with-mpfr=/home/mikpe/pkgs/linux-x86/mpfr-2.4.2
--with-mpc=/home/mikpe/pkgs/linux-x86/mpc-0.8.2 --enable-checking=release
--enable-languages=c --disable-build-poststage1-with-cxx

I have a patch.


[Bug bootstrap/50218] [4.7 regression] tree-ssa-loop-ivopts.c triggers -Werror=maybe-uninitialized breaking i686-linux bootstrap

2011-08-28 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50218

--- Comment #1 from Mikael Pettersson mikpe at it dot uu.se 2011-08-28 
09:46:26 UTC ---
Patch posted:
http://gcc.gnu.org/ml/gcc-patches/2011-08/msg02234.html


[Bug c++/40866] [4.5 Regression] ICE in create_tmp_var, at gimplify.c:504

2011-08-28 Thread tkoenig at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40866

--- Comment #11 from Thomas Koenig tkoenig at gcc dot gnu.org 2011-08-28 
10:08:54 UTC ---
Author: tkoenig
Date: Sun Aug 28 10:08:50 2011
New Revision: 178140

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=178140
Log:
2011-08-28  Thomas Koenig  tkoe...@gcc.gnu.org

PR fortran/40866
* generated/iall_i1.c: Regenerated.
* generated/iall_i16.c: Regenerated.
* generated/iall_i2.c: Regenerated.
* generated/iall_i4.c: Regenerated.
* generated/iall_i8.c: Regenerated.
* generated/iany_i1.c: Regenerated.
* generated/iany_i16.c: Regenerated.
* generated/iany_i2.c: Regenerated.
* generated/iany_i4.c: Regenerated.
* generated/iany_i8.c: Regenerated.
* generated/iparity_i1.c: Regenerated.
* generated/iparity_i16.c: Regenerated.
* generated/iparity_i2.c: Regenerated.
* generated/iparity_i4.c: Regenerated.
* generated/iparity_i8.c: Regenerated.
* generated/norm2_r10.c: Regenerated.
* generated/norm2_r16.c: Regenerated.
* generated/norm2_r4.c: Regenerated.
* generated/norm2_r8.c: Regenerated.
* generated/parity_l1.c: Regenerated.
* generated/parity_l16.c: Regenerated.
* generated/parity_l2.c: Regenerated.
* generated/parity_l4.c: Regenerated.
* generated/parity_l8.c: Regenerated.
* generated/misc_specifics.F90: Regenerated (comment change).
* generated/_abs_c10.F90: Regenerated (comment change).
* generated/_abs_c16.F90: Regenerated (comment change).
* generated/_abs_c4.F90: Regenerated (comment change).
* generated/_abs_c8.F90: Regenerated (comment change).
* generated/_abs_i16.F90: Regenerated (comment change).
* generated/_abs_i4.F90: Regenerated (comment change).
* generated/_abs_i8.F90: Regenerated (comment change).
* generated/_abs_r10.F90: Regenerated (comment change).
* generated/_abs_r16.F90: Regenerated (comment change).
* generated/_abs_r4.F90: Regenerated (comment change).
* generated/_abs_r8.F90: Regenerated (comment change).
* generated/_acosh_r10.F90: Regenerated (comment change).
* generated/_acosh_r16.F90: Regenerated (comment change).
* generated/_acosh_r4.F90: Regenerated (comment change).
* generated/_acosh_r8.F90: Regenerated (comment change).
* generated/_acos_r10.F90: Regenerated (comment change).
* generated/_acos_r16.F90: Regenerated (comment change).
* generated/_acos_r4.F90: Regenerated (comment change).
* generated/_acos_r8.F90: Regenerated (comment change).
* generated/_aimag_c10.F90: Regenerated (comment change).
* generated/_aimag_c16.F90: Regenerated (comment change).
* generated/_aimag_c4.F90: Regenerated (comment change).
* generated/_aimag_c8.F90: Regenerated (comment change).
* generated/_aint_r10.F90: Regenerated (comment change).
* generated/_aint_r16.F90: Regenerated (comment change).
* generated/_aint_r4.F90: Regenerated (comment change).
* generated/_aint_r8.F90: Regenerated (comment change).
* generated/_anint_r10.F90: Regenerated (comment change).
* generated/_anint_r16.F90: Regenerated (comment change).
* generated/_anint_r4.F90: Regenerated (comment change).
* generated/_anint_r8.F90: Regenerated (comment change).
* generated/_asinh_r10.F90: Regenerated (comment change).
* generated/_asinh_r16.F90: Regenerated (comment change).
* generated/_asinh_r4.F90: Regenerated (comment change).
* generated/_asinh_r8.F90: Regenerated (comment change).
* generated/_asin_r10.F90: Regenerated (comment change).
* generated/_asin_r16.F90: Regenerated (comment change).
* generated/_asin_r4.F90: Regenerated (comment change).
* generated/_asin_r8.F90: Regenerated (comment change).
* generated/_atan2_r10.F90: Regenerated (comment change).
* generated/_atan2_r16.F90: Regenerated (comment change).
* generated/_atan2_r4.F90: Regenerated (comment change).
* generated/_atan2_r8.F90: Regenerated (comment change).
* generated/_atanh_r10.F90: Regenerated (comment change).
* generated/_atanh_r16.F90: Regenerated (comment change).
* generated/_atanh_r4.F90: Regenerated (comment change).
* generated/_atanh_r8.F90: Regenerated (comment change).
* generated/_atan_r10.F90: Regenerated (comment change).
* generated/_atan_r16.F90: Regenerated (comment change).
* generated/_atan_r4.F90: Regenerated (comment change).
* generated/_atan_r8.F90: Regenerated (comment change).
* generated/_conjg_c10.F90: Regenerated (comment change).
* generated/_conjg_c16.F90: Regenerated (comment change).
* generated/_conjg_c4.F90: Regenerated (comment change).
* generated/_conjg_c8.F90: Regenerated (comment change).
* generated/_cosh_r10.F90: Regenerated (comment change).
* generated/_cosh_r16.F90: Regenerated (comment change).
* generated/_cosh_r4.F90: Regenerated (comment change).
* generated/_cosh_r8.F90: Regenerated (comment change).
* 

[Bug java/48417] -ffixed-regs option can't work in mips-elf-gcj compiler

2011-08-28 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48417

--- Comment #7 from Mikael Pettersson mikpe at it dot uu.se 2011-08-28 
10:25:41 UTC ---
I guess !global_regs[regno] vs !fixed_regs[regno] matters for compilation units
that are compiled with -ffixed-$N but where there is no global register
variable declaration for $N in scope.  Can you construct a C test case which
shows that gcc clobbers a register $N even though the file is compiled with
-ffixed-$N ?


[Bug debug/50215] [4.7 Regression] FAIL: gcc.dg/guality/pr45882.c

2011-08-28 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50215

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011-08-28
 CC||jakub at gcc dot gnu.org
  Component|middle-end  |debug
 Ever Confirmed|0   |1


[Bug debug/50215] [4.7 Regression] FAIL: gcc.dg/guality/pr45882.c

2011-08-28 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50215

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 AssignedTo|unassigned at gcc dot   |jakub at gcc dot gnu.org
   |gnu.org |

--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org 2011-08-28 
11:19:39 UTC ---
Created attachment 25122
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=25122
gcc47-pr50215.patch

Untested fix.


[Bug debug/50215] [4.7 Regression] FAIL: gcc.dg/guality/pr45882.c

2011-08-28 Thread bernds at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50215

--- Comment #2 from Bernd Schmidt bernds at gcc dot gnu.org 2011-08-28 
11:44:05 UTC ---
How was this caused by my patch then? I can't even reproduce this here.


[Bug debug/50215] [4.7 Regression] FAIL: gcc.dg/guality/pr45882.c

2011-08-28 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50215

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2011-08-28 
12:01:52 UTC ---
I think the rtl.def changes resulted in different hashing of the RTLs in
question.


[Bug debug/50215] [4.7 Regression] FAIL: gcc.dg/guality/pr45882.c

2011-08-28 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50215

--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2011-08-28 
12:05:51 UTC ---
Verified now, without the var-tracking.c fix this:
--- rtl.def (revision 178135)
+++ rtl.def (working copy)
@@ -296,12 +296,6 @@ DEF_RTL_EXPR(CALL, call, ee, RTX_EXT

 DEF_RTL_EXPR(RETURN, return, , RTX_EXTRA)

-/* Like RETURN, but truly represents only a function return, while
-   RETURN may represent an insn that also performs other functions
-   of the function epilogue.  Like RETURN, this may also occur in
-   conditional jumps.  */
-DEF_RTL_EXPR(SIMPLE_RETURN, simple_return, , RTX_EXTRA)
-
 /* Special for EH return from subroutine.  */

 DEF_RTL_EXPR(EH_RETURN, eh_return, , RTX_EXTRA)
@@ -1284,6 +1278,12 @@ DEF_RTL_EXPR(COND, cond, Ee, RTX_EXT

 #endif /* GENERATOR_FILE */

+/* Like RETURN, but truly represents only a function return, while
+   RETURN may represent an insn that also performs other functions
+   of the function epilogue.  Like RETURN, this may also occur in
+   conditional jumps.  */
+DEF_RTL_EXPR(SIMPLE_RETURN, simple_return, , RTX_EXTRA)
+
 /*
 Local variables:
 mode:c

also fixes it.


[Bug bootstrap/50218] [4.7 regression] tree-ssa-loop-ivopts.c triggers -Werror=maybe-uninitialized breaking i686-linux bootstrap

2011-08-28 Thread vries at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50218

--- Comment #2 from vries at gcc dot gnu.org 2011-08-28 12:08:45 UTC ---
Author: vries
Date: Sun Aug 28 12:08:41 2011
New Revision: 178141

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=178141
Log:
2011-08-28  Mikael Pettersson  mi...@it.uu.se

PR bootstrap/50218
* tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Initialize
comp.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-ssa-loop-ivopts.c


[Bug bootstrap/50218] [4.7 regression] tree-ssa-loop-ivopts.c triggers -Werror=maybe-uninitialized breaking i686-linux bootstrap

2011-08-28 Thread vries at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50218

vries at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED
 AssignedTo|unassigned at gcc dot   |mikpe at it dot uu.se
   |gnu.org |

--- Comment #3 from vries at gcc dot gnu.org 2011-08-28 12:11:09 UTC ---
Proposed patch checked in.


[Bug c/50219] New: Combine pass generated wrong code for unsigned char comparison on MIPS target

2011-08-28 Thread yaocang at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50219

 Bug #: 50219
   Summary: Combine pass generated wrong code for unsigned char
comparison on MIPS target
Classification: Unclassified
   Product: gcc
   Version: 3.4.4
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: yaoc...@gmail.com


Gcc3.4.4 generate wrong MIPS instructions for the codes following when using
-O1 and -O2. 

int test(unsigned char a, int *b)
{
if(b==NULL)
   return -1;
if(a=0x01  a=0xaf)
{
   *b++;
   return 0;
}
else if(a=0xfe)
   return 1;
else
   return 3;

return 4;
}

In assemble codes, (a=0x01  a=0xaf) correspond to add $8,$8,-1; sltui
$8,$8,-81  .
According to MIPS instruction manual, sltui $8,$8,-81  means the value in $8
will be compared with the constant 0xFFAF. So when the variable a has a
value larger than 0xaf, but sltui $8,$8,-81  make the condition  (a=0x01 
a=0xaf) hold, and the program flow go into if-body, and get wrong result.

It seems to me that when simplify_comparison combining tow rtl insn about the
if condition, zero_extend and ltu, the constant was signed-extended.

This problem doesn't occur in 2.96 and 4.3, other versions not tested.


[Bug c++/50220] New: [C++0x] ICE when capturing a by-reference template function argument in a lambda

2011-08-28 Thread grumbel at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50220

 Bug #: 50220
   Summary: [C++0x] ICE when capturing a by-reference template
function argument in a lambda
Classification: Unclassified
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: grum...@gmail.com


Following code causes an internal compiler error. Changing the function
argument from a reference to a value, makes the error go away, using a regular
struct instead of a template doesn't trigger it either:

$ cat internalbug.cpp
templatetypename Foo struct Foobar {};

void foobar(const Foobarvoid obj)
{
  [obj](){}();
}

/* EOF */

$ g++-svn -std=c++0x -c internalbug.cpp -o internalbug.o 
internalbug.cpp: In lambda function:
internalbug.cpp:5:10: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.

$ g++-svn --version
g++ (GCC) 4.7.0 20110828 (experimental)
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ uname -a
Linux duo 2.6.38-11-generic #48-Ubuntu SMP Fri Jul 29 19:05:14 UTC 2011 i686
i686 i386 GNU/Linux

$ lsb_release -a
LSB Version:   
core-2.0-ia32:core-2.0-noarch:core-3.0-ia32:core-3.0-noarch:core-3.1-ia32:core-3.1-noarch:core-3.2-ia32:core-3.2-noarch:core-4.0-ia32:core-4.0-noarch:cxx-3.0-ia32:cxx-3.0-noarch:cxx-3.1-ia32:cxx-3.1-noarch:cxx-3.2-ia32:cxx-3.2-noarch:cxx-4.0-ia32:cxx-4.0-noarch:desktop-3.1-ia32:desktop-3.1-noarch:desktop-3.2-ia32:desktop-3.2-noarch:desktop-4.0-ia32:desktop-4.0-noarch:graphics-2.0-ia32:graphics-2.0-noarch:graphics-3.0-ia32:graphics-3.0-noarch:graphics-3.1-ia32:graphics-3.1-noarch:graphics-3.2-ia32:graphics-3.2-noarch:graphics-4.0-ia32:graphics-4.0-noarch:languages-3.2-ia32:languages-3.2-noarch:languages-4.0-ia32:languages-4.0-noarch:multimedia-3.2-ia32:multimedia-3.2-noarch:multimedia-4.0-ia32:multimedia-4.0-noarch:printing-3.2-ia32:printing-3.2-noarch:printing-4.0-ia32:printing-4.0-noarch:qt4-3.1-ia32:qt4-3.1-noarch
Distributor ID:Ubuntu
Description:Ubuntu 11.04
Release:11.04
Codename:natty


[Bug c++/48582] [C++0x] [DR 342] Template non-type arguments doesn't accept null pointer constant value

2011-08-28 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48582

--- Comment #2 from Jason Merrill jason at gcc dot gnu.org 2011-08-28 
15:38:33 UTC ---
Author: jason
Date: Sun Aug 28 15:38:29 2011
New Revision: 178144

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=178144
Log:
Core DR 342
PR c++/48582
* pt.c (check_valid_ptrmem_cst_expr): A null member pointer value
is valid in C++11.
(convert_nontype_argument): Likewise.  Implicitly convert nullptr
and do constant folding.
* mangle.c (write_template_arg_literal): Mangle null member
pointer values as 0.
* call.c (null_member_pointer_value_p): New.
* cp-tree.h: Declare it.

Added:
trunk/gcc/testsuite/g++.dg/abi/mangle50.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/call.c
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/mangle.c
trunk/gcc/cp/pt.c
trunk/gcc/testsuite/ChangeLog


[Bug c++/48582] [C++0x] [DR 342] Template non-type arguments doesn't accept null pointer constant value

2011-08-28 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48582

Jason Merrill jason at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.7.0

--- Comment #3 from Jason Merrill jason at gcc dot gnu.org 2011-08-28 
15:39:14 UTC ---
Implemented for 4.7.


[Bug fortran/50221] New: Allocatable string length fails with array assignment

2011-08-28 Thread clivegpage at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50221

 Bug #: 50221
   Summary: Allocatable string length fails with array assignment
Classification: Unclassified
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: clivegp...@gmail.com


The program below:

program testalloc
implicit none
character(:), allocatable, dimension(:) :: array
array = (/'xx', 'yy', 'zz'/)
print *, 'array=', array, len(array(1)), size(array)
end program

Should print out something like:
 array=xxyyzz   2   3
but with gfortran (v4.6.0) I get
 array=zz   2   3


[Bug c/50222] New: ICE with -O{1,2} -funswitch-loops -ftree-loop-distribution

2011-08-28 Thread franxisco1988+gcc at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50222

 Bug #: 50222
   Summary: ICE with -O{1,2} -funswitch-loops
-ftree-loop-distribution
Classification: Unclassified
   Product: gcc
   Version: 4.6.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: franxisco1988+...@gmail.com


Created attachment 25123
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=25123
Temporary saved file

I'm hitting an ICE in the attached file, the ICE happens with either -O1 and
-O2 with gcc being killed for a segmentation fault.

Here is the output of $ LANG=C gcc -O1 -funswitch-loops
-ftree-loop-distribution -I. -I.. -I../.. nutenc.c -include
libavutil/internal.h -I ../../ -c -save-temps -v
Using built-in specs.
Reading specs from /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.1/vanilla.specs
Reading specs from /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.1/hardenednossp.specs
Reading specs from /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.1/hardenednopie.specs
COLLECT_GCC=/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.1/gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.1/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with:
/var/tmp/portage/sys-devel/gcc-4.6.1-r1/work/gcc-4.6.1/configure --prefix=/usr
--bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.1
--includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.1/include
--datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.1
--mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.1/man
--infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.1/info
--with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.1/include/g++-v4
--host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --disable-altivec
--disable-fixed-point --without-ppl --without-cloog --enable-lto --enable-nls
--without-included-gettext --with-system-zlib --disable-werror
--enable-secureplt --enable-multilib --enable-libmudflap --disable-libssp
--enable-esp --enable-libgomp
--with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/4.6.1/python
--enable-checking=release --disable-libgcj --enable-languages=c,c++
--enable-shared --enable-threads=posix --enable-__cxa_atexit
--enable-clocale=gnu --with-bugurl=http://bugs.gentoo.org/
--with-pkgversion='Gentoo Hardened 4.6.1-r1 p1.0, pie-0.4.5'
Thread model: posix
gcc version 4.6.1 (Gentoo Hardened 4.6.1-r1 p1.0, pie-0.4.5) 
COLLECT_GCC_OPTIONS='-O1' '-funswitch-loops' '-ftree-loop-distribution' '-I'
'.' '-I' '..' '-I' '../..' '-include' 'libavutil/internal.h' '-I' '../../' '-c'
'-save-temps' '-v' '-mtune=generic' '-march=x86-64'
 /usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.1/cc1 -E -quiet -v -I . -I .. -I
../.. -I ../../ -include libavutil/internal.h nutenc.c -D_FORTIFY_SOURCE=2
-mtune=generic -march=x86-64 -funswitch-loops -ftree-loop-distribution -O1
-fpch-preprocess -o nutenc.i
ignoring nonexistent directory /usr/local/include
ignoring nonexistent directory
/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.1/../../../../x86_64-pc-linux-gnu/include
ignoring duplicate directory ../../
#include ... search starts here:
#include ... search starts here:
 .
 ..
 ../..
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.1/include
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.1/include-fixed
 /usr/include
End of search list.
COLLECT_GCC_OPTIONS='-O1' '-funswitch-loops' '-ftree-loop-distribution' '-I'
'.' '-I' '..' '-I' '../..' '-include' 'libavutil/internal.h' '-I' '../../' '-c'
'-save-temps' '-v' '-mtune=generic' '-march=x86-64'
 /usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.1/cc1 -fpreprocessed nutenc.i -quiet
-dumpbase nutenc.c -mtune=generic -march=x86-64 -auxbase nutenc -O1 -version
-funswitch-loops -ftree-loop-distribution -o nutenc.s
GNU C (Gentoo Hardened 4.6.1-r1 p1.0, pie-0.4.5) version 4.6.1
(x86_64-pc-linux-gnu)
compiled by GNU C version 4.6.1, GMP version 5.0.2, MPFR version
3.0.1-p4, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU C (Gentoo Hardened 4.6.1-r1 p1.0, pie-0.4.5) version 4.6.1
(x86_64-pc-linux-gnu)
compiled by GNU C version 4.6.1, GMP version 5.0.2, MPFR version
3.0.1-p4, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: ee3b77d3e57fd2e78f1e57adb19b4a68
nutenc.c: In function 'write_header':
nutenc.c:580:12: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See http://bugs.gentoo.org/ for instructions.

And the output of $ LANG=C gcc -O2 -funswitch-loops -ftree-loop-distribution
-I. -I.. -I../.. nutenc.c -include libavutil/internal.h -I ../../ -c
-save-temps -v
Using built-in specs.
Reading specs from /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.1/vanilla.specs
Reading specs from /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.1/hardenednossp.specs
Reading specs from /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.1/hardenednopie.specs

[Bug target/50193] ARM: ICE on a | (b negative-constant)

2011-08-28 Thread michael.hope at linaro dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50193

--- Comment #1 from Michael Hope michael.hope at linaro dot org 2011-08-28 
21:40:01 UTC ---
Also occurs when building LLVM trunk.  See:

http://builds.linaro.org/toolchain/llvm-3.0~svn138625/logs/armv7l-natty-cbuild172-ursa1-cortexa9r1/llvm-build.txt

/scratch/cbuild/slave/slaves/ursa1/llvm-3.0~svn138625/llvm/llvm-3.0~/tools/clang/unittests/AST/APValueTest.cpp:
In member function 'virtual void
{anonymous}::APValue_Diagnostics_Test::TestBody()':
/scratch/cbuild/slave/slaves/ursa1/llvm-3.0~svn138625/llvm/llvm-3.0~/tools/clang/unittests/AST/APValueTest.cpp:77:1:
error: insn does not satisfy its constraints:
(insn 1267 1266 1269 72 (set (subreg:SI (reg:DI 1327) 0)
(ior:SI (ashift:SI (reg:SI 1330)
(const_int -16 [0xfff0]))
(subreg:SI (reg:DI 1327) 0)))
/scratch/cbuild/slave/slaves/ursa1/llvm-3.0~svn138625/llvm/llvm-3.0~/include/llvm/ADT/APInt.h:140
257 {*arith_shiftsi}
 (nil))
/scratch/cbuild/slave/slaves/ursa1/llvm-3.0~svn138625/llvm/llvm-3.0~/tools/clang/unittests/AST/APValueTest.cpp:77:1:
internal compiler error: in extract_constrain_insn_cached, at recog.c:2028


[Bug c/50222] ICE with -O{1,2} -funswitch-loops -ftree-loop-distribution

2011-08-28 Thread franxisco1988+gcc at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50222

--- Comment #1 from klondike franxisco1988+gcc at gmail dot com 2011-08-28 
22:08:56 UTC ---
Just for the record I can reproduce this with vanilla gcc:
# LANG=C gcc -O2 -funswitch-loops -ftree-loop-distribution -I. -I.. -I../..
nutenc.c -include libavutil/internal.h -I ../../ -c -save-temps -v
Using built-in specs.
COLLECT_GCC=/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.1/gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.1/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with:
/var/tmp/portage/sys-devel/gcc-4.6.1-r1/work/gcc-4.6.1/configure --prefix=/usr
--bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.1
--includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.1/include
--datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.1
--mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.1/man
--infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.1/info
--with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.1/include/g++-v4
--host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --disable-altivec
--disable-fixed-point --without-ppl --without-cloog --enable-lto --enable-nls
--without-included-gettext --with-system-zlib --disable-werror
--enable-secureplt --enable-multilib --enable-libmudflap --disable-libssp
--enable-libgomp
--with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/4.6.1/python
--enable-checking=release --disable-libgcj --enable-languages=c,c++
--enable-shared --enable-threads=posix --enable-__cxa_atexit
--enable-clocale=gnu --with-bugurl=http://bugs.gentoo.org/
--with-pkgversion='Gentoo 4.6.1-r1'
Thread model: posix
gcc version 4.6.1 (Gentoo 4.6.1-r1) 
COLLECT_GCC_OPTIONS='-O2' '-funswitch-loops' '-ftree-loop-distribution' '-I'
'.' '-I' '..' '-I' '../..' '-include' 'libavutil/internal.h' '-I' '../../' '-c'
'-save-temps' '-v' '-mtune=generic' '-march=x86-64'
 /usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.1/cc1 -E -quiet -v -I . -I .. -I
../.. -I ../../ -include libavutil/internal.h nutenc.c -mtune=generic
-march=x86-64 -funswitch-loops -ftree-loop-distribution -O2 -fpch-preprocess -o
nutenc.i
ignoring nonexistent directory /usr/local/include
ignoring nonexistent directory
/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.1/../../../../x86_64-pc-linux-gnu/include
ignoring duplicate directory ../../
#include ... search starts here:
#include ... search starts here:
 .
 ..
 ../..
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.1/include
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.1/include-fixed
 /usr/include
End of search list.
COLLECT_GCC_OPTIONS='-O2' '-funswitch-loops' '-ftree-loop-distribution' '-I'
'.' '-I' '..' '-I' '../..' '-include' 'libavutil/internal.h' '-I' '../../' '-c'
'-save-temps' '-v' '-mtune=generic' '-march=x86-64'
 /usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.1/cc1 -fpreprocessed nutenc.i -quiet
-dumpbase nutenc.c -mtune=generic -march=x86-64 -auxbase nutenc -O2 -version
-funswitch-loops -ftree-loop-distribution -o nutenc.s
GNU C (Gentoo 4.6.1-r1) version 4.6.1 (x86_64-pc-linux-gnu)
compiled by GNU C version 4.6.1, GMP version 5.0.2, MPFR version
3.0.1-p4, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU C (Gentoo 4.6.1-r1) version 4.6.1 (x86_64-pc-linux-gnu)
compiled by GNU C version 4.6.1, GMP version 5.0.2, MPFR version
3.0.1-p4, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: ddaf27b7508d5ce8d54dc64b17e05c96
nutenc.c: In function 'write_header':
nutenc.c:580:12: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See http://bugs.gentoo.org/ for instructions.

(gdb) bt
#0  0x0081fb8f in rename_use_op (bb=0x76794410) at
/var/tmp/portage/sys-devel/gcc-4.6.1-r1/work/gcc-4.6.1/gcc/tree-vect-loop-manip.c:55
#1  rename_variables_in_bb (bb=0x76794410) at
/var/tmp/portage/sys-devel/gcc-4.6.1-r1/work/gcc-4.6.1/gcc/tree-vect-loop-manip.c:95
#2  0x0081fbce in rename_variables_in_loop (loop=0x76750a18) at
/var/tmp/portage/sys-devel/gcc-4.6.1-r1/work/gcc-4.6.1/gcc/tree-vect-loop-manip.c:111
#3  0x0075f27a in copy_loop_before (loop=value optimized out,
stmts=value optimized out) at
/var/tmp/portage/sys-devel/gcc-4.6.1-r1/work/gcc-4.6.1/gcc/tree-loop-distribution.c:137
#4  generate_loops_for_partition (loop=value optimized out, stmts=value
optimized out) at
/var/tmp/portage/sys-devel/gcc-4.6.1-r1/work/gcc-4.6.1/gcc/tree-loop-distribution.c:171
#5  generate_code_for_partition (loop=value optimized out, stmts=value
optimized out) at
/var/tmp/portage/sys-devel/gcc-4.6.1-r1/work/gcc-4.6.1/gcc/tree-loop-distribution.c:395
#6  ldist_gen (loop=value optimized out, stmts=value optimized out) at
/var/tmp/portage/sys-devel/gcc-4.6.1-r1/work/gcc-4.6.1/gcc/tree-loop-distribution.c:1133
#7  distribute_loop (loop=value optimized out, stmts=value optimized out)
at
/var/tmp/portage/sys-devel/gcc-4.6.1-r1/work/gcc-4.6.1/gcc/tree-loop-distribution.c:1218
#8  

[Bug c/50223] New: AVRGCC - dont clear r26 and r27.....its a (small) waste of CPU cycles.

2011-08-28 Thread NickParker at Eaton dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50223

 Bug #: 50223
   Summary: AVRGCC - dont clear r26 and r27.its a (small)
waste of CPU cycles.
Classification: Unclassified
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: nickpar...@eaton.com
  Host: PC Windows XP
Target: AVR Mega 128
 Build: avr-gcc (WinAVR 20100110) 4.3.3


Dont clear r26 and r27.its a (small) waste of CPU cycles.
Regards, Nick.


This function normalises a 32bit unsigned integer and returns
the number of shifts.


uint8_t ldgZeroCntNormU32(uint32_t * x)
{
  uint8_t zCount=0;
  uint8_t shft;
  uint32_t quad;
  quad=*x;

  while (!(uint8_t)(quad  24))
  {
zCount += 8;
quad =8;
  }
  shft = pgm_read_byte(leadingZeros[(uint8_t)(quad  24)]);
  *x = quad  shft;
  return (zCount + shft);
}


   .file   divu16u16.c
   2__SREG__ = 0x3f
   3__SP_H__ = 0x3e
   4__SP_L__ = 0x3d
   5__CCP__  = 0x34
   6__tmp_reg__ = 0
   7__zero_reg__ = 1
  15.Ltext0:
  16.global ldgZeroCntNormU32
  18ldgZeroCntNormU32:
  19.LFB12:
  20.LM1:
  21.LVL0:
  22  CF93  push r28
  23 0002 DF93  push r29
  24/* prologue: function */
  25/* frame size = 0 */
  26 0004 EC01  movw r28,r24
  27.LM2:
  28 0006 2881  ld r18,Y
  29 0008 3981  ldd r19,Y+1
  30 000a 4A81  ldd r20,Y+2
  31 000c 5B81  ldd r21,Y+3
  32.LVL1:
  33.LM3:
  34 000e 852F  mov r24,r21
  35 0010 9927  clr r25
  36 0012 AA27  clr r26
  37 0014 BB27  clr r27
  38.LVL2:
  39 0016 E82F  mov r30,r24
  40 0018 8823  tst r24
  41 001a 01F4  brne .L8
  42 001c 60E0  ldi r22,lo8(0)
  43.LVL3:
  44.L4:
  45.LM4:
  46 001e 685F  subi r22,lo8(-(8))
  47.LM5:
  48 0020 542F  mov r21,r20
  49 0022 432F  mov r20,r19
  50 0024 322F  mov r19,r18
  51 0026 2227  clr r18
  52.LM6:
  53 0028 852F  mov r24,r21
  54 002a 9927  clr r25
  55 002c AA27  clr r26
  56 002e BB27  clr r27
  57 0030 E82F  mov r30,r24
  58 0032 8823  tst r24
  59 0034 01F0  breq .L4
  60.L3:
  61.LBB2:
  62.LM7:
  63 0036 F0E0  ldi r31,lo8(0)
  64 0038 E050  subi r30,lo8(-(leadingZeros))
  65 003a F040  sbci r31,hi8(-(leadingZeros))
  66/* #APP */
  67 ;  111 divu16u16.c 1
  68 003c E491  lpm r30, Z
  69
  70 ;  0  2
  71.LVL4:
  72/* #NOAPP */
  73.LBE2:
  74.LM8:
  75 003e 0E2E  mov r0,r30
  76 0040 00C0  rjmp 2f
  77 0042 220F  1:  lsl r18
  78 0044 331F  rol r19
  79 0046 441F  rol r20
  80 0048 551F  rol r21
  81 004a 0A94  2:  dec r0
  82 004c 02F4  brpl 1b
  83 004e 2883  st Y,r18
  84 0050 3983  std Y+1,r19
  85 0052 4A83  std Y+2,r20
  86 0054 5B83  std Y+3,r21
  87.LM9:
  88 0056 8E2F  mov r24,r30
  89 0058 860F  add r24,r22
  90/* epilogue start */
  91 005a DF91  pop r29
  92 005c CF91  pop r28
  93.LVL5:
  94 005e 0895  ret


[Bug target/50194] wrong tail call optimization for mixed arm/thumb mode

2011-08-28 Thread dougkwan at google dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50194

Doug Kwan dougkwan at google dot com changed:

   What|Removed |Added

 CC||dougkwan at google dot com

--- Comment #2 from Doug Kwan dougkwan at google dot com 2011-08-29 02:50:20 
UTC ---
Did you try -fuse-ld=bfd to see if this problem appear in both linkers?


[Bug tree-optimization/50204] [4.5/4.6/4.7 Regression] Missed fully redundant load found in crafty (SPEC 2k)

2011-08-28 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50204

--- Comment #2 from Andrew Pinski pinskia at gcc dot gnu.org 2011-08-29 
03:00:48 UTC ---
Created attachment 25124
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=25124
Patch which was tested on x86_64 without any regressions

Note I am going to add this patch here as the copyright assignment for Cavium
is not completed yet (though it is in the process of clearing up).  This
implements what is mentioned in comment #1 and was tested on x86_64-linux-gnu
with no regressions.  I don't know what the compile time slow down that happens
yet and have not added any testcases but it works on the testcase attached to
the bug.  I also have not checked what the performance increase on SPEC would
be.