Thread (12 messages) flat view 12 messages, 5 authors, 2002-11-12

Re: ppc_8xx-gcc 2.95.3 Monta Vista does not do ANY loop unrolling

From: Joakim Tjernlund <hidden>
Date: 2002-11-12 21:30:12

On Tue, Nov 12, 2002 at 05:46:49PM +0100, Joakim Tjernlund wrote:
quoted
quoted
quoted
Now to the trick question(s):
Where might it be suitable to add -funroll-loops or, better yet, can it be done
with a pragma or attribute attached to the function in question? It's pretty
hard to unroll inline functions otherwise (and only the inline function).
Well, to lib/Makefile:
ifeq ($(CONFIG_PPC32),y)
CFLAGS_crc32.o += -funroll-loops
endif

Should work.  And it's not unheard of.
Yes, that much I already figured, but are there OTHER places in
the kernel that also might benefit from unrolling. I don't know the
kernel as well as you do and was hoping for a lead or two.
Not really.  Unfortunatly what might be better is to figure out how it
works on i386, and then figure out how to duplicate that logic on PPC,
maybe making it another flag and then turned on for different sizes
based on -mtune.
well, according to Mark Hatle it's only gcc 3.3-pre that does this kind of unrolling
automatically so that will take a very long time before it's figured out and usable.

So maybe it's worth the effort  to figure out a few hot spots and apply -funroll-loops there.

-mtune is new to me, need to look that one up.
quoted
quoted
quoted
 Any progress on the i2c-algo-8xx.c and/or 8xx_io/enet.c patches I sent earlier?
As I said privatly, Dan Malek is handling the enet patch, and I'm
looking for time to do the i2c one.  Right now I'm working on making the
kernel easier to tweak (in some ways) for 2.5.
I know Dan is handling the enet stuff, but since you both work
for MV(don't you?) I figured you might know, being an insider and all :-)
I don't follow you.  Dan doesn't work for MVista now.
Sorry, I didn't know that.
quoted
Maybe your tweak stuff could make use of forced unrolling?
Eventually, it could be used for turning it on or off for the whole
kernel, or for a specific area even, once I get Makefile tweaks working.
First I'm trying to get dependancies right.
makes sense.

    Jocke

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help