Pointer element types do not imply that the pointer is ABI aligned. We should be using either an explicit align attribute here, or fall by to an alignment of 1.
This fixes a new element type access introduced in D117764.
Differential D118681
[AArch64] Do not use ABI alignment for mops.memset.tag nikic on Feb 1 2022, 12:45 AM. Authored by
Details Pointer element types do not imply that the pointer is ABI aligned. We should be using either an explicit align attribute here, or fall by to an alignment of 1. This fixes a new element type access introduced in D117764.
Diff Detail
Event TimelineComment Actions Thanks. Can you add a test case for a @llvm.aarch64.mops.memset.tag with an align attribute on the operand? Comment Actions Add test with align attribute. I don't think this has any actual effect, at least I don't see how the lowering would depend on alignment. Comment Actions Hmm. I was expecting to be able to test this by printing the MIR and inspecting the operand, but it appears that the alignment gets lost as we convert to a machine node. I'm not sure why. Like you said the alignment won't be used for much though, so I think this LGTM as-is. So long as we have a test that the align operand isn't doing anything funny, that Ok on its own. Thanks. |