Re: [ARM] Cirrus EP93xx Maverick Crunch Support - "bge" pattern

2007-06-26 Thread Paolo Bonzini
if (get_attr_cirrus (prev_active_insn(insn)) == CIRRUS_COMPARE) return \"beq\\t%l0\;bvs\\t%l0\"; else return \"bge\\t%l0\;nop\"; " [(set_attr "conds" "jump_clob") (set_attr "length" "8")] ) As you can see, I need to replace all bge with a maverick crunch equivalent. However, "bg

Re: Help on testsuite failures, only with optimization & bootstrap

2007-06-26 Thread Seongbae Park (박성배, 朴成培)
On 6/26/07, Steve Ellcey <[EMAIL PROTECTED]> wrote: After the dataflow merge (and after doing a couple of other patches that were needed just to boostrap GCC on IA64 HP-UX), I am still getting some failures in the GCC testsuite and am hoping for some advise / help on figuring out what is going on

Re: [tuples/LTO] RFC: houghts on auto-generating GS_* data structures

2007-06-26 Thread Ian Lance Taylor
Kenneth Zadeck <[EMAIL PROTECTED]> writes: > In the lto world we will be reading in a function and then hacking on > it. Many (most) of those hacks are not in place changes, but adding, > deleting and rearranging instructions into the stream. > > Doing in place mapping puts severe restrictions

[ARM] Cirrus EP93xx Maverick Crunch Support - "bge" pattern

2007-06-26 Thread Hasjim Williams
G'day all, As I wrote previously on gcc-patches ( http://gcc.gnu.org/ml/gcc-patches/2007-06/msg00244.html ), I'm working on code to get the MaverickCrunch Floating-Point Co-processor supported on ARM. I mentioned previously that you can't use the same opcodes for testing GE on the MaverickCrunch,

Re: [tuples/LTO] RFC: houghts on auto-generating GS_* data structures

2007-06-26 Thread Kenneth Zadeck
Ian Lance Taylor wrote: > Diego Novillo <[EMAIL PROTECTED]> writes: > > >> But, first, I'd like to know what folks think about this. Would it be >> generally useful for us to have the IL data structures auto-generated >> this way? I can see the benefits in the reader/writer. But also, we >> a

Re: Type-punning

2007-06-26 Thread Herman Geza
On Tue, 26 Jun 2007, Andrew Pinski wrote: > On 6/26/07, Herman Geza <[EMAIL PROTECTED]> wrote: > > Having the same layout makes them "the same". > Not in C or C++ and in most cases of fortran too (unless you add an > attribute). Yes, it's clear now, thanks. However, it brings a new question: th

Re: Type-punning

2007-06-26 Thread Andrew Pinski
On 6/26/07, Herman Geza <[EMAIL PROTECTED]> wrote: Having the same layout makes them "the same". Not in C or C++ and in most cases of fortran too (unless you add an attribute). -- Pinski

Re: Type-punning

2007-06-26 Thread Herman Geza
On Tue, 26 Jun 2007 [EMAIL PROTECTED] wrote: > On Tue, Jun 26, 2007 at 11:42:27PM +0200, Herman Geza wrote: > > struct Point { > > float x, y, z; > > }; > > struct Vector { > > float x, y, z; > > > > Point &asPoint() { > > return reinterpret_cast(*this); > > } > > };

Re: Type-punning

2007-06-26 Thread mark
On Tue, Jun 26, 2007 at 11:42:27PM +0200, Herman Geza wrote: > struct Point { > float x, y, z; > }; > struct Vector { > float x, y, z; > > Point &asPoint() { > return reinterpret_cast(*this); > } > }; > Point and Vector have the same layout, but GCC treats th

Re: Type-punning

2007-06-26 Thread Herman Geza
On Tue, 26 Jun 2007, Silvius Rus wrote: > Herman Geza wrote: > > aliasing when GCC (I think) incorrectly treats types different, but they're > > the same. For example, I have: > > > > struct Point { > > float x, y, z; > > }; > > > > struct Vector { > > float x, y, z; > > > > Poin

Re: [tuples/LTO] RFC: houghts on auto-generating GS_* data structures

2007-06-26 Thread Ian Lance Taylor
Diego Novillo <[EMAIL PROTECTED]> writes: > But, first, I'd like to know what folks think about this. Would it be > generally useful for us to have the IL data structures auto-generated > this way? I can see the benefits in the reader/writer. But also, we > are going to have to re-implement the

Re: Type-punning

2007-06-26 Thread Andrew Pinski
On 6/26/07, Silvius Rus <[EMAIL PROTECTED]> wrote: I also think this case should not be flagged. I have seen similar usage in network programming. Did it actually result in bad code or was it just the warning that bothered you? This case is valid only if you go back to original type of Vector

Help on testsuite failures, only with optimization & bootstrap

2007-06-26 Thread Steve Ellcey
After the dataflow merge (and after doing a couple of other patches that were needed just to boostrap GCC on IA64 HP-UX), I am still getting some failures in the GCC testsuite and am hoping for some advise / help on figuring out what is going on. A bunch of tests like the following one: v

Re: Type-punning

2007-06-26 Thread Silvius Rus
Herman Geza wrote: aliasing when GCC (I think) incorrectly treats types different, but they're the same. For example, I have: struct Point { float x, y, z; }; struct Vector { float x, y, z; Point &asPoint() { return reinterpret_cast(*this); }

Re: Type-punning

2007-06-26 Thread Herman Geza
On Tue, 26 Jun 2007, Silvius Rus wrote: > Herman Geza wrote: > > void foo(float *a) { > > int *b = (int*)a; // type-punning warning > > > > // here, access to a and b shouldn't be optimized, as the compiler > > knows that a and b point to the same address > > } > > > > Is this reasonab

Re: How to use GCC testsuite..?

2007-06-26 Thread Tehila Meyzels
Venkatesan Jeevanandam <[EMAIL PROTECTED]> wrote on 26/06/2007 09:26:18: > Hi, > > I have been given a set of cross-compiler binaries (like arch-gcc, > arch-as, arch-ld, arch-ar, arch-gdb, etc.,). > How can i test "arch-gcc" cross-compiler binary using GCC testsuite ? Do you have an access to suc

Re: Type-punning

2007-06-26 Thread Silvius Rus
Herman Geza wrote: void foo(float *a) { int *b = (int*)a; // type-punning warning // here, access to a and b shouldn't be optimized, as the compiler knows that a and b point to the same address } Is this reasonable? Even if it were trivial to implement, I would vote against it, be

Re: LTO reader support for MEMORY_PARTITION_TAG

2007-06-26 Thread Kenneth Zadeck
Mark Mitchell wrote: > Kenny -- > > I tried to get the simplest C program containing a function: > > void f() {} > > to go through LTO today, but the LTO reader says: > > ./empty-function.o:0: internal compiler error: in lto_static_init_local, > at lto-tree-flags.def:747 > > Apparently, this is b

Re: Type-punning

2007-06-26 Thread Andrew Pinski
On 6/26/07, Herman Geza <[EMAIL PROTECTED]> wrote: Let me elaborate. If the compiler can detect invalid type-punning, Not really. void foo(float *a) { int *b = (int*)a; // type-punning warning } This is actually valid if we don't access both a and b and also the original type is in

Re: Type-punning

2007-06-26 Thread Herman Geza
On Tue, 26 Jun 2007, Andrew Pinski wrote: > On 6/26/07, Herman Geza <[EMAIL PROTECTED]> wrote: > > Maybe GCC shouldn't optimize around invalid type-punnings? > > That is what -fno-strict-aliasing is for. > Also GCC has done this since 3.0.0 (and also 2.95 and 2.95.1 and then > in 2.95.2 it was c

Re: Extending RTL expansion and CG with a new operation

2007-06-26 Thread Pranav Bhandarkar
kerneltest.c:22: error: unrecognizable insn: (jump_insn 26 25 29 3 (set (pc) (create_body_after (cre (reg:DI 75) (const_int 0 [0x0])) (label_ref 13) (pc))) -1 (nil) (nil)) kerneltest.c:22: internal compiler error: in extract_insn, at recog.c:2096

[tuples/LTO] RFC: houghts on auto-generating GS_* data structures

2007-06-26 Thread Diego Novillo
I chatted briefly with Ken today about the reader/writer being implemented for LTO. One of the difficulties in keeping the reader/writer up-to-date is the evolving IL data structures. Whenever these change, the reader must be adapted to the new format. So, while the reader/writer is fairly stra

Re: Type-punning

2007-06-26 Thread Andrew Pinski
On 6/26/07, Herman Geza <[EMAIL PROTECTED]> wrote: Maybe GCC shouldn't optimize around invalid type-punnings? That is what -fno-strict-aliasing is for. Also GCC has done this since 3.0.0 (and also 2.95 and 2.95.1 and then in 2.95.2 it was changed back while most of the free source world fixes t

Re: Type-punning

2007-06-26 Thread Herman Geza
Thanks for the answers! > > Why? Won't the following work? > > > > void setNaN(float &v) { > > union { float f; int i; } t; > > t.i = 0x7f81; > > v = t.f; > > } > > > As far as I know, this is guaranteed to work with GCC. But it is not kosher > according to language standards, so ot

Re: LTO reader support for MEMORY_PARTITION_TAG

2007-06-26 Thread Kenneth Zadeck
Mark Mitchell wrote: > Kenny -- > > I tried to get the simplest C program containing a function: > > void f() {} > > to go through LTO today, but the LTO reader says: > > ./empty-function.o:0: internal compiler error: in lto_static_init_local, > at lto-tree-flags.def:747 > > Apparently, this is b

LTO reader support for MEMORY_PARTITION_TAG

2007-06-26 Thread Mark Mitchell
Kenny -- I tried to get the simplest C program containing a function: void f() {} to go through LTO today, but the LTO reader says: ./empty-function.o:0: internal compiler error: in lto_static_init_local, at lto-tree-flags.def:747 Apparently, this is because the static set-up in lto_static_i

Re: A reload inheritance bug

2007-06-26 Thread Mark Shinwell
Mark Mitchell wrote: Bernd Schmidt wrote: Mark Shinwell wrote: Do you think it should be the case that, at the point below, _any_ reload with reg_rtx corresponding to a hard register should have the relevant bit set in reload_spill_index? I think so. I'm attaching a patch below. It appears t

Workshop on GCC for Research in Embedded and Parallel Systems

2007-06-26 Thread Ayal Zaks
Acronymed GREPS (... just what you were looking for), is to be held on September 16 in Brasov, Romania, co-located with PACT. We'd like to bring this workshop to your attention; the submission site is now open until July 24, after the upcoming GCC Developers' Summit. For more details see http://sy