http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58041
--- Comment #13 from Bernd Edlinger <bernd.edlinger at hotmail dot de> --- Hi, just one question, how about the -m[no-]unaligned-access option? If -munaligned-access had been given the code was almost right, I mean AFAIK ldr/str should be handled in hardware but ldmia generates an alignment exception and _may_ be emulated by an IRQ handler, but that would not be very efficient. When -mno-unaligned-access is given any ldr/str on unaligned addresses have to be avoided.