On Mon, Jan 04, 2016 at 03:25:48PM -0800, H.J. Lu wrote:
> LRA is fine. I should use
>
> (define_memory_constraint "Bm"
> "@internal Vector memory operand."
> (match_operand 0 "vector_memory_operand"))
>
> instead of
>
> (define_constraint "Bm"
> "@internal Vector memory operand."
> (match_operand 0 "vector_memory_operand"))
I don't think so. At least the documentation says that
define_memory_constraint is for MEM constraints where if they are not
satisfied they can be made to satisfy by forcing the address into a
register. But that is not the case here, if a MEM is misaligned, no
equivalent changes to the XEXP (mem, 0) will make it aligned.
Jakub