Re: AVR byte swap optimization

2006-11-18 Thread Rask Ingemann Lambertsen
On Fri, Nov 17, 2006 at 04:30:53PM -0700, Shaun Jackman wrote: > The following macro expands to some rather frightful code on the AVR: > > #define BSWAP_16(x) \ > x) >> 8) & 0xff) | (((x) & 0xff) << 8)) [snip] > > Ideally, this macro would expand to three mov instructions and a ret. > Is

GIMPLE issues and status of gimple-tuples

2006-11-18 Thread nkavv
Hi there i have went through some of the GIMPLE stuff (mostly went through the GCCSummit 2003 paper). I think i have some reservations on the structure and semantics of GIMPLE. Most of my compiler experience comes from interactions with the SUIF2/MachSUIF2 infrastructure ; admittedly Machine-SUIF

Re: GIMPLE issues and status of gimple-tuples

2006-11-18 Thread Daniel Berlin
a a. Conditional jumps in GIMPLE are not true three-address-code since they specify two (2) branch targets (in their general form). E.g.: if (cond) then goto target1; else goto target2; IMHO, this should be split (or at least made splittable) into: if (cond) then goto target1; if (!cond)

Re: AVR byte swap optimization

2006-11-18 Thread Paul Brook
> Ideally, this macro would expand to three mov instructions and a ret. > Is there anything I can do to help GCC along here? I'm using GCC 4.1.0 > with -O2. > > I won't bother to show bswap_32 here, which produces a real disaster! > Think 47 instructions, for what should be 6. Use gcc head, __buil

gcc-4.3-20061118 is now available

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

GCC not finding target as

2006-11-18 Thread Shaun Jackman
The GCC build (svn revision 118976) is not finding the target as, although it appears to be in the right place. Thanks, Shaun $ ../configure --target=avr --enable-languages=c --prefix=/usr ... $ cat gcc/as #!/bin/sh exec "$@" $ /usr/bin/avr-as --version | head -1 GNU assembler 2.16.1 $ make ...

Why does flow_loops_find modify the CFG, again?

2006-11-18 Thread Steven Bosscher
Hi Zdenek, all, I'm running into some troubles with an if-conversion pass that runs after reload, where we have to avoid lifting insns across a loop exit edge into a loop. ifcvt.c uses flow_loops_find to find loops and mark all loop exit edges: if ((! targetm.cannot_modify_jumps_p ()) &&

Re: Why does flow_loops_find modify the CFG, again?

2006-11-18 Thread Daniel Berlin
On 11/18/06, Steven Bosscher <[EMAIL PROTECTED]> wrote: Hi Zdenek, all, Is this something that could be easily fixed? E.g. can we make it that flow_loops_find only performs transformations if asked to (by adding a function argument for that)? Why not have a flow_canonicalize_loops that does

[gomp, documentation] libgomp/NOTES

2006-11-18 Thread Daniel Franke
In the wake of PR28209 ([G]OMP environment variables undocumented), I came across libgomp/NOTES: "Notes on the external ABI presented by libgomp. This ought to get transformed into proper documentation at some point." Would a 1:1 transcription to texinfo suffice for the moment being? E.g. some

Re: GIMPLE issues and status of gimple-tuples

2006-11-18 Thread nkavv
> a a. Conditional jumps in GIMPLE are not true three-address-code since they > > specify two (2) branch targets (in their general form). E.g.: > > > > if (cond) then > > goto target1; > > else > > goto target2; > > > > IMHO, this should be split (or at least made splittable) into: > > > > if (

Re: GIMPLE issues and status of gimple-tuples

2006-11-18 Thread nkavv
Sorry, but our NetCat (he he) ate part of my previous e-mail. She (yep it's a she) lives in our mail server... Here's what was left out... > > b. Are LOOP_EXPRs decomposable to combinations of if-then-else and gotos? > It > > would help for VM (virtual machine) execution of GIMPLE IR. Ideally, a

Re: GIMPLE issues and status of gimple-tuples

2006-11-18 Thread Andrew Pinski
On Sun, 2006-11-19 at 05:57 +0200, [EMAIL PROTECTED] wrote: > > Errr, LOOP_EXPR doesn't actually exist anymore :) > > Loops are always lowered to if-then-else and gotos. > > That's nice! I'll check on how things are handled now. Is this true for latest > release, mainline - current gcc trunk, or g

RE: [avr-gcc-list] Re: AVR byte swap optimization

2006-11-18 Thread Eric Weddington
> -Original Message- > From: > [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] > org] On Behalf Of Paul Brook > Sent: Saturday, November 18, 2006 9:46 AM > To: gcc@gcc.gnu.org; Shaun Jackman > Cc: avr-gcc-list@nongnu.org > Subject: [avr-gcc-list] Re: AVR byte swap optimization > > > Ide

Re: alias slowdown?

2006-11-18 Thread Andrew MacLeod
On Fri, 2006-11-17 at 22:19 -0500, Daniel Berlin wrote: > On 11/17/06, Andrew MacLeod <[EMAIL PROTECTED]> wrote: > > On Fri, 2006-11-17 at 12:22 -0500, Andrew MacLeod wrote: > > > I just tried compiling cplusplus_grammer.ii with mainline, checking > > > disabled, and had to stop it after 30 minutes