Charles Curley wrote:
You are correct that a register declaration is advisory. I agree that one would have to look at the assembler output. Actually, what I would do if I were writing this for a real embedded library is look at the assembler output for several of these versions, pick one or two for size and speed, and further hand optimize the heck out of that.
You mean you wouldn't test it to see if it's fast enough as is before launching into a possibly very expensive assembler optimization session? Even in the smallest of embedded systems, premature optimization is the still the root of all evil. :) And remember, C is usually pretty portable, whereas assembler optimizations are almost always not. And lastly, even on the smallest of embedded systems I've worked on (32Kb code space, 20Mhz CPU clock), I still have never had to do any hand ASM optimization.
--Dave /* PLUG: http://plug.org, #utah on irc.freenode.net Unsubscribe: http://plug.org/mailman/options/plug Don't fear the penguin. */
