Opened 11 years ago

Last modified 16 months ago

#1016 new task

Avoidance of unaligned loads is overly conservative

Reported by: igloo Owned by:
Priority: lowest Milestone:
Component: Compiler Version: 6.6
Keywords: Cc:
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: None/Unknown Test Case: N/A
Blocked By: Blocking:
Related Tickets: Differential Rev(s):
Wiki Page:

Description

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 (16)

comment:1 Changed 10 years ago by simonmar

Milestone: 6.8 branch6.10 branch

Let's revisit this in the context of the new back end.

comment:2 Changed 9 years ago by simonmar

Architecture: UnknownUnknown/Multiple

comment:3 Changed 9 years ago by simonmar

Operating System: UnknownUnknown/Multiple

comment:4 Changed 8 years ago by igloo

Milestone: 6.10 branch6.12 branch

comment:5 Changed 7 years ago by igloo

Milestone: 6.12 branch6.12.3

comment:6 Changed 7 years ago by igloo

Milestone: 6.12.36.14.1
Priority: normallow

comment:7 Changed 6 years ago by igloo

Milestone: 7.0.17.0.2

comment:8 Changed 6 years ago by igloo

Milestone: 7.0.27.2.1

comment:9 Changed 6 years ago by igloo

Milestone: 7.2.17.4.1

comment:10 Changed 5 years ago by igloo

Milestone: 7.4.17.6.1
Priority: lowlowest

comment:11 Changed 5 years ago by igloo

Milestone: 7.6.17.6.2

comment:12 Changed 3 years ago by thoughtpolice

Milestone: 7.6.27.10.1

Moving to 7.10.1.

comment:13 Changed 2 years ago by thoughtpolice

Milestone: 7.10.17.12.1

Moving to 7.12.1 milestone; if you feel this is an error and should be addressed sooner, please move it back to the 7.10.1 milestone.

comment:14 Changed 2 years ago by thoughtpolice

Moving to 7.12.1 milestone; if you feel this is an error and should be addressed sooner, please move it back to the 7.10.1 milestone.

comment:15 Changed 21 months ago by thoughtpolice

Milestone: 7.12.18.0.1

Milestone renamed

comment:16 Changed 16 months ago by thomie

Milestone: 8.0.1
Note: See TracTickets for help on using tickets.