Re: libgcc-arch.ver details

2010-03-18 Thread Paulo J. Matos
On Thu, Mar 18, 2010 at 12:34 AM, Ian Lance Taylor i...@google.com wrote: Paulo J. Matos pocma...@gmail.com writes: Thank you for the help regarding usage of libgcc. - For floating point emulation, how does gcc know that the arch needs floating point emulation or not? Does it depend on the

Re: libgcc-arch.ver details

2010-03-18 Thread Andrew Pinski
On Wed, Mar 17, 2010 at 11:38 PM, Paulo J. Matos pocma...@gmail.com wrote: Gcc 4.3.4 is generating a call to floatunsihf, which not only I can't find in libgcc but it also doesn't show in the internal docs. My guess is that this name is generated automatically and reveals some mistake in my

Re: libgcc-arch.ver details

2010-03-18 Thread Paulo J. Matos
On Thu, Mar 18, 2010 at 6:51 AM, Andrew Pinski pins...@gmail.com wrote: On Wed, Mar 17, 2010 at 11:38 PM, Paulo J. Matos pocma...@gmail.com wrote:  I cannot remember when half float support came in though, I thought it was only added on the trunk or did you backport that support too. Thanks

Re: libgcc-arch.ver details

2010-03-18 Thread Paulo J. Matos
On Wed, Mar 17, 2010 at 3:35 PM, Paulo J. Matos pocma...@gmail.com wrote: So, let me see if I got this write. This is not meant as a spam mail but I can't help myself to correct this horrible mistake. Obviously I meant right, instead of write. :) [Having this error spread across multiple mailing

Re: Hash Function for switch statement

2010-03-18 Thread Andrew Haley
On 03/18/2010 05:22 AM, Jae Hyuk Kwak wrote: On Wed, Mar 17, 2010 at 1:04 PM, Michael Meissner meiss...@linux.vnet.ibm.com wrote: Note, that many hash tables are computed by the modulus operation, which is often fairly expensive (and on machines without a hardware divide unit, requiring a

Re: Question on mips multiply patterns in md file

2010-03-18 Thread Amker.Cheng
The reasoning here is that if splitting will result in worse code, then we shouldn't have accepted it in the first place.  If dropping this alternative results in register allocator failures for some strange reason, then we accept it and generate the 3 instruction sequence with a new

Sub-optimal code

2010-03-18 Thread Alain Ketterlin
I've reported here recently about gcc producing conditional branches with static outcome. I've finally managed to produce a simple self-contained example. Here it is: int f() { static int LSW=-1; double x=0.987654321; unsigned char ix = *((char *)x); if(ix==0xdd || ix==0x3f)

feature request - Static Stack Usage Analysis for C/C++

2010-03-18 Thread Massimiliano Cialdi
It could be very very useful to add tatic Stack Usage Analysis for C/C ++. Something like -fstack-usage already done in gnat thanks

Coloring problem - Pass 0 for finding allocno costs

2010-03-18 Thread Frank Isamov
Hi, In my backend, I have a problem with the pass which determines the best register class for a virtual register (Pass 0 for finding allocno costs). In all insns in this example both R_REGS and D_REGS register classes are applicable (but all registers in an insn should be from the same register

Re: Is it possible to port GCC backend to a architecture with very limited hard registers?

2010-03-18 Thread redriver jiang
Ok. Thanks! Then I will persuade the guys who develop the MCU to add one or more base registers to ease the reload problem, and besides, I will add some virtual registers( who are static memory.) to hold 16,32 bit mode variables.Hope these 2 solutions can make better codes. Now I just begin to

Re: Questions about Handle constant exponents. in gcc/builtins.c

2010-03-18 Thread Vincent Lefevre
On 2010-03-16 16:18:17 +0100, Richard Guenther wrote: pow (a, 0.5) is always expanded to sqrt(a). This violates the ISO C99 standard for -0.0. According to N1256, F.9.4.4: pow(±0, y) returns +0 for y 0 and not an odd integer. So, pow(-0.0, 0.5) should return +0. But sqrt(-0.0) should

RE: Coloring problem - Pass 0 for finding allocno costs

2010-03-18 Thread Ian Bolton
The problem I see is that for registers 100,101 I get best register class D instead of R - actually they get the same cost and D is chosen (maybe because it is first). Hi Frank. Do D and R overlap? It would be useful to know which regs are in which class, before trying to understand what is

Re: Questions about Handle constant exponents. in gcc/builtins.c

2010-03-18 Thread Vincent Lefevre
On 2010-03-18 14:43:39 +0100, Vincent Lefevre wrote: This violates the ISO C99 standard for -0.0. According to N1256, F.9.4.4: pow(±0, y) returns +0 for y 0 and not an odd integer. So, pow(-0.0, 0.5) should return +0. But sqrt(-0.0) should return -0 according to the IEEE 754 standard

Re: Coloring problem - Pass 0 for finding allocno costs

2010-03-18 Thread Frank Isamov
-- Forwarded message -- From: Frank Isamov frank.isa...@gmail.com Date: Thu, Mar 18, 2010 at 4:28 PM Subject: Re: Coloring problem - Pass 0 for finding allocno costs To: Ian Bolton bol...@icerasemi.com On Thu, Mar 18, 2010 at 3:51 PM, Ian Bolton bol...@icerasemi.com wrote: The

Re: Questions about Handle constant exponents. in gcc/builtins.c

2010-03-18 Thread Michael Matz
Hi, On Thu, 18 Mar 2010, Vincent Lefevre wrote: On 2010-03-16 16:18:17 +0100, Richard Guenther wrote: pow (a, 0.5) is always expanded to sqrt(a). This violates the ISO C99 standard for -0.0. According to N1256, F.9.4.4: pow(±0, y) returns +0 for y 0 and not an odd integer. So,

RE: Coloring problem - Pass 0 for finding allocno costs

2010-03-18 Thread Ian Bolton
-Original Message- From: Frank Isamov [mailto:frank.isa...@gmail.com] Sent: 18 March 2010 14:29 To: Ian Bolton Subject: Re: Coloring problem - Pass 0 for finding allocno costs On Thu, Mar 18, 2010 at 3:51 PM, Ian Bolton bol...@icerasemi.com wrote: The problem I see is that for

Re: Questions about Handle constant exponents. in gcc/builtins.c

2010-03-18 Thread Dominique Dhumieres
May I remind my original question: In the block Handle constant exponents. in gcc/builtins.c, the condition !optimize_size has been replaced with optimize_insn_for_speed_p () between gcc 4.3 and 4.4, but I have not been able to find when and why. Does anybody remembers the when and why? This

Re: Questions about Handle constant exponents. in gcc/builtins.c

2010-03-18 Thread Jakub Jelinek
On Thu, Mar 18, 2010 at 04:07:28PM +0100, Dominique Dhumieres wrote: May I remind my original question: In the block Handle constant exponents. in gcc/builtins.c, the condition !optimize_size has been replaced with optimize_insn_for_speed_p () between gcc 4.3 and 4.4, but I have not been

Re: Coloring problem - Pass 0 for finding allocno costs

2010-03-18 Thread Michael Matz
Hi, On Thu, 18 Mar 2010, Frank Isamov wrote: From the h file: #define REG_CLASS_CONTENTS                                              \  {             \    {0x, 0x, 0x}, /* NO_REGS*/          \    {0x, 0x, 0x}, /* D_REGS*/          \    

Re: RFC: VTA alias set discrepancy

2010-03-18 Thread Richard Guenther
On Wed, 17 Mar 2010, Jakub Jelinek wrote: On Wed, Mar 17, 2010 at 09:26:29PM +0100, Jakub Jelinek wrote: That will very much pessimize debug info. While we are now always in -funit-at-a-time mode, that doesn't mean DECL_RTL is computed early enough. From the file scope non-static vars, at

implementing load 8 byte instruction

2010-03-18 Thread roy rosen
Hi, I am trying to implement a simple load 8 bytes instruction. I tried to use movdi so that it would allocate two sequential registers for the load. It starts well but in pass subreg1 the insns are decomposed and all DI operands are replaced with SI. I understand that this is a desireable

RE: Coloring problem - Pass 0 for finding allocno costs

2010-03-18 Thread Ian Bolton
-Original Message- From: gcc-ow...@gcc.gnu.org [mailto:gcc-ow...@gcc.gnu.org] On Behalf Of Michael Matz Sent: 18 March 2010 15:13 To: Frank Isamov Cc: gcc@gcc.gnu.org Subject: Re: Coloring problem - Pass 0 for finding allocno costs Hi, On Thu, 18 Mar 2010, Frank Isamov wrote:

Re: Questions about Handle constant exponents. in gcc/builtins.c

2010-03-18 Thread Vincent Lefevre
On 2010-03-18 15:32:04 +0100, Michael Matz wrote: So, pow(-0.0, 0.5) should return +0. But sqrt(-0.0) should return -0 according to the IEEE 754 standard (and F.9.4.5 from ISO C99). Yes, and I don't know why they specified it like that. After all (-0)*(-0)==+0 (not ==-0), so the above

Re: Questions about Handle constant exponents. in gcc/builtins.c

2010-03-18 Thread Nathan Froyd
On Thu, Mar 18, 2010 at 04:34:56PM +0100, Vincent Lefevre wrote: On 2010-03-18 15:32:04 +0100, Michael Matz wrote: But unfortunately you are right, this expansion can only be done for -fno-signed-zeros. (FWIW the general expandsion of pow(x,N/2) where N!=1 is already guarded by unsafe_math,

Re: Questions about Handle constant exponents. in gcc/builtins.c

2010-03-18 Thread Joseph S. Myers
On Thu, 18 Mar 2010, Vincent Lefevre wrote: On 2010-03-18 15:32:04 +0100, Michael Matz wrote: So, pow(-0.0, 0.5) should return +0. But sqrt(-0.0) should return -0 according to the IEEE 754 standard (and F.9.4.5 from ISO C99). Yes, and I don't know why they specified it like that.

Re: Sub-optimal code

2010-03-18 Thread Richard Guenther
On Thu, Mar 18, 2010 at 12:23 PM, Alain Ketterlin alain.ketter...@gmail.com wrote: I've reported here recently about gcc producing conditional branches with static outcome. I've finally managed to produce a simple self-contained example. Here it is: int f() {    static int LSW=-1;    

Re: RFC: VTA alias set discrepancy

2010-03-18 Thread Jakub Jelinek
On Thu, Mar 18, 2010 at 04:25:03PM +0100, Richard Guenther wrote: On Wed, 17 Mar 2010, Jakub Jelinek wrote: On Wed, Mar 17, 2010 at 09:26:29PM +0100, Jakub Jelinek wrote: That will very much pessimize debug info. While we are now always in -funit-at-a-time mode, that doesn't mean

Re: Questions about Handle constant exponents. in gcc/builtins.c

2010-03-18 Thread Vincent Lefevre
On 2010-03-18 15:49:05 +, Joseph S. Myers wrote: And the same rule on pow(-0, y) is present in 754-2008 (I don't know whether this was deliberately following the C definition, or deciding independently that this was the right definition, but you may know as a listed member of the

Re: constant hoisting out of loops

2010-03-18 Thread fanqifei
On Thu, Mar 18, 2010 at 2:30 AM, Jim Wilson wil...@codesourcery.com wrote: On Wed, 2010-03-17 at 11:27 +0800, fanqifei wrote: You are correct. The reload pass emitted the clr.w insn. However, I can see loop opt passes after reload: problem1.c.174r.loop2_invariant1 Not unless you have a

Re: libgcc-arch.ver details

2010-03-18 Thread Ian Lance Taylor
Paulo J. Matos pocma...@gmail.com writes: On Thu, Mar 18, 2010 at 6:51 AM, Andrew Pinski pins...@gmail.com wrote: On Wed, Mar 17, 2010 at 11:38 PM, Paulo J. Matos pocma...@gmail.com wrote:  I cannot remember when half float support came in though, I thought it was only added on the trunk or

Re: Questions about Handle constant exponents. in gcc/builtins.c

2010-03-18 Thread Dominique Dhumieres
Google is your friend... Thanks Jack. As you can see in comment #46 of pr40106, I have found my own way. In my previous attempts I have made two mistakes: (1) I tried to use the search engine of the gcc mailing lists that kept parsing optimize_insn_for_speed_p as if the _ were spaces. (2) I did

The Linux binutils 2.20.51.0.7 is released

2010-03-18 Thread H.J. Lu
This is the beta release of binutils 2.20.51.0.7 for Linux, which is based on binutils 2010 0318 in CVS on sourceware.org plus various changes. It is purely for Linux. All relevant patches in patches have been applied to the source tree. You can take a look at patches/README to see what have been

Re: Question on mips multiply patterns in md file

2010-03-18 Thread Jim Wilson
On Thu, 2010-03-18 at 19:20 +0800, Amker.Cheng wrote: Does it possible that the method would ever result in register allocator failure? In my understanding, doesn't reload pass would do whatever it can to make all insns' constraints satisfied? In theory, there should be no failure. In

gcc-4.5-20100318 is now available

2010-03-18 Thread gccadmin
Snapshot gcc-4.5-20100318 is now available on ftp://gcc.gnu.org/pub/gcc/snapshots/4.5-20100318/ and on various mirrors, see http://gcc.gnu.org/mirrors.html for details. This snapshot has been generated from the GCC 4.5 SVN branch with the following options: svn://gcc.gnu.org/svn/gcc/trunk

Re: Hash Function for switch statement

2010-03-18 Thread Jae Hyuk Kwak
Hi Michael, Thank you for the details. On Thu, Mar 18, 2010 at 8:17 AM, Michael Meissner meiss...@linux.vnet.ibm.com wrote: Note, that many hash tables are computed by the modulus operation, which is often fairly expensive (and on machines without a hardware divide unit, requiring a

Re: fixincl 'make check' regressions...

2010-03-18 Thread David Miller
You said you would fix this several nights ago, but I still haven't seen any changes to fixincludes since then. When will you get around to fixing these regressions you introduced? Thank you.

[Bug c/43417] New: ICE : in final_scan_insn, at final.c:2604

2010-03-18 Thread iwamatsu at nigauri dot org
I found a bug of ICE in gcc-4.4.3 on sh-elf. gcc-4.3 and gcc-4.5 does not have this problem. $ gcc -O2 mtest01-k-e.c mtest01-k.c: In function emainf: mtest01-k.c:88: error: could not split insn (jump_insn 312 302 472 mtest01-k.c:64 (parallel [ (set (pc)

[Bug target/43399] [4.5 Regression] bootstrap failure in stage1

2010-03-18 Thread jakub at gcc dot gnu dot org
--- Comment #7 from jakub at gcc dot gnu dot org 2010-03-18 07:16 --- BTW, if the PRE_MODIFY representation doesn't work well, I'd say just using a PARALLEL with what the insn really does and checking that in the match_parallel predicate probably wouldn't clash with anything else. If

[Bug target/43417] ICE : in final_scan_insn, at final.c:2604

2010-03-18 Thread iwamatsu at nigauri dot org
--- Comment #1 from iwamatsu at nigauri dot org 2010-03-18 07:18 --- Created an attachment (id=20138) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20138action=view) The source code that can reproduce a problem. this code generate by -E option. Sorry. There is the code to

[Bug rtl-optimization/43286] Missed related value optimization in cse.c

2010-03-18 Thread steven at gcc dot gnu dot org
--- Comment #6 from steven at gcc dot gnu dot org 2010-03-18 08:27 --- Reopening... -- steven at gcc dot gnu dot org changed: What|Removed |Added

[Bug rtl-optimization/43286] Missed related value optimization in cse.c

2010-03-18 Thread steven at gcc dot gnu dot org
--- Comment #7 from steven at gcc dot gnu dot org 2010-03-18 08:29 --- ...to close as dup of bug 39871 *** This bug has been marked as a duplicate of 39871 *** -- steven at gcc dot gnu dot org changed: What|Removed |Added

[Bug rtl-optimization/39871] [4.3/4.4/4.5 regression] Code size increase on ARM due to poor register allocation

2010-03-18 Thread steven at gcc dot gnu dot org
--- Comment #21 from steven at gcc dot gnu dot org 2010-03-18 08:29 --- *** Bug 43286 has been marked as a duplicate of this bug. *** -- steven at gcc dot gnu dot org changed: What|Removed |Added

[Bug rtl-optimization/39871] [4.3/4.4/4.5 regression] Code size increase on ARM due to poor register allocation

2010-03-18 Thread steven at gcc dot gnu dot org
--- Comment #22 from steven at gcc dot gnu dot org 2010-03-18 08:31 --- In the test case from bug 43286, should_replace_address does not perform the following replacement because the address cost is the same and the replacement is only done if new_rtx is more expensive than old_rtx.

[Bug bootstrap/43399] [4.5 Regression] bootstrap failure in stage1

2010-03-18 Thread ramana at gcc dot gnu dot org
--- Comment #8 from ramana at gcc dot gnu dot org 2010-03-18 09:25 --- (In reply to comment #7) BTW, if the PRE_MODIFY representation doesn't work well, I'd say just using a PARALLEL with what the insn really does and checking that in the match_parallel predicate probably wouldn't

[Bug bootstrap/43399] [4.5 Regression] bootstrap failure in stage1

2010-03-18 Thread ramana at gcc dot gnu dot org
--- Comment #9 from ramana at gcc dot gnu dot org 2010-03-18 10:21 --- Created an attachment (id=20139) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20139action=view) patch Patch that makes the ICE disappear by converting these into mem:BLKmode (pre_modify (Pmode)). I will submit

[Bug c++/43418] New: trunk rev157534. compile c++ with --enable-build-with-cxx fails in cp_parser_for_init_statement

2010-03-18 Thread ailin dot nemui at gmail dot com
during make: ./prev-gcc/g++ ... -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common -DHAVE_CONFIG_H -I. -Icp .../gcc/cp/parser.c -o cp/parser.o error: converting ‘false’ to

[Bug c++/43418] trunk rev157534. compile c++ with --enable-build-with-cxx fails in cp_parser_for_init_statement

2010-03-18 Thread paolo dot carlini at oracle dot com
--- Comment #1 from paolo dot carlini at oracle dot com 2010-03-18 10:59 --- Can you try replacing it with NULL_TREE? If everything goes well on your end, we can commit the fix as obvious (I'm going to sanity check it for a normal build) --

[Bug tree-optimization/43415] [4.4/4.5 Regression] Consumes large amounts of memory and time in PRE at -O3

2010-03-18 Thread amonakov at gcc dot gnu dot org
--- Comment #1 from amonakov at gcc dot gnu dot org 2010-03-18 11:30 --- Confirming. 4.5 trunk needs lots of memory in PRE. -- amonakov at gcc dot gnu dot org changed: What|Removed |Added

[Bug c++/43418] trunk rev157534. compile c++ with --enable-build-with-cxx fails in cp_parser_for_init_statement

2010-03-18 Thread ailin dot nemui at gmail dot com
--- Comment #2 from ailin dot nemui at gmail dot com 2010-03-18 11:37 --- works fine :) thanks -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43418

[Bug c++/43418] trunk rev157534. compile c++ with --enable-build-with-cxx fails in cp_parser_for_init_statement

2010-03-18 Thread paolo at gcc dot gnu dot org
--- Comment #3 from paolo at gcc dot gnu dot org 2010-03-18 11:46 --- Subject: Bug 43418 Author: paolo Date: Thu Mar 18 11:46:15 2010 New Revision: 157536 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=157536 Log: 2010-03-18 Paolo Carlini paolo.carl...@oracle.com PR

[Bug c++/43418] trunk rev157534. compile c++ with --enable-build-with-cxx fails in cp_parser_for_init_statement

2010-03-18 Thread paolo at gcc dot gnu dot org
--- Comment #4 from paolo at gcc dot gnu dot org 2010-03-18 11:46 --- Subject: Bug 43418 Author: paolo Date: Thu Mar 18 11:46:33 2010 New Revision: 157537 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=157537 Log: 2010-03-18 Paolo Carlini paolo.carl...@oracle.com PR

[Bug c++/43418] trunk rev157534. compile c++ with --enable-build-with-cxx fails in cp_parser_for_init_statement

2010-03-18 Thread paolo dot carlini at oracle dot com
-- paolo dot carlini at oracle dot com changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |paolo dot carlini at oracle |dot org

[Bug c++/43418] trunk rev157534. compile c++ with --enable-build-with-cxx fails in cp_parser_for_init_statement

2010-03-18 Thread paolo dot carlini at oracle dot com
--- Comment #5 from paolo dot carlini at oracle dot com 2010-03-18 11:47 --- Fixed. -- paolo dot carlini at oracle dot com changed: What|Removed |Added

[Bug tree-optimization/43402] [4.5 Regression] dom1 miscompiles binary search

2010-03-18 Thread matz at gcc dot gnu dot org
--- Comment #10 from matz at gcc dot gnu dot org 2010-03-18 12:21 --- Subject: Bug 43402 Author: matz Date: Thu Mar 18 12:20:50 2010 New Revision: 157538 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=157538 Log: PR tree-optimization/43402 * tree-cfgcleanup.c

[Bug target/43417] SH: 4.4 ICE in final_scan_insn, at final.c:2604

2010-03-18 Thread kkojima at gcc dot gnu dot org
--- Comment #2 from kkojima at gcc dot gnu dot org 2010-03-18 12:39 --- Looks the same issue in http://gcc.gnu.org/ml/gcc-patches/2009-04/msg00747.html though I can't reproduce the problem with my gcc-4.4.3 and 4.4 head compilers for the test case in #1. Could you try the patch in the

[Bug tree-optimization/43402] [4.5 Regression] dom1 miscompiles binary search

2010-03-18 Thread matz at gcc dot gnu dot org
--- Comment #11 from matz at gcc dot gnu dot org 2010-03-18 12:46 --- Fixed. -- matz at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED

[Bug debug/7580] incorrect/unfortunate DWARF-2 info for static const int class members

2010-03-18 Thread dodji at gcc dot gnu dot org
--- Comment #7 from dodji at gcc dot gnu dot org 2010-03-18 12:50 --- Things have changed quite a bit in GCC 4.5 (trunk). Now for the code: class C { static const int foo; }; int main() { return 0; } GCC 4.5 will not generate any debug info for the class C at all, because it's

[Bug debug/7580] incorrect/unfortunate DWARF-2 info for static const int class members

2010-03-18 Thread dodji at gcc dot gnu dot org
--- Comment #8 from dodji at gcc dot gnu dot org 2010-03-18 12:52 --- Bug no more present in GCC 4.5 -- dodji at gcc dot gnu dot org changed: What|Removed |Added

[Bug debug/37982] Extraneous DW_TAG_variable tag

2010-03-18 Thread dodji at gcc dot gnu dot org
-- dodji at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |dodji at gcc dot gnu dot org |dot org

[Bug debug/37982] Extraneous DW_TAG_variable tag

2010-03-18 Thread dodji at gcc dot gnu dot org
--- Comment #10 from dodji at gcc dot gnu dot org 2010-03-18 12:53 --- Bug no more present in 4.5 -- dodji at gcc dot gnu dot org changed: What|Removed |Added

[Bug rtl-optimization/43360] [4.3/4.4/4.5 Regression] wrong loop invariant hoisting

2010-03-18 Thread hjl at gcc dot gnu dot org
--- Comment #15 from hjl at gcc dot gnu dot org 2010-03-18 13:11 --- Subject: Bug 43360 Author: hjl Date: Thu Mar 18 13:10:49 2010 New Revision: 157539 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=157539 Log: Remove the REG_EQUAL note if we don't know its invariant status.

[Bug rtl-optimization/43360] [4.3/4.4/4.5 Regression] wrong loop invariant hoisting

2010-03-18 Thread hjl at gcc dot gnu dot org
--- Comment #16 from hjl at gcc dot gnu dot org 2010-03-18 13:13 --- Subject: Bug 43360 Author: hjl Date: Thu Mar 18 13:13:42 2010 New Revision: 157540 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=157540 Log: Remove the REG_EQUAL note if we don't know its invariant status.

[Bug rtl-optimization/43360] [4.3/4.4/4.5 Regression] wrong loop invariant hoisting

2010-03-18 Thread hjl at gcc dot gnu dot org
--- Comment #17 from hjl at gcc dot gnu dot org 2010-03-18 13:15 --- Subject: Bug 43360 Author: hjl Date: Thu Mar 18 13:15:21 2010 New Revision: 157541 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=157541 Log: Remove the REG_EQUAL note if we don't know its invariant status.

[Bug rtl-optimization/43360] [4.3/4.4/4.5 Regression] wrong loop invariant hoisting

2010-03-18 Thread hjl dot tools at gmail dot com
--- Comment #18 from hjl dot tools at gmail dot com 2010-03-18 13:16 --- Fixed. -- hjl dot tools at gmail dot com changed: What|Removed |Added

[Bug rtl-optimization/43360] [4.3/4.4/4.5 Regression] wrong loop invariant hoisting

2010-03-18 Thread steven at gcc dot gnu dot org
--- Comment #19 from steven at gcc dot gnu dot org 2010-03-18 13:20 --- For the record: bootstrapped+tested on amd64-linux and ia64-linux. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43360

[Bug target/43399] [4.5 Regression] bootstrap failure in stage1

2010-03-18 Thread ramana at gcc dot gnu dot org
-- ramana at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |ramana at gcc dot gnu dot |dot org

[Bug middle-end/43419] New: gcc replaces pow(x, 0.5) by sqrt(x), invalid when x is -0

2010-03-18 Thread vincent at vinc17 dot org
gcc replaces pow(x, 0.5) by sqrt(x). This is invalid when x is -0. Indeed, according to ISO C99 (N1256), F.9.4.4: pow(±0, y) returns +0 for y 0 and not an odd integer. So, pow(-0.0, 0.5) should return +0. But sqrt(-0.0) should return -0 according to the IEEE 754 standard (and F.9.4.5 from ISO

[Bug bootstrap/43420] New: a small miscode in binutils/readelf.c

2010-03-18 Thread aflyhorse at foxmail dot com
on line 6197 to 6205: unsigned char buf[5]; unsigned int i, len; unsigned long offset; for (i = 0; i 9; i++) { GET_OP (buf[i]); if ((buf[i] 0x80) == 0) break; } An obviously small wrong

[Bug middle-end/43419] gcc replaces pow(x, 0.5) by sqrt(x), invalid when x is -0

2010-03-18 Thread vincent at vinc17 dot org
--- Comment #1 from vincent at vinc17 dot org 2010-03-18 14:33 --- If I understand correctly, the bug appears with: r119248 | rguenth | 2006-11-27 12:38:42 +0100 (Mon, 27 Nov 2006) | 10 lines 2006-11-27 Richard Guenther rguent...@suse.de PR middle-end/25620 *

[Bug middle-end/43419] gcc replaces pow(x, 0.5) by sqrt(x), invalid when x is -0

2010-03-18 Thread matz at gcc dot gnu dot org
--- Comment #2 from matz at gcc dot gnu dot org 2010-03-18 14:35 --- Mine. -- matz at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at

[Bug fortran/25620] Missed optimization with power

2010-03-18 Thread vincent at vinc17 dot org
--- Comment #18 from vincent at vinc17 dot org 2010-03-18 14:37 --- The patch affected C, where the transformation of pow(x, 0.5) into sqrt(x) is incorrect. See PR 43419. -- vincent at vinc17 dot org changed: What|Removed |Added

[Bug debug/42959] g++ does not emit DW_AT_default_value

2010-03-18 Thread dodji at gcc dot gnu dot org
--- Comment #5 from dodji at gcc dot gnu dot org 2010-03-18 14:38 --- (In reply to comment #4) As we discussed on IRC, it seems we'd need a way to express that we'd want the debugger to create a temporary, initialize it and later destroy it. DWARF can't express as of now. So we'll

[Bug middle-end/43419] gcc replaces pow(x, 0.5) by sqrt(x), invalid when x is -0

2010-03-18 Thread dominiq at lps dot ens dot fr
--- Comment #3 from dominiq at lps dot ens dot fr 2010-03-18 14:41 --- While you are looking at this part, you may have to check that a similar problem does not exist when converting x*sqrt(x) to pow(w,1.5) and so on. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43419

[Bug middle-end/43419] gcc replaces pow(x, 0.5) by sqrt(x), invalid when x is -0

2010-03-18 Thread matz at gcc dot gnu dot org
--- Comment #4 from matz at gcc dot gnu dot org 2010-03-18 14:48 --- I checked, and these and similar transformations are always guarded by flag_unsafe_math_optimizations, so we should be fine, unless I missed a case of course. If you notice one, please create a bug report. --

[Bug c/43374] ICE with __builtin_isinf() and _Decimal argument

2010-03-18 Thread roman at binarylife dot net
--- Comment #3 from roman at binarylife dot net 2010-03-18 14:52 --- This looks related. $ cat test.c _Decimal64 func() { return 9e384dd + 9e384dd; } $ gcc -c test.c test.c: In function 'func': test.c:2:3: internal compiler error: in decimal_to_decnumber, at dfp.c:115 ... --

[Bug tree-optimization/43415] [4.4/4.5 Regression] Consumes large amounts of memory and time in PRE at -O3

2010-03-18 Thread rguenth at gcc dot gnu dot org
--- Comment #2 from rguenth at gcc dot gnu dot org 2010-03-18 15:29 --- I will have a look. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added

[Bug middle-end/43419] gcc replaces pow(x, 0.5) by sqrt(x), invalid when x is -0

2010-03-18 Thread rguenth at gcc dot gnu dot org
--- Comment #5 from rguenth at gcc dot gnu dot org 2010-03-18 15:31 --- Looks like we need to guard this with HONOR_SIGNED_ZEROS. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added

[Bug c/43421] New: strict-aliasing warning from innocent code

2010-03-18 Thread mattiase at acm dot org
Compiling the code below (with -O2 -Wall -std=c99, gcc 4.4.3) gives the warning apa.c: In function 'f': cc1: warning: dereferencing pointer '({anonymous})' does break strict-aliasing rules apa.c:9: note: initialized from here which is both unhelpful and dubious - is the code really doing

[Bug middle-end/43419] gcc replaces pow(x, 0.5) by sqrt(x), invalid when x is -0

2010-03-18 Thread matz at gcc dot gnu dot org
--- Comment #6 from matz at gcc dot gnu dot org 2010-03-18 16:08 --- Subject: Bug 43419 Author: matz Date: Thu Mar 18 16:07:53 2010 New Revision: 157543 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=157543 Log: PR middle-end/43419 * builtins.c

[Bug target/43305] [4.4/4.5 Regression] ICE: in emit_unop_insn, at optabs.c:3838 with -Os -ffast-math and ilogbl()

2010-03-18 Thread matz at gcc dot gnu dot org
--- Comment #6 from matz at gcc dot gnu dot org 2010-03-18 16:47 --- Mine. -- matz at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at

[Bug middle-end/43419] gcc replaces pow(x, 0.5) by sqrt(x), invalid when x is -0

2010-03-18 Thread matz at gcc dot gnu dot org
--- Comment #7 from matz at gcc dot gnu dot org 2010-03-18 16:47 --- Fixed. -- matz at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED

[Bug bootstrap/43420] a small miscode in binutils/readelf.c

2010-03-18 Thread pinskia at gcc dot gnu dot org
--- Comment #1 from pinskia at gcc dot gnu dot org 2010-03-18 16:48 --- readelf is not part of the GCC project but the binutils project. Please report it to them (http://www.sourceware.org/bugzilla/ ). -- pinskia at gcc dot gnu dot org changed: What|Removed

[Bug c/43211] [4.5 Regression] ICE: tree check: expected class 'type', have 'exceptional' (error_mark) in useless_type_conversion_p, at tree-ssa.c:1430

2010-03-18 Thread matz at gcc dot gnu dot org
--- Comment #3 from matz at gcc dot gnu dot org 2010-03-18 16:53 --- That would indeed be my preferred approach. The alternative would be to add much if (x == error_mark_node) sillyness all over the middle-end, like the front-ends do. The middle-end should be able to rightfully expect

[Bug c/43211] [4.5 Regression] ICE: tree check: expected class 'type', have 'exceptional' (error_mark) in useless_type_conversion_p, at tree-ssa.c:1430

2010-03-18 Thread pinskia at gcc dot gnu dot org
--- Comment #4 from pinskia at gcc dot gnu dot org 2010-03-18 16:55 --- A radical approach would be to not gimplify in case of errors Part of the problem there is that the C++ front-end (at least used to), produce errors while gimplifying (though that might be fixed). --

[Bug c/43211] [4.5 Regression] ICE: tree check: expected class 'type', have 'exceptional' (error_mark) in useless_type_conversion_p, at tree-ssa.c:1430

2010-03-18 Thread pinskia at gcc dot gnu dot org
--- Comment #5 from pinskia at gcc dot gnu dot org 2010-03-18 16:57 --- See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24222 for all the bugs about emitting errors/warnings during gimplification; though as I said some of those might be fixed; I have not checked yet. --

[Bug c/43211] [4.5 Regression] ICE: tree check: expected class 'type', have 'exceptional' (error_mark) in useless_type_conversion_p, at tree-ssa.c:1430

2010-03-18 Thread pinskia at gcc dot gnu dot org
--- Comment #6 from pinskia at gcc dot gnu dot org 2010-03-18 16:59 --- I will be looking into this, we should be able to not have a function_type with an error_mark_node as an argument but we should just have an error_mark_node instead. -- pinskia at gcc dot gnu dot org changed:

[Bug c/43211] [4.5 Regression] ICE: tree check: expected class 'type', have 'exceptional' (error_mark) in useless_type_conversion_p, at tree-ssa.c:1430

2010-03-18 Thread pinskia at gcc dot gnu dot org
--- Comment #7 from pinskia at gcc dot gnu dot org 2010-03-18 17:05 --- Actually this is a simple patch: Index: c-decl.c === --- c-decl.c(revision 157518) +++ c-decl.c(working copy) @@ -6118,6 +6118,7 @@ grokparms

[Bug tree-optimization/43415] [4.4/4.5 Regression] Consumes large amounts of memory and time in PRE at -O3

2010-03-18 Thread rguenth at gcc dot gnu dot org
--- Comment #3 from rguenth at gcc dot gnu dot org 2010-03-18 17:24 --- I have a patch. It's just unfortunate ordering of phi-translation and missed caching. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43415

[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed

2010-03-18 Thread changpeng dot fang at amd dot com
--- Comment #20 from changpeng dot fang at amd dot com 2010-03-18 17:24 --- (In reply to comment #19) Splitting critical edges for CDDCE will probably also solve this problem. Richard. Yes, splitting critical edges is an enhancement to CDDCE and can solve this problem. There are

[Bug c/43374] ICE with __builtin_isinf() and _Decimal argument

2010-03-18 Thread janis at gcc dot gnu dot org
--- Comment #4 from janis at gcc dot gnu dot org 2010-03-18 17:27 --- The tests also fail on powerpc64-linux, although the first one gets the same error with and without optimization. elm3c105% cat 43374-1.c int func(_Decimal32 v) { return __builtin_isinf(v); } elm3c105%

[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed

2010-03-18 Thread rguenther at suse dot de
--- Comment #21 from rguenther at suse dot de 2010-03-18 17:30 --- Subject: Re: [4.5 Regression] Empty loop not removed On Thu, 18 Mar 2010, changpeng dot fang at amd dot com wrote: --- Comment #20 from changpeng dot fang at amd dot com 2010-03-18 17:24 --- (In reply to

[Bug target/43404] ARM: Internal compiler error when using 'foo' in naked function

2010-03-18 Thread rearnsha at gcc dot gnu dot org
--- Comment #2 from rearnsha at gcc dot gnu dot org 2010-03-18 17:37 --- Native functions aren't expected to work with a 'C' body. -- rearnsha at gcc dot gnu dot org changed: What|Removed |Added

[Bug target/43404] ARM: Internal compiler error when using 'foo' in naked function

2010-03-18 Thread pinskia at gcc dot gnu dot org
--- Comment #3 from pinskia at gcc dot gnu dot org 2010-03-18 17:39 --- Then it should produce an error and not an internal compiler error. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added

[Bug c/43422] New: reversed loop is not vectorized

2010-03-18 Thread changpeng dot fang at amd dot com
gcc could not vectorize this simple reversed loop: int a[100], b[100]; void foo(int n) { int i; for(i=n-2; i=0; i--) a[i+1] = a[i] + b[i]; } chf...@pathscale:~/gcc$ gcc -O3 -ftree-vectorizer-verbose=2 -c foo.c foo.c:6: note: not vectorized: complicated access pattern. foo.c:3: note:

[Bug tree-optimization/43416] [4.4 regression] internal compiler error in C++ template instantiations at -O3

2010-03-18 Thread pinskia at gcc dot gnu dot org
--- Comment #3 from pinskia at gcc dot gnu dot org 2010-03-18 17:55 --- Works on the trunk. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43416

[Bug tree-optimization/43416] [4.4 regression] internal compiler error in C++ template instantiations at -O3

2010-03-18 Thread pinskia at gcc dot gnu dot org
--- Comment #4 from pinskia at gcc dot gnu dot org 2010-03-18 17:56 --- Could be a dup of bug 42871 or PR 43074. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43416

[Bug rtl-optimization/42216] [4.5 Regression] changes in scheduling regress 464.h264ref 20%

2010-03-18 Thread rguenth at gcc dot gnu dot org
--- Comment #28 from rguenth at gcc dot gnu dot org 2010-03-18 17:59 --- All fine again. Fixed. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added

[Bug fortran/43043] [-fwhole-file] ICE segfault for select_type_4.f90

2010-03-18 Thread pault at gcc dot gnu dot org
--- Comment #2 from pault at gcc dot gnu dot org 2010-03-18 18:00 --- The following fixes the PR. I have not regtested yet but anticipate that all will be well. Index: ../trunk/gcc/fortran/trans-expr.c === ---

[Bug c/43423] New: gcc should vectorize this loop through iteration range splitting

2010-03-18 Thread changpeng dot fang at amd dot com
chf...@pathscale:~/gcc$ cat foo.c int a[100], b[100], c[100]; void foo(int n, int mid) { int i; for(i=0; in; i++) { if (i mid) a[i] = a[i] + b[i]; else a[i] = a[i] + c[i]; } } chf...@pathscale:~/gcc$ gcc -O3 -ftree-vectorizer-verbose=7 -c foo.c foo.c:6:

[Bug c++/43424] New: -O2 -floop-parallelize-all causes verify_stmts failure

2010-03-18 Thread dcb314 at hotmail dot com
I just tried to compile the package normaliz-2.2 with the C++ compiler version 4.5 snapshot 20100311 and it said vector_operations.cpp: In function 'std::vectorlong int v_make_prime(const std::vectorlong int, Integer)': vector_operations.cpp:300:17: error: statement marked for throw in middle of

  1   2   >