Avoidance of unaligned loads is overly conservative
On alpha, mips, mipsel and arm we do loads in a way that is safe even if they are unaligned (see
compiler/cmm/PprC.hs). We need this when, for example, we read things with
Addr#s in alex-generated lexers, but most of the time we know that the address is aligned appropriately so loads are slower than they need be.
A better way to do this would be to make Load a
MachOp parameterised by whether it's known to be aligned or not. Likewise, Store should be a