Hi Grant,
What? You just admitted foo is aligned on a word boundary.
Therefore foo+1 _isn't_ on a word boundary. The compiler
generated a word move with &foo+1 as the destination. How is
that fine?
Ok got that now, and your example also generates bad code.
When I try and link the first example I get a fixup waring from the
linker, I think that must be telling us something :-).
Thanks Ill add a few more efficient (code size) "ll : br ll" 's to the
compiler output where the code is too long :-).
Ill have a look where the memset is optimized out by the compiler.
Regards,
--
Peter Jansen
___________________________________________________________________________
Australian Antarctic Division - Commonwealth of Australia
IMPORTANT: This transmission is intended for the addressee only. If you are not
the
intended recipient, you are notified that use or dissemination of this
communication is
strictly prohibited by Commonwealth law. If you have received this transmission
in error,
please notify the sender immediately by e-mail or by telephoning +61 3 6232
3209 and
DELETE the message.
Visit our web site at http://www.aad.gov.au/
___________________________________________________________________________