Messages in this thread |  | | | Date | Tue, 10 Nov 1998 13:23:32 -0800 | | From | "David S. Miller" <> | | Subject | Re: A patch for linux 2.1.127 |
| |
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/
|  |