[Bug fortran/5900] [g77 & gfortran] Lapack regressions since g77 2.95.2

2006-06-01 Thread paul dot richard dot thomas at cea dot fr


--- Comment #56 from paul dot richard dot thomas at cea dot fr  2006-06-01 
07:31 ---
Jerry,

Where are we with this one?  Did you have time yet to automatize the testing?

It would be real nice to close it!

Paul


-- 


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



[Bug target/27767] Problem: gcc 4.0.3 on Unix_SV

2006-06-01 Thread mirko dot bruzzone at primeur dot com


--- Comment #4 from mirko dot bruzzone at primeur dot com  2006-06-01 08:08 
---
I tried to compile in another directory than the source directory and I
executed the make bootstrap...but nothing.

This is the report:

gcc -c   -g -DENABLE_CHECKING -DENABLE_ASSERT_CHECKING -DIN_GCC   -W -Wall
-Wwri
te-strings -Wstrict-prototypes -Wmissing-prototypes -DHAVE_CONFIG_H -I. -I.
-I/usr1/bruzzonem/gcc-4.0.3/gcc -I/usr1/bruzzonem/gcc-4.0.3/gcc/.
-I/usr1/bruzzo
nem/gcc-4.0.3/gcc/../include -I./../intl
-I/usr1/bruzzonem/gcc-4.0.3/gcc/../libc
pp/include /usr1/bruzzonem/gcc-4.0.3/gcc/c-pragma.c -o c-pragma.o
In file included from /usr1/bruzzonem/gcc-4.0.3/gcc/c-pragma.c:708:
gt-c-pragma.h:46: parse error before `__attribute__'
/usr1/bruzzonem/gcc-4.0.3/gcc/tree.h:166: warning: `VEC_tree_last' defined but
n
ot used
/usr1/bruzzonem/gcc-4.0.3/gcc/tree.h:166: warning: `VEC_tree_iterate' defined
bu
t not used
/usr1/bruzzonem/gcc-4.0.3/gcc/tree.h:166: warning: `VEC_tree_alloc' defined but
not used
/usr1/bruzzonem/gcc-4.0.3/gcc/tree.h:166: warning: `VEC_tree_free' defined but
n
ot used
/usr1/bruzzonem/gcc-4.0.3/gcc/tree.h:166: warning: `VEC_tree_embedded_size'
defi
ned but not used
/usr1/bruzzonem/gcc-4.0.3/gcc/tree.h:166: warning: `VEC_tree_embedded_init'
defi
ned but not used
/usr1/bruzzonem/gcc-4.0.3/gcc/tree.h:166: warning: `VEC_tree_safe_push' defined
but not used
/usr1/bruzzonem/gcc-4.0.3/gcc/tree.h:166: warning: `VEC_tree_pop' defined but
no
t used
/usr1/bruzzonem/gcc-4.0.3/gcc/tree.h:166: warning: `VEC_tree_truncate' defined
b
ut not used
/usr1/bruzzonem/gcc-4.0.3/gcc/tree.h:166: warning: `VEC_tree_replace' defined
bu
t not used
/usr1/bruzzonem/gcc-4.0.3/gcc/tree.h:166: warning: `VEC_tree_lower_bound'
define
d but not used
/usr1/bruzzonem/gcc-4.0.3/gcc/tree.h:166: warning: `VEC_tree_safe_insert'
define
d but not used
/usr1/bruzzonem/gcc-4.0.3/gcc/tree.h:166: warning: `VEC_tree_ordered_remove'
def
ined but not used
/usr1/bruzzonem/gcc-4.0.3/gcc/tree.h:166: warning: `VEC_tree_unordered_remove'
d
efined but not used
/usr1/bruzzonem/gcc-4.0.3/gcc/tree.h:166: warning: `VEC_tree_address' defined
bu
t not used
make[2]: *** [c-pragma.o] Error 1
make[2]: Leaving directory `/usr1/bruzzonem/objgcc/gcc'
make[1]: *** [stage1_build] Error 2
make[1]: Leaving directory `/usr1/bruzzonem/objgcc/gcc'
make: *** [bootstrap] Error 2


I hope that someone can help me!


-- 


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



[Bug fortran/13615] g77 -Wuninitialized doesn't produce warning on characters

2006-06-01 Thread paul dot richard dot thomas at cea dot fr


--- Comment #7 from paul dot richard dot thomas at cea dot fr  2006-06-01 
08:17 ---
This is still the case; Is this a gfortran issue or a gcc one?

If I give the characters length, using any format, even the anonymous warning
goes away.  In fact, any array expression that I have tried is the same; eg.

  real d(8), c(8) 
  d = c 

is ignored.

Paul


-- 


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



[Bug target/27827] gcc 4 produces worse x87 code on all platforms than gcc 3

2006-06-01 Thread uros at kss-loka dot si


--- Comment #9 from uros at kss-loka dot si  2006-06-01 08:43 ---
The benchmark run on a Pentium4 3.2G/800MHz FSB (32bit):

vendor_id   : GenuineIntel
cpu family  : 15
model   : 2
model name  : Intel(R) Pentium(R) 4 CPU 3.20GHz
stepping: 9
cpu MHz : 3191.917
cache size  : 512 KB

shows even more interesting results:

gcc version 3.4.6
vs.
gcc version 4.2.0 20060601 (experimental)

-fomit-frame-pointer -O -msse2 -mfpmath=sse

GCC 3.x performance:
./xmm_gcc
ALGORITHM NB   REPSTIME  MFLOPS
=  =  =  ==  ==

atlasmm   60   1000   0.162 2664.87

GCC 4.x performance:
./xmm_gc4
ALGORITHM NB   REPSTIME  MFLOPS
=  =  =  ==  ==

atlasmm   60   1000   0.164 2633.13

and

-fomit-frame-pointer -O -mfpmath=387

GCC 3.x performance:
./xmm_gcc
ALGORITHM NB   REPSTIME  MFLOPS
=  =  =  ==  ==

atlasmm   60   1000   0.160 2697.37

GCC 4.x performance:
./xmm_gc4
ALGORITHM NB   REPSTIME  MFLOPS
=  =  =  ==  ==

atlasmm   60   1000   0.164 2633.15

There is a small performance drop on gcc-4.x, but nothing critical.

I can confirm, that code indeed runs >50% slower on 64bit athlon. Perhaps the
problem is in the order of instructions (Software Optimization Guide for AMD
Athlon 64, Section 10.2). The gcc-3.4 code looks similar to the example, how
things should be, and gcc-4.2 code looks similar to the example, how things
should _NOT_ be.

BTW: Did you try to run the benchmark on AMD target with -march=k8? The effects
of this flag are devastating on Pentium4 CPU:

-O -msse2 -mfpmath=sse -march=k8

./xmm_gcc
ALGORITHM NB   REPSTIME  MFLOPS
=  =  =  ==  ==

atlasmm   60   1000   0.836  516.79

GCC 4.x performance:
./xmm_gc4
ALGORITHM NB   REPSTIME  MFLOPS
=  =  =  ==  ==

atlasmm   60   1000   0.287 1504.66


-- 

uros at kss-loka dot si changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-06-01 08:43:34
   date||


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



[Bug libgcj/20047] runtime 'protected' access checks

2006-06-01 Thread mckinlay at redhat dot com


--- Comment #2 from mckinlay at redhat dot com  2006-06-01 11:07 ---
This rule is mentioned in the last paragraph of JVMS, S 5.4.4:

http://java.sun.com/docs/books/vmspec/2nd-edition/html/ConstantPool.doc.html#75929

It is explicitly stated that this is checked during verification, unlike other
accessibility checks which are performed at link time.


-- 


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



[Bug tree-optimization/27855] New: reassociation pass produces ~30% slower matrix multiplication code

2006-06-01 Thread uros at kss-loka dot si
The testcase from PR target/27827 shows another problem, this time with
-ffast-math. The runtime performance of -ffast-math code drops for ~30%.

The problem could be traced down to reassociation tree pass, because the
performance jumps back when "flag_unsafe_math_optimizations" switch is disabled
by changing every occurence in tree-ssa-reassoc.c with
(flag_unsafe_math_optimizations && 0).

To see the problem, -funsafe-math-optimizations should be added to MMFLAGS in
target/27827 example Makefile:

MM4FLAGS = $(GMMFLAGS) -funsafe-math-optimizations


Current mainline gcc produces code with following results:

-O -mfpmath=387

ALGORITHM NB   REPSTIME  MFLOPS
=  =  =  ==  ==

atlasmm   60   1000   0.260 1663.04

-O -msse2 -mfpmath=sse

ALGORITHM NB   REPSTIME  MFLOPS
=  =  =  ==  ==

atlasmm   60   1000   0.229 1890.47


gcc with disabled reassoc pass for floating point values:

-O -mfpmath=387

ALGORITHM NB   REPSTIME  MFLOPS
=  =  =  ==  ==

atlasmm   60   1000   0.162 2664.87

-O -msse2 -mfpmath=sse

ALGORITHM NB   REPSTIME  MFLOPS
=  =  =  ==  ==

atlasmm   60   1000   0.164 2633.15


-- 
   Summary: reassociation pass produces ~30% slower matrix
multiplication code
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: uros at kss-loka dot si
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu
OtherBugsDependingO 27827
 nThis:


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



[Bug rtl-optimization/27856] New: With -Os, loading a constant to a register can use another register

2006-06-01 Thread etienne_lorrain at yahoo dot fr
$ cat tmp.c
unsigned athird (unsigned val)
  {
  return val / 3;
  }
$ /home/etienne/projet/toolchain/bin/gcc -S -Os -o tmp.s -fomit-frame-pointer
-fverbose-asm tmp.c
$ cat tmp.s
.file   "tmp.c"
# GNU C version 4.1.1 (i686-pc-linux-gnu)
#   compiled by GNU C version 4.1.1.
# GGC heuristics: --param ggc-min-expand=62 --param ggc-min-heapsize=60570
# options passed:  -mtune=pentiumpro -auxbase-strip -Os
# -fomit-frame-pointer -fverbose-asm
# options enabled:  -falign-loops -fargument-alias -fbranch-count-reg
# -fcaller-saves -fcommon -fcprop-registers -fcrossjumping
# -fcse-follow-jumps -fcse-skip-blocks -fdefer-pop
# -fdelete-null-pointer-checks -fearly-inlining
# -feliminate-unused-debug-types -fexpensive-optimizations -ffunction-cse
# -fgcse -fgcse-lm -fguess-branch-probability -fident -fif-conversion
# -fif-conversion2 -finline-functions -finline-functions-called-once
# -fipa-pure-const -fipa-reference -fipa-type-escape -fivopts
# -fkeep-static-consts -fleading-underscore -floop-optimize
# -floop-optimize2 -fmath-errno -fmerge-constants -fomit-frame-pointer
# -foptimize-register-move -foptimize-sibling-calls -fpcc-struct-return
# -fpeephole -fpeephole2 -fregmove -freorder-functions
# -frerun-cse-after-loop -frerun-loop-opt -fsched-interblock -fsched-spec
# -fsched-stalled-insns-dep -fschedule-insns2 -fshow-column
# -fsplit-ivs-in-unroller -fstrength-reduce -fstrict-aliasing
# -fthread-jumps -ftrapping-math -ftree-ccp -ftree-copy-prop
# -ftree-copyrename -ftree-dce -ftree-dominator-opts -ftree-dse -ftree-fre
# -ftree-loop-im -ftree-loop-ivcanon -ftree-loop-optimize -ftree-lrs
# -ftree-salias -ftree-sink -ftree-sra -ftree-store-ccp
# -ftree-store-copy-prop -ftree-ter -ftree-vect-loop-version -ftree-vrp
# -funit-at-a-time -fverbose-asm -fzero-initialized-in-bss -m32 -m80387
# -m96bit-long-double -malign-stringops -mfancy-math-387 -mfp-ret-in-387
# -mieee-fp -mno-red-zone -mpush-args -mtls-direct-seg-refs

# Compiler executable checksum: acc0f3237f8807740daa75cf2b5b2d98

.text
.globl athird
.type   athird, @function
athird:
movl4(%esp), %eax   # val, val
movl$3, %edx#, tmp63
movl%edx, %ecx  # tmp63,
xorl%edx, %edx  # tmp62
divl%ecx#
ret
.size   athird, .-athird
.ident  "GCC: (GNU) 4.1.1"
.section.note.GNU-stack,"",@progbits

  Here tmp63 is not needed and the two lines:
movl$3, %edx#, tmp63
movl%edx, %ecx  # tmp63,
  Should be replaced by:
movl$3, %ecx


-- 
   Summary: With -Os, loading a constant to a register can use
another register
   Product: gcc
   Version: 4.1.1
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: rtl-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: etienne_lorrain at yahoo dot fr
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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



[Bug middle-end/27793] [4.1 Regression] num_ssa_names inconsistent or immediate use iterator wrong

2006-06-01 Thread jakub at gcc dot gnu dot org


--- Comment #11 from jakub at gcc dot gnu dot org  2006-06-01 11:48 ---
Does the C++ FE need the exact decl after gimplification?  If not, perhaps
as a workaround pushdecl_maybe_friend could together with duplicating DECL_UID
also populate a hash table and cp-gimplify.c would use that hash table to make
sure only one of the decls with the same DECL_UID ever makes it into gimple.


-- 


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



[Bug target/21307] internal compiler error: in change_address_1, at emit-rtl.c:1768

2006-06-01 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2006-06-01 12:09 ---
Similar(?) bug on ppc for trunk:

+===GNAT BUG DETECTED==+
| 4.2.0 20060601 (experimental) (SUSE Linux) (powerpc64-suse-linux-gnu) GCC
error:|
| in change_address_1, at emit-rtl.c:1784  |
| Error detected at g-os_lib.adb:2603:1|
| Please submit a bug report; see http://gcc.gnu.org/bugs.html.|
| Use a subject line meaningful to you and us to track the bug.|
| Include the entire contents of this bug box in the report.   |
| Include the exact gcc or gnatmake command that you entered.  |
| Also include sources listed below in gnatchop format |
| (concatenated together with no headers between files).   |
+==+

Please include these source files with error report
Note that list may not be accurate in some cases,
so please double check that the problem can still
be reproduced with the set of files listed.



raised TYPES.UNRECOVERABLE_ERROR : comperr.adb:380
make[7]: *** [g-os_lib.o] Error 1


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu dot
   ||org


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



[Bug tree-optimization/27341] [4.2 Regression] ICE in in add_virtual_operand with complex types

2006-06-01 Thread dberlin at gcc dot gnu dot org


--- Comment #8 from dberlin at gcc dot gnu dot org  2006-06-01 12:22 ---
The SMT related stuff is a red herring.
Someone is not marking things for renaming when they should be.

The following patch will show that (it disables the used alone code).

Index: tree-ssa-operands.c
===
--- tree-ssa-operands.c (revision 114136)
+++ tree-ssa-operands.c (working copy)
@@ -1294,12 +1294,12 @@ add_virtual_operand (tree var, stmt_ann_
  || none_added
  || (TREE_CODE (var) == SYMBOL_MEMORY_TAG
  && for_clobber
- && SMT_USED_ALONE (var)))
+ /*&& SMT_USED_ALONE (var)*/))
{
  /* Every bare SMT def we add should have SMT_USED_ALONE
 set on it, or else we will get the wrong answer on
 clobbers.  */
- if (none_added
+ if (0 && none_added
  && !updating_used_alone && aliases_computed_p
  && TREE_CODE (var) == SYMBOL_MEMORY_TAG)
gcc_assert (SMT_USED_ALONE (var));


-- 


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



[Bug bootstrap/25453] [4.2 Regression] --disable-bootstrap is not documented

2006-06-01 Thread bonzini at gcc dot gnu dot org


--- Comment #5 from bonzini at gnu dot org  2006-06-01 12:28 ---
Subject: Bug 25453

Author: bonzini
Date: Thu Jun  1 12:28:11 2006
New Revision: 114305

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=114305
Log:
2006-06-01  Paolo Bonzini  <[EMAIL PROTECTED]>

PR 25453
* doc/install.texi: Document --enable-bootstrap and
--disable-bootstrap.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/doc/install.texi


-- 


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



[Bug bootstrap/25453] [4.2 Regression] --disable-bootstrap is not documented

2006-06-01 Thread bonzini at gnu dot org


--- Comment #6 from bonzini at gnu dot org  2006-06-01 12:33 ---
documentation committed.


-- 

bonzini at gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug c++/27804] [4.2 regression] ICE with invalid const variable

2006-06-01 Thread reichelt at gcc dot gnu dot org


--- Comment #2 from reichelt at gcc dot gnu dot org  2006-06-01 12:40 
---
Testing a patch.


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |reichelt at gcc dot gnu dot
   |dot org |org


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



[Bug bootstrap/27822] [4.1 only] fastjar is asking for makeinfo in gmake bootstrap

2006-06-01 Thread WILLIAMPAUL dot PHILIBERT at telus dot com


--- Comment #5 from WILLIAMPAUL dot PHILIBERT at telus dot com  2006-06-01 
12:53 ---
Subject: RE:  [4.1 only] fastjar is asking for makeinfo in gmake bootstrap

Sorry M. Pinski, I do not understand your comment.  Do you mean fasjar is
removed from the pre-release and not in the tarballs? 

Besides, the only one available from ftp.gnu.org is the following
/gnu/gcc/gcc-4.1.1/gcc-4.1.1.tar.bz2 wich I assume to be the tarballs.

If I do a simple gmake without the boostrap option I go through all the
compiling.  The problem appears only when I do a gmake bootstrap.



William Paul Philibert
Administrateur UNIX et SAN
[EMAIL PROTECTED]
Hébergement
Telus Corporation Inc.
(418) 722-1280

-Message d'origine-
De : pinskia at gcc dot gnu dot org [mailto:[EMAIL PROTECTED] 
Envoyé : 1 juin 2006 00:57
À : William-Paul Philibert
Objet : [Bug bootstrap/27822] [4.1 only] fastjar is asking for makeinfo in
gmake bootstrap



--- Comment #4 from pinskia at gcc dot gnu dot org  2006-06-01 04:57
---
fastjar is removed in the mainline sources.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|fastjar is asking for   |[4.1 only] fastjar is asking
   |makeinfo in gmake bootstrap |for makeinfo in gmake
   ||bootstrap
   Target Milestone|--- |4.1.2


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

--- You are receiving this mail because: ---
You reported the bug, or are watching the reporter.


-- 


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



[Bug tree-optimization/27858] New: ICE in spill_failure, at reload1.c:1911while bootstrapping 4.2 on alpha

2006-06-01 Thread tbm at cyrius dot com
I get the following ICE when bootstrapping gcc 4.2 20060530 on alpha.  20060508
worked fine.  I'm running delta right now and will send a test case when it's
done.

/build/buildd/gcc-snapshot-20060530/build/./gcc/xgcc
-B/build/buildd/gcc-snapshot-20060530/build/./gcc/
-B/usr/lib/gcc-snapshot/alpha-linux-gnu/bin/
-B/usr/lib/gcc-snapshot/alpha-linux-gnu/lib/ -isystem
/usr/lib/gcc-snapshot/alpha-linux-gnu/include -isystem
/usr/lib/gcc-snapshot/alpha-linux-gnu/sys-include -DHAVE_CONFIG_H -I.
-I../../../../../../src/libjava/classpath/native/fdlibm -I../../include -O2 -g
-O2 -mieee -MT strtod.lo -MD -MP -MF .deps/strtod.Tpo -c
../../../../../../src/libjava/classpath/native/fdlibm/strtod.c  -fPIC -DPIC -o
.libs/strtod.o
../../../../../../src/libjava/classpath/native/fdlibm/strtod.c: In function
'_Jv_strtod_r':
../../../../../../src/libjava/classpath/native/fdlibm/strtod.c:718: error:
unable to find a register to spill in class 'FLOAT_REGS'
../../../../../../src/libjava/classpath/native/fdlibm/strtod.c:718: error: this
is the insn:
(insn 1014 1010 2389 99
../../../../../../src/libjava/classpath/native/fdlibm/strtod.c:345 (set (reg:DF
34 $f2 [orig:288 prephitmp.60 ] [288])
(subreg:DF (const_int 9218868437227405312 [0x7ff0]) 0)) 235
{*movdf_nofix} (nil)
(expr_list:REG_DEAD (reg:DI 875)
(nil)))
../../../../../../src/libjava/classpath/native/fdlibm/strtod.c:718: internal
compiler error: in spill_failure, at reload1.c:1911
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html> for instructions.
make[7]: *** [strtod.lo] Error 1


-- 
   Summary: ICE in spill_failure, at reload1.c:1911while
bootstrapping 4.2 on alpha
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tbm at cyrius dot com
 GCC build triplet: alpha-linux-gnu
  GCC host triplet: alpha-linux-gnu
GCC target triplet: alpha-linux-gnu


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



[Bug tree-optimization/27858] ICE in spill_failure, at reload1.c:1911while bootstrapping 4.2 on alpha

2006-06-01 Thread tbm at cyrius dot com


--- Comment #1 from tbm at cyrius dot com  2006-06-01 13:00 ---
3012:[EMAIL PROTECTED]: ~/tmp/delta/bin] 
/home/tbm/tmp/gcc/20060530-alpha/gcc/xgcc -c
-O1 mini.c
3013:[EMAIL PROTECTED]: ~/tmp/delta/bin] 
/home/tbm/tmp/gcc/20060530-alpha/gcc/xgcc -c
-O2 mini.c
mini.c: In function ‘_Jv_strtod_r’:
mini.c:81: error: unable to find a register to spill in class ‘FLOAT_REGS’
mini.c:81: error: this is the insn:
(insn 35 33 22 4 (set (reg:DF 34 $f2 [orig:70 prephitmp.31 ] [70])
(subreg:DF (const_int 9218868437227405312 [0x7ff0]) 0)) 235
{*movdf_nofix} (nil)
(expr_list:REG_DEAD (reg:DI 139)
(nil)))
mini.c:81: internal compiler error: in spill_failure, at reload1.c:1911
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html> for instructions.
zsh: exit 1 /home/tbm/tmp/gcc/20060530-alpha/gcc/xgcc -c -O2 mini.c
3014:[EMAIL PROTECTED]: ~/tmp/delta/bin]


-- 


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



[Bug tree-optimization/27858] ICE in spill_failure, at reload1.c:1911while bootstrapping 4.2 on alpha

2006-06-01 Thread tbm at cyrius dot com


--- Comment #2 from tbm at cyrius dot com  2006-06-01 13:01 ---
Created an attachment (id=11566)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11566&action=view)
test case


-- 


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



[Bug c/27859] New: Bug in generation of interrupt function code for ARM processor

2006-06-01 Thread jurij dot kotar at gmail dot com
The C compiler generates wrong assembler code for functions with  __attribute__
((interrupt ("IRQ"))). Link register lr in interrupt function is decremented
two times before it is loaded back to the program counter pc. It is decremented
at the beginning of interrupt routime (sub lr, lr, #4) and again at the end
(subspc, lr, #4). It should be decremented only once. Such a bug was also
reported previously (ID 16634, ID 25428). Here is the complete example:


PROGRAM bug.c:

void function( void )
{
volatile unsigned int *a;

a = (unsigned int *)2000;
*a = 1;
*a = 0;
}

void IRQ_Handler( void ) __attribute__ ((interrupt ("IRQ")));
void IRQ_Handler( void )
{
volatile unsigned int s, *a;


a = (unsigned int *)2500;
s = *a;

function();

}

COMPILATION OUTPUT:

arm-4.1.1-eabi-gcc -v -save-temps -Wall -c -O  -o bug.o bug.c
Using built-in specs.
Target: arm-none-eabi
Configured with: ./configure --target=arm-none-eabi
--program-prefix=arm-4.1.1-eabi-
Thread model: single
gcc version 4.1.1
 /usr/local/packages/arm411/bin/../libexec/gcc/arm-none-eabi/4.1.1/cc1 -E
-quiet -v -iprefix
/usr/local/packages/arm411/bin/../lib/gcc/arm-none-eabi/4.1.1/
-D__USES_INITFINI__ bug.c -Wall -O -fpch-preprocess -o bug.i
ignoring nonexistent directory
"/usr/local/packages/arm411/bin/../lib/gcc/arm-none-eabi/4.1.1/../../../../arm-none-eabi/sys-include"
ignoring nonexistent directory "/usr/local/lib/gcc/arm-none-eabi/4.1.1/include"
ignoring nonexistent directory "/usr/local/lib/../arm-none-eabi/sys-include"
ignoring nonexistent directory "/usr/local/lib/../arm-none-eabi/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/packages/arm411/bin/../lib/gcc/arm-none-eabi/4.1.1/include

/usr/local/packages/arm411/bin/../lib/gcc/arm-none-eabi/4.1.1/../../../../arm-none-eabi/include
End of search list.
 /usr/local/packages/arm411/bin/../libexec/gcc/arm-none-eabi/4.1.1/cc1
-fpreprocessed bug.i -quiet -dumpbase bug.c -auxbase-strip bug.o -O -Wall
-version -o bug.s
GNU C version 4.1.1 (arm-none-eabi)
compiled by GNU C version 4.1.1 20060525 (Red Hat 4.1.1-1).
GGC heuristics: --param ggc-min-expand=98 --param ggc-min-heapsize=128878
Compiler executable checksum: 8b248e68ff58c0b76da33bbc4bade307

/usr/local/packages/arm411/bin/../lib/gcc/arm-none-eabi/4.1.1/../../../../arm-none-eabi/bin/as
-meabi=4 -o bug.o bug.s

ASSEMBLER OUTPUT:
.file   "bug.c"
.text
.align  2
.global function
.type   function, %function
function:
@ Function supports interworking.
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
@ lr needed for prologue
mov r3, #0
mov r2, #1
str r2, [r3, #2000]
str r3, [r3, #2000]
bx  lr
.size   function, .-function
.align  2
.global IRQ_Handler
.type   IRQ_Handler, %function
IRQ_Handler:
@ Interrupt Service Routine.
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
sub lr, lr, #4
stmfd   sp!, {r0, r1, r2, r3, ip, lr}
sub sp, sp, #8
mov r3, #0
ldr r3, [r3, #2500]
str r3, [sp, #4]
bl  function
add sp, sp, #8
ldmfd   sp!, {r0, r1, r2, r3, ip, lr}
subspc, lr, #4
.size   IRQ_Handler, .-IRQ_Handler
.ident  "GCC: (GNU) 4.1.1"


Best regards,
Jurij Kotar


-- 
   Summary: Bug in generation of interrupt function code for ARM
processor
   Product: gcc
   Version: 4.1.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jurij dot kotar at gmail dot com
 GCC build triplet: i386-redhat-linux
  GCC host triplet: i386-redhat-linux
GCC target triplet: arm-none-eabi


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



[Bug tree-optimization/27861] New: [4.0,4.1,4.2 regression] ICE in expand_expr_real_1, at expr.c:6916

2006-06-01 Thread tbm at cyrius dot com
I get the following ICE with gcc 4.2 20060508 and 20060530 on mipsel. 
Actually,  I get this with gcc 4.0 and 4.1 too.  gcc 3.4 works.

sh-3.1# /usr/lib/gcc-snapshot/bin/gcc -c -O1 mini.c
mini.c: In function 'do_dror':
mini.c:56: internal compiler error: in expand_expr_real_1, at expr.c:6916
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html> for instructions.
sh-3.1# /usr/lib/gcc-snapshot/bin/gcc -c mini.c

sh-3.1# gcc-4.0 -c -O1 mini.c
mini.c: In function 'do_dror':
mini.c:15: internal compiler error: in expand_expr_real_1, at expr.c:6608
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html> for instructions.
For Debian GNU/Linux specific bug reporting instructions,
see .
sh-3.1# gcc-4.1 -c -O1 mini.c
mini.c: In function 'do_dror':
mini.c:56: internal compiler error: in expand_expr_real_1, at expr.c:6750
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html> for instructions.
For Debian GNU/Linux specific bug reporting instructions,
see .
Preprocessed source stored into /tmp/cckCjb5E.out file, please attach this to
your bugreport.
sh-3.1#


-- 
   Summary: [4.0,4.1,4.2 regression] ICE in expand_expr_real_1, at
expr.c:6916
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tbm at cyrius dot com
 GCC build triplet: mipsel-linux-gnu
  GCC host triplet: mipsel-linux-gnu
GCC target triplet: mipsel-linux-gnu


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



[Bug tree-optimization/27861] [4.0,4.1,4.2 regression] ICE in expand_expr_real_1, at expr.c:6916

2006-06-01 Thread tbm at cyrius dot com


--- Comment #1 from tbm at cyrius dot com  2006-06-01 13:59 ---
Created an attachment (id=11567)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11567&action=view)
test case


-- 


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



[Bug target/27862] New: ICE in change_address_1, at emit-rtl.c:1784

2006-06-01 Thread rguenth at gcc dot gnu dot org
/gcc/abuild/rguenther/obj/stage1-gcc/gnat1 -quiet -dumpbase g-os_lib.adb -O2 -W
-Wall -fPIC -g -mno-minimal-toc -gnatpg -gnatO g-os_lib.o g-os_lib.adb -o
/dev/null
+===GNAT BUG DETECTED==+
| 4.2.0 20060601 (experimental) (powerpc64-suse-linux-gnu) GCC error:  |
| in change_address_1, at emit-rtl.c:1784  |
| Error detected at g-os_lib.adb:2603:1|


gcc_assert (memory_address_p (mode, addr));

(gdb) up
#1  0x10564304 in change_address_1 (memref=0x4040ac70, mode=BLKmode, 
addr=0x4053f2a0, validate=1) at ../../trunk/gcc/emit-rtl.c:1784
1784gcc_assert (memory_address_p (mode, addr));
(gdb) print mode
$1 = BLKmode
(gdb) call debug_rtx (addr)
(symbol_ref:SI ("*.LANCHOR1") [flags 0x182])

#1  0x10564304 in change_address_1 (memref=0x4040ac70, mode=BLKmode, 
addr=0x4053f2a0, validate=1) at ../../trunk/gcc/emit-rtl.c:1784
#2  0x10565a5c in replace_equiv_address (memref=0x4040ac70, addr=0x4053f2a0)
at ../../trunk/gcc/emit-rtl.c:1965
#3  0x1057c9e4 in use_anchored_address (x=0x4040ac70)
at ../../trunk/gcc/explow.c:592
#4  0x105b2f90 in expand_expr_real_1 (exp=0x400e4ee0, target=0x0, 
tmode=SImode, modifier=EXPAND_CONST_ADDRESS, alt_rtl=0x0)
at ../../trunk/gcc/expr.c:6883
...
#11 0x1057a120 in expand_normal (exp=0x40119600) at expr.h:499
#12 0x105771f4 in output_ttype (type=0x40119600, tt_format=155, 
tt_format_size=4) at ../../trunk/gcc/except.c:3591
#13 0x10577dc8 in output_function_exception_table ()
at ../../trunk/gcc/except.c:3787
#14 0x105d4d48 in rest_of_handle_final () at ../../trunk/gcc/final.c:3929
#15 0x108f3dbc in execute_one_pass (pass=0x10df2374)
at ../../trunk/gcc/passes.c:864

in expanding of gnat__os_lib__copy_file.

Which breaks bootstrap with Ada on ppc.  Maybe related to 21307.


-- 
   Summary: ICE in change_address_1, at emit-rtl.c:1784
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rguenth at gcc dot gnu dot org
GCC target triplet: powerpc64-linux-gnu
 BugsThisDependsOn: 21307


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



[Bug target/27862] ICE in change_address_1, at emit-rtl.c:1784

2006-06-01 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2006-06-01 14:13 ---
Reproduces also with

/abuild/rguenther/obj/stage1-gcc/gnat1 -quiet -dumpbase g-os_lib.adb -O0
-gnatpg -gnatO g-os_lib.o g-os_lib.adb -o /dev/null

-fno-section-anchors fixes it.


-- 


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



[Bug target/27862] ICE in change_address_1, at emit-rtl.c:1784

2006-06-01 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2006-06-01 14:17 ---
err, -O, not -O0 in previous comment.  Obviously.


-- 


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



[Bug target/27862] ICE in change_address_1, at emit-rtl.c:1784

2006-06-01 Thread dje at gcc dot gnu dot org


--- Comment #3 from dje at gcc dot gnu dot org  2006-06-01 14:20 ---
dup

*** This bug has been marked as a duplicate of 27536 ***


-- 

dje at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug middle-end/27536] [4.2 Regression] -fsection-anchors breaks Ada

2006-06-01 Thread dje at gcc dot gnu dot org


--- Comment #12 from dje at gcc dot gnu dot org  2006-06-01 14:20 ---
*** Bug 27862 has been marked as a duplicate of this bug. ***


-- 

dje at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu dot
   ||org


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



[Bug middle-end/27793] [4.1 Regression] num_ssa_names inconsistent or immediate use iterator wrong

2006-06-01 Thread mark at codesourcery dot com


--- Comment #12 from mark at codesourcery dot com  2006-06-01 14:59 ---
Subject: Re:  [4.1 Regression] num_ssa_names inconsistent
 or immediate use iterator wrong

jakub at gcc dot gnu dot org wrote:
> --- Comment #11 from jakub at gcc dot gnu dot org  2006-06-01 11:48 
> ---
> Does the C++ FE need the exact decl after gimplification?  If not, perhaps
> as a workaround pushdecl_maybe_friend could together with duplicating DECL_UID
> also populate a hash table and cp-gimplify.c would use that hash table to make
> sure only one of the decls with the same DECL_UID ever makes it into gimple.

That's a good idea!  I would still like to fix this "the right way" at
some point (because there are other problems that would solve as well),
but your idea would probably move the hack from the middle end into the
front end.

To answer your question directly, since the C++ front end is always
unit-at-a-time, it doesn't care at all what happens after
gimplification; by the time it's gimplifying, it's done all the semantic
analysis it's going to do.


-- 


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



[Bug other/27850] gcov-enabled sh-elf compiler fails to build

2006-06-01 Thread amylaar at gcc dot gnu dot org


--- Comment #2 from amylaar at gcc dot gnu dot org  2006-06-01 15:23 ---
(In reply to comment #1)
> --with-headers with a combined build is not really a good thing.
> 
--with-headers is required for cross compilers in order to build a working
libgcov.  A working libgcov is required for profiling and profile-directed
optimizations, and hence for a successfull regression test.


-- 


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



[Bug target/27855] reassociation pass produces ~30% slower matrix multiplication code

2006-06-01 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-06-01 15:26 ---
There is nothing special about reassociation at all.  In fact what you are
seeing is register allocator going funky.  This what you get with x87.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|tree-optimization   |target
   Keywords||ra


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



[Bug target/27858] [4.2 Regression] ICE in spill_failure, at reload1.c:1911while bootstrapping 4.2 on alpha

2006-06-01 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|tree-optimization   |target
   Keywords||build, ice-on-valid-code
Summary|ICE in spill_failure, at|[4.2 Regression] ICE in
   |reload1.c:1911while |spill_failure, at
   |bootstrapping 4.2 on alpha  |reload1.c:1911while
   ||bootstrapping 4.2 on alpha
   Target Milestone|--- |4.2.0


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



[Bug libgcj/27860] build failure on m68k: error: 'ffi_closure' does not name a type

2006-06-01 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||gcc-bugs at gcc dot gnu dot
   ||org


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



[Bug tree-optimization/27861] [4.0/4.1/4.2 regression] ICE in expand_expr_real_1, at expr.c:6916

2006-06-01 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Keywords||ice-on-valid-code
  Known to work||3.4.6
Summary|[4.0,4.1,4.2 regression] ICE|[4.0/4.1/4.2 regression] ICE
   |in expand_expr_real_1, at   |in expand_expr_real_1, at
   |expr.c:6916 |expr.c:6916
   Target Milestone|--- |4.0.4


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



[Bug fortran/27715] Extented ASCII characters lead to wrong "CASE" selection

2006-06-01 Thread fxcoudert at gcc dot gnu dot org


--- Comment #12 from fxcoudert at gcc dot gnu dot org  2006-06-01 15:44 
---
(In reply to comment #11)
> Index: arith.c
> ===
> --- arith.c (revision 114111)
> +++ arith.c (working copy)
> @@ -1133,8 +1133,10 @@ gfc_compare_string (gfc_expr * a, gfc_ex
> 
>for (i = 0; i < len; i++)
>  {
> -  ac = (i < alen) ? a->value.character.string[i] : ' ';
> -  bc = (i < blen) ? b->value.character.string[i] : ' ';
> +  /* We cast to unsigned char because default char, if it is signed,
> + would lead to ac<0 for string[i] > 127.  */
> +  ac = (unsigned char) ((i < alen) ? a->value.character.string[i] : ' ');
> +  bc = (unsigned char) ((i < blen) ? b->value.character.string[i] : ' ');
> 
>if (xcoll_table != NULL)
> {

OK. Although I still like better my previous patch, there's no point arguing
over this for years. Go ahead!


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

URL|http://gcc.gnu.org/ml/fortra|
   |n/2006-05/msg00489.html |


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



[Bug target/27863] New: [4.2 Regression] ICE in check_cfg, at haifa-sched.c:4615

2006-06-01 Thread rguenth at gcc dot gnu dot org
gcc -c -O2 e3.c

e3.c:1803: internal compiler error: in check_cfg, at haifa-sched.c:4615
Please submit a full bug report,
with preprocessed source if appropriate.
See http://www.suse.de/feedback> for instructions.


-- 
   Summary: [4.2 Regression] ICE in check_cfg, at haifa-sched.c:4615
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rguenth at gcc dot gnu dot org
GCC target triplet: ia64-linux-gnu


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



[Bug target/27863] [4.2 Regression] ICE in check_cfg, at haifa-sched.c:4615

2006-06-01 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2006-06-01 15:50 ---
Created an attachment (id=11569)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11569&action=view)
testcase (unreduced)

Testcase.  Reducing currently.


-- 


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



[Bug target/27863] [4.2 Regression] ICE in check_cfg, at haifa-sched.c:4615

2006-06-01 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
   Severity|normal  |critical
   Target Milestone|--- |4.2.0


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



[Bug target/27863] [4.2 Regression] ICE in check_cfg, at haifa-sched.c:4615

2006-06-01 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2006-06-01 15:57 ---
Reduced testcase:

long stack[100];
int main(int argc,char**argv,char **envp)
{
  long *esp=stack;
  static void* jarray[]={ &&KeyCtrlKV };
 *++esp=(long)&&_loc0;
 goto SetTermStruc;
 _loc0:;
 *++esp=(long)&&_loc1;
 _loc1:;
*++esp=(long)&&_loc35;
 _loc35:;
goto *(*esp--);
*++esp=(long)&&_loc36;
 _loc36:;
*++esp=(long)&&_loc37;
 _loc37:;
KeyCtrlKV:
*++esp=(long)&&_loc66;
_loc66:;
*++esp=(long)&&_loc106;
 _loc106:;
*++esp=(long)&&_loc119;
 _loc119:;
SetTermStruc:
 goto *(*esp--);
}


-- 


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



[Bug target/27827] gcc 4 produces worse x87 code on all platforms than gcc 3

2006-06-01 Thread whaley at cs dot utsa dot edu


--- Comment #10 from whaley at cs dot utsa dot edu  2006-06-01 16:02 ---
Created an attachment (id=11571)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11571&action=view)
Same benchmark, but with single precision timing included

Here's the same benchmark, but can time single as well as double precision, in
case you want to play with the SSE code.


-- 


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



[Bug target/27827] gcc 4 produces worse x87 code on all platforms than gcc 3

2006-06-01 Thread whaley at cs dot utsa dot edu


--- Comment #11 from whaley at cs dot utsa dot edu  2006-06-01 16:26 ---
Subject: Re:  gcc 4 produces worse x87 code on all platforms than gcc 3

Uros,

OK, I originally replied a couple of hours ago, but that is not appearing on
bugzilla for some reason, so I'll try again, this time CCing myself so
I don't have to retype everything :)

>gcc version 3.4.6
>vs.
>gcc version 4.2.0 20060601 (experimental)
>
>-fomit-frame-pointer -O -msse2 -mfpmath=sse
>
>There is a small performance drop on gcc-4.x, but nothing critical.
>
>I can confirm, that code indeed runs >50% slower on 64bit athlon. Perhaps the
>problem is in the order of instructions (Software Optimization Guide for AMD
>Athlon 64, Section 10.2). The gcc-3.4 code looks similar to the example, how
>things should be, and gcc-4.2 code looks similar to the example, how things
>should _NOT_ be.

First, thanks for looking into this!  As to your point, yes, I am aware
that gcc4-sse can get almost the same performance as gcc3-x87 (though not
quite), and in fact can do so on the Athlon 64 as well, 
**but only for double precision**.  To get SSE within a few percent of x87
on the AMD machine, you use a different kernel (remember, I'm sending you an
example out of many), and throw the following flags:
   -march=athlon64 -O2 -mfpmath=sse -msse -msse2 -m64 \
   -ftree-vectorize -fargument-noalias-global 
(note this does not vectorize the code, but I throw the flag in the hope that
 future versions will :)

Note that my bug report concentrates on "x87 performance"!  There are reasons
to use x87 even if scalar SSE is competitive performance-wise, as the x87
unit produces much superior accuracy.  However, even if we were to take the
tack (and gcc may be doing this for all I know) that once scalar SSE can
compete
performance wise, the x87 unit will no longer be supported, we must also
examine single precision performance.  For single precision performance,
I have never gotten any scalar SSE kernel to compete even close to the gcc3-x87
numbers.  I believe (w/o having proved it) that this is probably due to the
cost of using the scalar load: double precision can use the low-overhead movlpd
instruction, but single must use MOVSS, which is **much** slower than FLD,
and so any kernel using scalar SSE blows chunks.  ATLAS's best case gcc4-sse
kernel gets roughly half of the gcc-x87 performance on an Athlon-64, and
something like 80% on a P4e (note that intel machines have half the theoretical
peak for x87 [AMD: 2 flops/cycle, Intel: 1 flop/cycle]: getting a large % of
performance gets easier the lower your peak gets!).

I originally submitted a double precision kernel, because that showed the
x87 performance problem, and allowed me to reuse the infrastructure I
created for an earlier bug report (bugzilla 4991).  I have just uploaded
an example attachment that can time both single and double precision
performance, if you want to confirm for yourself that SSE is not competitive
for single precision.

Thanks,
Clint


-- 


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



[Bug target/27858] [4.2 Regression] ICE in spill_failure, at reload1.c:1911while bootstrapping 4.2 on alpha

2006-06-01 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-06-01 16:28 ---
I can reproduce this with 4.2.0 Mon May 29 22:03:29 UTC 2006 (revision 114217M)


-- 


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



[Bug target/27858] [4.2 Regression] ICE in spill_failure, at reload1.c:1911while bootstrapping 4.2 on alpha

2006-06-01 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2006-06-01 17:14 ---
Confirmed, a little more reduced testcase:
typedef unsigned int uint32_t;
union double_union
{
double d;
uint32_t i[2];
};
int *_Jv_s2b (void);
int *_Jv_Balloc (int);
double _Jv_strtod_r (int *ptr, char *se, int e1, union double_union rv0, int
sign, long y)
{
union double_union rv;
int *bd = 0 , *bd0 = 0;
if (e1 > 308)
{
ovfl:
(rv.i[1]) = 0x7ff0L;
(rv.i[0]) = 0;
if (bd0)
goto retfree;
goto ret;
}
if (!rv.d)
rv.d = 0.;
bd0 = _Jv_s2b ();
for (;;)
{
bd = _Jv_Balloc (*bd0);
if (!rv.d)
goto retfree;
if (y == ((uint32_t) 0x10L) )
if (((rv.i[1]) & ((uint32_t) 0x7ff0L))
 >= ((uint32_t) 0x10L) * (1994))
if ((rv0.i[1]) ==  (((uint32_t) 0xfL) | ((uint32_t)
0x10L) * (2046))
&& (rv0.i[0]) == ((uint32_t) 0xL))
goto ovfl;
_Jv_Bfree1 ();
}
retfree:
_Jv_Bfree (ptr);
ret:
*se = 0;
return sign ? -rv.d : rv.d;
}


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-06-01 17:14:11
   date||


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



[Bug target/27856] With -Os, loading a constant to a register can use another register

2006-06-01 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-06-01 17:21 ---
Confirmed, this is a RA issue.
Before register allocation:
(insn:HI 10 7 11 2 (set (reg:SI 63)
(const_int 3 [0x3])) 34 {*movsi_1} (nil)
(expr_list:REG_EQUIV (const_int 3 [0x3])
(nil)))

(insn:HI 11 10 15 2 (parallel [
(set (reg:SI 61)
(udiv:SI (reg/v:SI 59 [ val ])
(reg:SI 63)))
(set (reg:SI 62)
(umod:SI (reg/v:SI 59 [ val ])
(reg:SI 63)))
(clobber (reg:CC 17 flags))
]) 197 {udivmodsi4} (insn_list:REG_DEP_TRUE 6 (insn_list:REG_DEP_TRUE
10 (nil)))
(expr_list:REG_UNUSED (reg:CC 17 flags)
(expr_list:REG_UNUSED (reg:SI 62)
(expr_list:REG_DEAD (reg/v:SI 59 [ val ])
(expr_list:REG_DEAD (reg:SI 63)
(expr_list:REG_UNUSED (reg:CC 17 flags)
(expr_list:REG_UNUSED (reg:SI 62)
(nil

---
After:
(insn:HI 10 7 30 2 (set (reg:SI 1 dx [63])
(const_int 3 [0x3])) 34 {*movsi_1} (nil)
(expr_list:REG_EQUIV (const_int 3 [0x3])
(nil)))

(insn 30 10 11 2 (set (reg:SI 2 cx)
(reg:SI 1 dx [63])) 34 {*movsi_1} (nil)
(nil))

(insn:HI 11 30 15 2 (parallel [
(set (reg:SI 0 ax [61])
(udiv:SI (reg/v:SI 0 ax [orig:59 val ] [59])
(reg:SI 2 cx)))
(set (reg:SI 1 dx [62])
(umod:SI (reg/v:SI 0 ax [orig:59 val ] [59])
(reg:SI 2 cx)))
(clobber (reg:CC 17 flags))
]) 197 {udivmodsi4} (insn_list:REG_DEP_TRUE 6 (insn_list:REG_DEP_TRUE
10 (nil)))
(nil))


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||ra
   Last reconfirmed|-00-00 00:00:00 |2006-06-01 17:21:06
   date||


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



[Bug target/27856] With -Os, loading a constant to a register can use another register

2006-06-01 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-06-01 17:24 ---
And "yara" gets this correct.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  BugsThisDependsOn||18427


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



[Bug tree-optimization/27865] New: tree check failure building FreePOOMA

2006-06-01 Thread janis at gcc dot gnu dot org
FreePOOMA 2.4.1 fails to build on powerpc-linux with beginning with this patch:

http://gcc.gnu.org/viewcvs?view=rev&rev=114057

r114057 | rakdver | 2006-05-24 22:55:15 + (Wed, 24 May 2006)

Output with a minimized testcase:

elm3b145% /opt/gcc-nightly/trunk/bin/g++ -c -O2 poomabug.cc
poomabug.cc: In constructor ‘GLD::GLD(const II&, const PP&, const
CM&) [with PP = GP<2> ()(), int Dim = 2]’:
poomabug.cc:117: internal compiler error: tree check: expected integer_type or
enumeral_type or boolean_type or real_type, have pointer_type in
adjust_range_with_scev, at tree-vrp.c:2079
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html> for instructions.


-- 
   Summary: tree check failure building FreePOOMA
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: janis at gcc dot gnu dot org
GCC target triplet: powerpc-linux


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



[Bug tree-optimization/27865] tree check failure building FreePOOMA

2006-06-01 Thread janis at gcc dot gnu dot org


--- Comment #1 from janis at gcc dot gnu dot org  2006-06-01 17:45 ---
Created an attachment (id=11574)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11574&action=view)
minimized testcase


-- 


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



[Bug target/27858] [4.2 Regression] ICE in spill_failure, at reload1.c:1911while bootstrapping 4.2 on alpha

2006-06-01 Thread janis at gcc dot gnu dot org


--- Comment #5 from janis at gcc dot gnu dot org  2006-06-01 17:50 ---
A regression hunt using an alpha-linux cross compiler on powerpc64-linux with
the testcase mini.c identified the following patch:

http://gcc.gnu.org/viewcvs?view=rev&rev=113632

r113632 | sayle | 2006-05-08 21:09:49 + (Mon, 08 May 2006)


-- 

janis at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||sayle at gcc dot gnu dot org


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



[Bug tree-optimization/27865] [4.2 Regression] tree check failure building FreePOOMA

2006-06-01 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
Summary|tree check failure building |[4.2 Regression] tree check
   |FreePOOMA   |failure building FreePOOMA
   Target Milestone|--- |4.2.0


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



[Bug middle-end/27781] [4.1/4.2 Regression] weak-attribute over-optimisation

2006-06-01 Thread trini at kernel dot crashing dot org


--- Comment #4 from trini at kernel dot crashing dot org  2006-06-01 18:36 
---
(In reply to comment #3)
> Actually no, you have to use -fPIC to get this not to be optimized, otherwise
> func will be bound locally which is not what you want.

Two things.  First, that's a change in behavior from how it used to work and I
don't recall seeing warnings about going-away behavior (the place this problem
is actually manifesting is in code for the Linux Kernel).

Second there is some sort of bug here as if we have:
$ cat file-a.c
void __attribute__((weak)) func(void)
{
printf("weak\n");
}

main()
{
func();
}
$ cat file-b.c
void func(void)
{
printf("func\n");
}
$ gcc-4.1 -c file-a.c file-b.c -O2
file-a.c: In function 'func':
file-a.c:3: warning: incompatible implicit declaration of built-in function
'printf'
file-b.c: In function 'func':
file-b.c:3: warning: incompatible implicit declaration of built-in function
'printf'
$ gcc-4.1 -o program file-a.o file-b.o
$ ./program
func
$ gcc-4.1 -o program file-a.o
$ ./program
weak
$ gcc-4.1 -v
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v
--enable-languages=c,c++,java,fortran,objc,obj-c++,ada,treelang --prefix=/usr
--enable-shared --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --enable-nls
--program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu
--enable-libstdcxx-debug --enable-java-awt=gtk --enable-gtk-cairo
--with-java-home=/usr/lib/jvm/java-1.4.2-gcj-4.1-1.4.2.0/jre --enable-mpfr
--enable-checking=release x86_64-linux-gnu
Thread model: posix
gcc version 4.1.0 (Debian 4.1.0-1)


-- 

trini at kernel dot crashing dot org changed:

   What|Removed |Added

 CC||trini at kernel dot crashing
   ||dot org


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



[Bug target/27827] gcc 4 produces worse x87 code on all platforms than gcc 3

2006-06-01 Thread whaley at cs dot utsa dot edu


--- Comment #12 from whaley at cs dot utsa dot edu  2006-06-01 18:43 ---
Subject: Re:  gcc 4 produces worse x87 code on all platforms than gcc 3

Uros,


>gcc version 3.4.6
>vs.
>gcc version 4.2.0 20060601 (experimental)
>
>-fomit-frame-pointer -O -msse2 -mfpmath=sse
>There is a small performance drop on gcc-4.x, but nothing critical.
>I can confirm, that code indeed runs >50% slower on 64bit athlon. Perhaps the
>problem is in the order of instructions (Software Optimization Guide for AMD
>Athlon 64, Section 10.2). The gcc-3.4 code looks similar to the example, how
>things should be, and gcc-4.2 code looks similar to the example, how things
>should _NOT_ be.

Thanks for looking into this!  However, I am indeed aware that by using SSE2
you
can get the double precision results fairly close to the x87 on most platforms.
In fact, you can get gcc 4.1-sse within a few % of gcc 3-x87 on the Athlon 64
as well, by changing the kernel you feed gcc, and giving it these flags:
   -march=athlon64 -O2 -mfpmath=sse -msse -msse2 -m64 \ 
   -ftree-vectorize -fargument-noalias-global
(this doesn't make it vectorize, but I throw the flag for future hope :)

Now, sometimes you want to use the x87 unit because of its superior precision,
but the real problem with the approach of "ignore the x87 performance and
just use SSE" comes in single precision.  The performance of the best
kernel found by ATLAS in single precision using gcc4.1-sse is roughly half
of that of using the x87 unit on an Athlon-64, and 80% on a P4e (one reason
they are closer on the P4e is that the P4e's x87 peak is 1/2 that of the
Athlon [AMD machines can do 2 flops/cycle using the x87, whereas intel machines
can do only 1]), so there's not as large a gap between excellent and
non-so-excellent kernels).  My guess (and it's only a guess) for the reason
scalar double-precision sse can compete and single cannot comes down to the
cost of doing scalar load and stores.  In double, you can use movlpd instead of
movsd for a low-overhead vector load, but in single you must use movss, and
since movss is much more expensive than fld, scalar SSE always blows in
comparison to x87 . . .

So, that's why my error report concentrated on "x87 performance".  I submitted
in double precision because I had a preexisting Makefile/source demonstrating
the performance problem from a prior bug report (bugzilla 4991).  I think
we should not blow off the x87 performance even if SSE *was* competitive,
because there are times when the x87 is better.  However, in single precision,
scalar SSE is not competitive, at least on the platforms I have tried.  If you
guys are planning on deprecating the x87 unit when SSE is competitive on modern
machines, I can certainly rework the tarfile so I can send you single precision
benchmark, so you can see the sse/x87 performance gap yourself.  Let me know
if you want this, as I'll need to do a bit of extra work.

Thanks,
Clint


-- 


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



[Bug fortran/27866] New: Warn when casting, e.g. assigning a double precision to a real

2006-06-01 Thread tobias dot burnus at physik dot fu-berlin dot de
In the following program there is clearly a problem with the "r = d"
assignment. In most real programs such drastic case does not happen. However,
simple precision loss or worse things may occure.

gfortran -Wall should warn, but it does not deserve a default warning.

program test
  double precision :: d
  real   :: r
  d = 4d99
  r = d
  print *, d, r
end program test

g95 -Wall shows:
  r = d
   1
Warning (140): Implicit conversion at (1) may cause precision loss


-- 
   Summary: Warn when casting, e.g. assigning a double precision to
a real
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tobias dot burnus at physik dot fu-berlin dot de


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



[Bug libstdc++/27867] New: compile error in repeated application of valarray<>::operator==

2006-06-01 Thread tegtmeye at eecis dot udel dot edu
| Hello,
|
| I found some unexpected behavior in valarray, couldn't find anything
| previous referencing it, and I thought that I'd write before
| (erroneously??) submitting a bug.
|
| Simple case: repeated application of operator==
|
| Silly example:
|
| std::valarray v1(100,1);
| std::valarray v2(100,1);
| std::valarray v3(100,true);
|
| std::valarray res;
|
| res = ((v1 == v2) == v3);
|
|
| This returns a compile error.
|
|
| test.cc: In function `int main()':
| test.cc:16: error: no match for 'operator==' in 'std::operator== [with _Tp
| = int](((const std::valarray&)((const std::valarray*)(& v1))),
| ((const std::valarray&)((const std::valarray*)(& v2 == v1'
| /usr/include/gcc/darwin/4.0/c++/bits/valarray_after.h:394: note:
| candidates are: std::_Expr, typename
| std::__fun::result_type>
| std::operator==(const std::_Expr<_Dom1, typename _Dom1::value_type>&,
| const std::valarray&) [with _Dom =
| std::_BinClos]
| /usr/include/gcc/darwin/4.0/c++/bits/valarray_after.h:394: note:
| std::_Expr, typename std::__fun::result_type> std::operator==(const
| std::_Expr<_Dom1, typename _Dom1::value_type>&, const typename
| _Dom::value_type&) [with _Dom = std::_BinClos]
|
|
| This seems to happen regardless of the type of v3 BTW.

Hmm, that must be a bug; please could you fill a PR in the GCC
bugzilla database

http://gcc.gnu.org/bugzilla/

and put me ([EMAIL PROTECTED]) in the CC:, and assign it to me?
Thanks!

-- Gaby


-- 
   Summary: compile error in repeated application of
valarray<>::operator==
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tegtmeye at eecis dot udel dot edu


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



[Bug tree-optimization/23452] Optimizing CONJG_EXPR (a) * a

2006-06-01 Thread tkoenig at gcc dot gnu dot org


--- Comment #4 from tkoenig at gcc dot gnu dot org  2006-06-01 19:13 ---
(In reply to comment #3)
> This is now fixed on mainline provided the user specifies -ffast-math.
> There are some complications where imagpart(z*~z) can be non-zero, if
> imagpart(z) is non-finite, such as an Inf or a NaN.  It's unclear from
> the fortran-95 standard whether gfortran is allowed to optimize this
> even without -ffast-math.

I'll ask con comp.lang.fortran :-)


-- 


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



[Bug bootstrap/27794] stack explosion

2006-06-01 Thread ebotcazou at gcc dot gnu dot org


--- Comment #2 from ebotcazou at gcc dot gnu dot org  2006-06-01 19:14 
---
azuma% grep maxssiz /stand/system
tunable maxssiz 16777216
azuma% swapinfo
 Kb  Kb  Kb   PCT  START/  Kb
TYPE  AVAILUSEDFREE  USED   LIMIT RESERVE  PRI  NAME
dev 4194304   83860 41104442%   0   -1  /dev/vg00/lvol2
reserve   -  173972 -173972
memory  2085688 1108444  977244   53%


-- 


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



[Bug fortran/15502] [meta-bug] bugs needed for SPEC CPU 2K and 2K6 and 95

2006-06-01 Thread pault at gcc dot gnu dot org


--- Comment #7 from pault at gcc dot gnu dot org  2006-06-01 19:19 ---
I think that this one can be declared well and truly gone for the time
being.

Paul


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug fortran/27715] Extented ASCII characters lead to wrong "CASE" selection

2006-06-01 Thread tkoenig at gcc dot gnu dot org


--- Comment #13 from tkoenig at gcc dot gnu dot org  2006-06-01 19:24 
---
Subject: Bug 27715

Author: tkoenig
Date: Thu Jun  1 19:23:56 2006
New Revision: 114317

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=114317
Log:
2006-06-01  Thomas Koenig  <[EMAIL PROTECTED]>

PR fortran/27715
* arith.c:  Cast the characters from the strings to unsigned
char to avoid values less than 0 for extended ASCII.

2006-06-01  Thomas Koenig  <[EMAIL PROTECTED]>

PR fortran/27715
* gfortran.dg/extended_char_comparison_1.f:  New test.


Added:
trunk/gcc/testsuite/gfortran.dg/extended_char_comparison_1.f
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/arith.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug libgcj/27860] build failure on m68k: error: 'ffi_closure' does not name a type

2006-06-01 Thread tbm at cyrius dot com


--- Comment #2 from tbm at cyrius dot com  2006-06-01 20:01 ---
I'm CCing Andreas Schwab since he apparently ported ffi to m68k.  I noticed
that the part of the code that produces the error is within an ifdef
USE_LIBFFI, so possibly disabling ffi on m68k would allow it to compile.  But
maybe the real fix would be to update ffi on m68k or something.  Maybe Andreas
can take a look and/or comment.


-- 


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



Re: @dircategory Software development

2006-06-01 Thread Joseph S. Myers
On Mon, 29 May 2006, Karl Berry wrote:

> rms asked me to try systematize the Texinfo dir categories to match the
> Free Software Directory where possible.  So I hope you will be ok
> with changing the gcc manuals to say
> @dircategory Software development
> instead of
> @dircategory Programming
> (and "Software libraries" instead of "GNU libraries" for libiberty.)
> 
> A patch is appended.  I left the "GNU Ada Tools" manuals alone
> (gnat_rm.texi and gnat_ugn.texi), since it wasn't immediately clear to
> me why they were categorized differently than the rest.  Whatever you
> think best.

Please submit a patch against SVN trunk to [EMAIL PROTECTED] with 
ChangeLog entries for each relevant ChangeLog.  (As a doc fix it can be 
applied to release branches as well as trunk, and the same patch might 
apply to both, but we need to fix trunk first.)

http://gcc.gnu.org/contribute.html

-- 
Joseph S. Myers   http://www.srcf.ucam.org/~jsm28/gcc/
[EMAIL PROTECTED] (personal mail)
[EMAIL PROTECTED] (CodeSourcery mail)
[EMAIL PROTECTED] (Bugzilla assignments and CCs)


[Bug fortran/27866] Warn when casting, e.g. assigning a double precision to a real

2006-06-01 Thread tkoenig at gcc dot gnu dot org


--- Comment #1 from tkoenig at gcc dot gnu dot org  2006-06-01 21:09 ---
(In reply to comment #0)
> In the following program there is clearly a problem with the "r = d"
> assignment. In most real programs such drastic case does not happen. However,
> simple precision loss or worse things may occure.
> 
> gfortran -Wall should warn, but it does not deserve a default warning.

There is -Wconversion, but this also warns the wrong way around.


-- 

tkoenig at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||tkoenig at gcc dot gnu dot
   ||org


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



[Bug fortran/27868] New: Array reference out of bounds check should state file/line number or should at least crash

2006-06-01 Thread tobias dot burnus at physik dot fu-berlin dot de
It is really helpful to have a program which stops with

   Fortran runtime error: Array reference out of bounds

when compiled with -fbounds-check. Because one has no idea where this happens.

Expected: At least crash so that one can do a backtrace in the debugger. Or
write out the file/line number/variable name ...

(Sorry for being sarcastic. The program runs ok with all checks turned on in
the ifort 9.1, but crashes very early with gfortran 4.1 [glibc reports a double
free].)


-- 
   Summary: Array reference out of bounds check should state
file/line number or should at least crash
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tobias dot burnus at physik dot fu-berlin dot de


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



[Bug target/27842] Miscompile of Altivec vec_abs (float) inside loop

2006-06-01 Thread uweigand at gcc dot gnu dot org


--- Comment #4 from uweigand at gcc dot gnu dot org  2006-06-01 21:30 
---
Yes, that makes sense -- in fact, it looks like altivec_vslw_v4sf can then be
removed as well.  I'm currenly testing a patch to that effect ...


-- 


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



[Bug fortran/27868] Array reference out of bounds check should state file/line number or should at least crash

2006-06-01 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-06-01 21:30 ---
Why not use gdb?


-- 


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



[Bug target/27842] Miscompile of Altivec vec_abs (float) inside loop

2006-06-01 Thread pinskia at gcc dot gnu dot org


--- Comment #5 from pinskia at gcc dot gnu dot org  2006-06-01 21:31 ---
Thanks for taking care of this.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-06-01 21:31:41
   date||


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



[Bug libstdc++/27867] compile error in repeated application of valarray<>::operator==

2006-06-01 Thread pcarlini at suse dot de


--- Comment #1 from pcarlini at suse dot de  2006-06-01 21:37 ---
Gaby, I had a quick look and maybe it's just a trivial typo: the below seems
right to me and certainly fixes the testcase without regressions... What do you
 think?

Thanks, Paolo.

//

Index: include/bits/valarray_before.h
===
--- include/bits/valarray_before.h  (revision 114214)
+++ include/bits/valarray_before.h  (working copy)
@@ -589,7 +589,7 @@
 : _BinBase<_Oper, valarray<_Tp>, valarray<_Tp> >
 {
   typedef _BinBase<_Oper, valarray<_Tp>, valarray<_Tp> > _Base;
-  typedef _Tp value_type;
+  typedef typename _Base::value_type value_type;

   _BinClos(const valarray<_Tp>& __v, const valarray<_Tp>& __w)
   : _Base(__v, __w) {}


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

 CC||pcarlini at suse dot de


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



[Bug target/27077] [x86, 4.1] builtin strlen poor performance

2006-06-01 Thread christophe dot jaillet at wanadoo dot fr


--- Comment #3 from christophe dot jaillet at wanadoo dot fr  2006-06-01 
21:37 ---
On my AMD Athlon and current HEAD and, I have other results, i.e. 2 or 3 times
FASTER :

(using your 19 bytes long 'aaa..' string)

stringfrom
lengthbuiltin library
  (-O2)   (-fno-builtin -O2)

190.4841.172


-- 


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



[Bug fortran/27868] Array reference out of bounds check should state file/line number or should at least crash

2006-06-01 Thread tobias dot burnus at physik dot fu-berlin dot de


--- Comment #2 from tobias dot burnus at physik dot fu-berlin dot de  
2006-06-01 21:41 ---
> Why not use gdb?
I don't see how gdb helps pinpointing the array-out-of-bound problem. As said:
the program ends with
  Fortran runtime error: Array reference out of bounds
  Program exited with code 02.
but it does not crash. Thus there is no backtrace available to pinpoint the
problem.

If you mean for the double-free: It crashes at a deallocate() which looks
rather innocent (as does the whole file). My feeling is that something gets
corrupted duing a subroutine call.


-- 


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



[Bug target/26427] [4.2 Regression] with -fsection-anchors with zero sized structs

2006-06-01 Thread geoffk at gcc dot gnu dot org


--- Comment #15 from geoffk at gcc dot gnu dot org  2006-06-01 21:49 ---
After discussion with Mike, I don't think Andrew's fix is right either.

If varasm.c wants to be able to predict memory layout, then what it needs to do
is ensure that the memory layout is seen as a single unit by the linker.  This
can only be done by ensuring that the layout contains no linker-visible labels,
that is all the labels inside the layout must start with 'L'.  If this is done,
then the linker is not involved and zero-sized objects can be zero sized.


-- 


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



[Bug fortran/27868] Array reference out of bounds check should state file/line number or should at least crash

2006-06-01 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-06-01 21:50 ---
You set your break point on exit in gdb and run your program and then you get
the backtrace and look where the problem comes from, There is no magic going on
with -fbounds-check

Anyways this is a dup of bug 23375.

*** This bug has been marked as a duplicate of 23375 ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug fortran/23375] show location for runtime errors

2006-06-01 Thread pinskia at gcc dot gnu dot org


--- Comment #7 from pinskia at gcc dot gnu dot org  2006-06-01 21:50 ---
*** Bug 27868 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||tobias dot burnus at physik
   ||dot fu-berlin dot de


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



[Bug libgcj/26483] Wrong parsing of doubles when interpreted on ia64

2006-06-01 Thread wilson at gcc dot gnu dot org


--- Comment #22 from wilson at gcc dot gnu dot org  2006-06-01 22:36 ---
Subject: Bug 26483

Author: wilson
Date: Thu Jun  1 22:36:19 2006
New Revision: 114319

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=114319
Log:
Fix broken denorm support.
PR libgcj/26483
* src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
(hfa_type_load): Call stf_spill.
(hfa_type_store): Call ldf_fill.
(ffi_call): Adjust calls to above routines.  Add local temps for
macro result.

Modified:
branches/gcc-4_1-branch/libffi/ChangeLog
branches/gcc-4_1-branch/libffi/src/ia64/ffi.c


-- 


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



[Bug libmudflap/26120] mudflap behavior changes with trivial changes to build command

2006-06-01 Thread idht4n at hotmail dot com


--- Comment #6 from idht4n at hotmail dot com  2006-06-01 23:03 ---
Still behaves the same in 4.1.1 20060525 (Red Hat 4.1.1-1).


-- 


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



[Bug c/27869] New: "-O -fregmove" handles SSE scalar instructions incorrectly

2006-06-01 Thread tijl at ulyssis dot org
Consider the following C program using SSE intrinsics:

//--
#include 
#include 

int main(int argc, const char **argv) {
__m128 v;
v = _mm_setr_ps( 1.0f, 2.0f, 3.0f, 4.0f );

v = _mm_rsqrt_ss( v );
v = _mm_add_ss( v, _mm_movehl_ps( v, v ));
v = _mm_add_ss( v, _mm_shuffle_ps( v, v, _MM_SHUFFLE( 0, 0, 0, 1 )));

printf( "%e %e %e %e\n", ((float *)&v)[0], ((float *)&v)[1], ((float
*)&v)[2], ((float *)&v)[3] );
return 0;
}
//--

Compiling and running this gives different results depending on whether
-fregmove is specified or not.

[EMAIL PROTECTED] regmove% gcc41 -Wall -O -fno-regmove -march=pentium4m -o test
main.c
[EMAIL PROTECTED] regmove% ./test
5.999756e+00 2.00e+00 3.00e+00 4.00e+00
[EMAIL PROTECTED] regmove% gcc41 -Wall -O -fregmove -march=pentium4m -o test 
main.c
[EMAIL PROTECTED] regmove% ./test
7.999756e+00 4.00e+00 3.00e+00 4.00e+00

The first case (-fno-regmove) is the correct one.

When you take a look at the assembly output for both cases the problem is with
an "addss %xmm1, %xmm0" that is changed to "addss %xmm0, %xmm1". This is
incorrect. The addss instruction is not commutative (unlike addps which sums
over the entire vector).

The same problem occurs with _mm_add_ss in the code above replaced by
_mm_mul_ss (mulss instruction), but not with _mm_sub_ss for instance
(obviously), so I suppose this can be fixed by handling addss and mulss the
same way as subss.

I suppose other instructions could be affected too.


-- 
   Summary: "-O -fregmove" handles SSE scalar instructions
incorrectly
   Product: gcc
   Version: 4.1.2
Status: UNCONFIRMED
  Severity: critical
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tijl at ulyssis dot org
 GCC build triplet: i386-portbld-freebsd6.1
  GCC host triplet: i386-portbld-freebsd6.1
GCC target triplet: i386-portbld-freebsd6.1


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



[Bug fortran/5900] [g77 & gfortran] Lapack regressions since g77 2.95.2

2006-06-01 Thread jvdelisle at gcc dot gnu dot org


--- Comment #57 from jvdelisle at gcc dot gnu dot org  2006-06-02 00:17 
---
Closing.  I have regular testing on my list.  Last I checked the gcc farm did
not have daily gcc builds going yet.  I was keying off that because I did not
want to do my own builds on the garm. I will keep at it.


-- 

jvdelisle at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug target/27869] "-O -fregmove" handles SSE scalar instructions incorrectly

2006-06-01 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-06-02 00:48 ---
(define_insn "sse_vmaddv4sf3"
  [(set (match_operand:V4SF 0 "register_operand" "=x")
(vec_merge:V4SF
  (plus:V4SF (match_operand:V4SF 1 "nonimmediate_operand" "%0")
 (match_operand:V4SF 2 "nonimmediate_operand" "xm"))
  (match_dup 1)
  (const_int 1)))]
  "TARGET_SSE && ix86_binary_operator_ok (PLUS, V4SFmode, operands)"
  "addss\t{%2, %0|%0, %2}"
  [(set_attr "type" "sseadd")
   (set_attr "mode" "SF")])


The % is incorrect here.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|critical|normal
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
  GCC build triplet|i386-portbld-freebsd6.1 |
   GCC host triplet|i386-portbld-freebsd6.1 |
 GCC target triplet|i386-portbld-freebsd6.1 |i?86-*-*
   Keywords||ssemmx, wrong-code
   Last reconfirmed|-00-00 00:00:00 |2006-06-02 00:48:52
   date||


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



[Bug libmudflap/26120] mudflap behavior changes with trivial changes to build command

2006-06-01 Thread pinskia at gcc dot gnu dot org


--- Comment #7 from pinskia at gcc dot gnu dot org  2006-06-02 02:12 ---
g++f4 -o hello hello.o -lmudflap

You need both -fmudlfap and -lmudflap when linking.

This is not a bug.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug libstdc++/27867] compile error in repeated application of valarray<>::operator==

2006-06-01 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-06-02 02:21 ---
Confirmed on both GDR saying this is a bug and Paolo providing a patch to fix
this.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-06-02 02:21:08
   date||


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



[Bug libgcj/27860] [4.2 Regression] build failure on m68k: error: 'ffi_closure' does not name a type

2006-06-01 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-06-02 02:25 ---
(In reply to comment #2)
> I'm CCing Andreas Schwab since he apparently ported ffi to m68k.  I noticed
> that the part of the code that produces the error is within an ifdef
> USE_LIBFFI, so possibly disabling ffi on m68k would allow it to compile.  But
> maybe the real fix would be to update ffi on m68k or something.  Maybe Andreas
> can take a look and/or comment.

libffi should work on m68k.  It might be closures have not been ported to m68k
which means INTERPRETER should be false.  (This is all from memory).


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||java-prs at gcc dot gnu dot
   ||org
Summary|build failure on m68k:  |[4.2 Regression] build
   |error: 'ffi_closure' does   |failure on m68k: error:
   |not name a type |'ffi_closure' does not name
   ||a type
   Target Milestone|--- |4.2.0


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



[Bug libgcj/27860] build failure on m68k: error: 'ffi_closure' does not name a type

2006-06-01 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|[4.2 Regression] build  |build failure on m68k:
   |failure on m68k: error: |error: 'ffi_closure' does
   |'ffi_closure' does not name |not name a type
   |a type  |
   Target Milestone|4.2.0   |---


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



[Bug c++/27820] [4.0/4.1/4.2 regression] ICE with duplicate label

2006-06-01 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-06-02 02:32 ---
The C front-end does not add the duplicated label to the IR while the C++
front-end does.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org


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



[Bug c++/27820] [4.0/4.1/4.2 regression] ICE with duplicate label

2006-06-01 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-06-02 02:35 ---
  if (DECL_INITIAL (decl) != NULL_TREE)
error ("duplicate label %qD", decl);
  else

Maybe adding into the if condition:
  POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, error_mark_node);

This might work but I have not tested it at all.


-- 


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



[Bug c++/27870] New: ICE in build_outer_var_ref, at omp-low.c:585 with openmp

2006-06-01 Thread bowie dot owens at csiro dot au
An orphaned for loop with a reduction clause causes an ICE. Note that the
non-orphaned for loop doesn't.

g++ -v:

Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../gcc_svn/configure --enable-languages=c,c++
--prefix=/local_scratch/owe043/gcc_svn
Thread model: posix
gcc version 4.2.0 20060601 (experimental)

compiled with:

g++ -save-temps -c -fopenmp  foo.cc


-- 
   Summary: ICE in build_outer_var_ref, at omp-low.c:585 with openmp
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: bowie dot owens at csiro dot au
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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



[Bug c++/27870] ICE in build_outer_var_ref, at omp-low.c:585 with openmp

2006-06-01 Thread bowie dot owens at csiro dot au


--- Comment #1 from bowie dot owens at csiro dot au  2006-06-02 02:41 
---
Created an attachment (id=11575)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11575&action=view)
pre-processed c++ code that triggers the ICE

Compiling I get the following:

foo.cc: In function 'void mat_product(mat_c_t&, const mat_a_t&, const mat_b_t&,
size_t, size_t, size_t) [with mat_c_t = double**, mat_a_t = double**, mat_b_t =
double**]':
foo.cc:15: internal compiler error: in build_outer_var_ref, at omp-low.c:585


-- 


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



[Bug middle-end/27870] ICE in build_outer_var_ref, at omp-low.c:585 with openmp

2006-06-01 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-06-02 02:54 ---
Confirmed, reduced testcase:
void mat_product(double **const b, unsigned m)
{
  int j;
  double cik = 0;
#pragma omp for reduction(+: cik)
   for (j = 0; j < m; ++j)
;
}

So the reduction in general is causing it.
This happens with the both C and C++ front-ends.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
  Component|c++ |middle-end
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-06-02 02:54:43
   date||


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



[Bug middle-end/27870] ICE in build_outer_var_ref, at omp-low.c:585 with openmp

2006-06-01 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-06-02 03:01 ---
Note I might have reduced this testcase too much as I remove the reference to
cik from the loop.


-- 


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