Re: A patch for linux 2.1.127

David S. Miller (davem@dm.cobaltmicro.com)
Tue, 10 Nov 1998 13:23:32 -0800


Date: Tue, 10 Nov 1998 10:28:02 -0500 (EST)
From: "Richard B. Johnson" <root@chaos.analogic.com>

There are no secrets on how this is done. Any competent assembly-
language programmer would use this technique as a trade-off of RAM
v.s. speed. The GNU pseudo-assem prevents me from porting this to
Linux.

? Your application just would not a good usage of the inline asm
feature of gcc, it was not designed for this sort of task. You can
always choose some other method to achieve what you want.

Although, I can't think of one situation where I wanted to do
something incredibly crazy and grotesque in raw assembly on Sparc and
couldn't find a way to do it within' a C source file with gcc. For
example I once had a version of the UltraSparc/VIS unrolled memcpy
completely in C using gcc, the arguments could be passed in, it
required 7 versions of the 300 instruction loop, etc. all in one hunk
of code, it had a return value, and it all worked.

I think the bottom line is that gcc inline asms are more powerful in
one aspect than other schemes, and in another aspect they are less
powerful than such schemes. It was a trade off in design when they
were initially implemented. Perhaps it's showing it's age now, so
lets work on fixing it.

Later,
David S. Miller
davem@dm.cobaltmicro.com

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/