On 30/04/2014 18:22, Vincent Rivière wrote:
__attribute__ ((packed)) causes bad code for the old 68000 only. Since newer processors can access words and longs on odd addresses, gcc produces optimal move.w and move.l code as usual, in any case.
More precisely:- when you use __attribute__ ((packed)) and compile with -m68000, the generated code will be bad for any processor (access use move.b only)
- when you use __attribute__ ((packed)) and compile with -m68020-60, the generated code will be optimal on any processor (but will not run on old 68000, of course).
-- Vincent Rivière