http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58041
Martin Jambor <jamborm at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|wschmidt at gcc dot gnu.org |jamborm at gcc dot gnu.org --- Comment #24 from Martin Jambor <jamborm at gcc dot gnu.org> --- Created attachment 30594 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30594&action=edit Proposed patch (In reply to Bill Schmidt from comment #20) > After thinking it over some more, I think you are right, Martin. We should > go ahead with the optimization with the corrected alignment attached to the > type. Please go ahead with your patch. I will run a round of regression > testing on PowerPC (an architecture for which the generic test produces > misaligned but legal memory references) as well. > > Sorry for going back and forth on this. I try to avoid wasting compile time > on useless transformations, but in this case we will still see some benefit > in some cases, and the code should be no worse than before when we don't. > No worries, I'm currently bootstrapping and testing the attached patch. I'm bootstrapping on x86_64-linux and with bugs like this one, any additional testing on other platforms is very welcome. (In reply to Bill Schmidt from comment #21) > My only comment on the patch would be to please add commentary indicating > why the change is being made, and referencing this PR. Something along the > lines of: > > /* Ensure the memory reference carries the minimum alignment > requirement for the data type. Some targets (e.g., ARM) > can't always handle an unaligned reference otherwise. See PR58041. */ > > ...or something like that. > The alignment information should be there regardless of the target so I just used the first sentence and the PR reference. I hope that is enough. Thanks.