Avoidance of unaligned loads is overly conservative
|Reported by:||igloo||Owned by:|
|Type of failure:||Test Case:||N/A|
|Related Tickets:||Differential Revisions:|
On alpha, mips, mipsel and arm we do loads in a way that is safe even if they are unaligned (see cLoad in compiler/cmm/PprC.hs). We need this when, for example, we read things with indexInt16OffAddr# from 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 CallishMachOp.
Change History (14)
comment:6 Changed 5 years ago by igloo
- Milestone changed from 6.12.3 to 6.14.1
- Priority changed from normal to low
comment:10 Changed 4 years ago by igloo
- Milestone changed from 7.4.1 to 7.6.1
- Priority changed from low to lowest