On 10 October 2014 16:19, Alan Hayward <alan.hayw...@arm.com> wrote:
> This patch is dependant on "[AArch64] [BE] [1/2] Make large opaque integer
> modes endianness-safe.”
>
> It fixes up movoi/ci/xi for Big Endian, so that we end up with the lsb of
> a big-endian integer to be in the low byte of the highest-numbered
> register.
>
> movoi uses stp/ldp
> movxi needs a split version (which is shared with register->register
> movxi), which just splits to two new movs
> movci can then split to three movs. A future patch will instead split to
> an movoi and a movti.
>
>
> There are no changes for LE.
>
> Ran whole of check with both parts of "Make large opaque integer modes
> endianness-safe”. No regressions.
>
>
> ChangeLog:
>
>     gcc/:
>     2014-10-10  Alan Hayward  <alan.hayw...@arm.com>
>         * config/aarch64/aarch64.c
>         (aarch64_classify_address): Allow extra addressing modes for BE.
>         (aarch64_print_operand): new operand for printing a q register+1.
>         (aarch64_simd_emit_reg_reg_move): replacement for
>         aarch64_simd_disambiguate_copy that plants the required mov.
>         * config/aarch64/aarch64-protos.h
>         (aarch64_simd_emit_reg_reg_move): replacement for
>         aarch64_simd_disambiguate_copy.
>         * config/aarch64/aarch64-simd.md
>         (define_split) Use new aarch64_simd_emit_reg_reg_move.
>         (define_expand "mov<mode>") less restrictive predicates.
>         (define_insn "*aarch64_mov<mode>") Simplify and only allow for LE.
>         (define_insn "*aarch64_be_movoi") New.  BE only.  Plant ldp or stp.
>         (define_insn "*aarch64_be_movci") New.  BE only.  No instructions.
>         (define_insn "*aarch64_be_movxi") New.  BE only.  No instructions.
>         (define_split) OI mov.  Use new aarch64_simd_emit_reg_reg_move.
>         (define_split) CI mov.  Use new aarch64_simd_emit_reg_reg_move.
> On BE
>         plant movs for reg to/from mem case.
>         (define_split) XI mov.  Use new aarch64_simd_emit_reg_reg_move.
> On BE
>         plant movs for reg to/from mem case.
>

OK /Marcus

Reply via email to