On 20/11/2014 18:13, "Marcus Shawcroft" <marcus.shawcr...@gmail.com> wrote:

>On 14 November 2014 16:48, Alan Hayward <alan.hayw...@arm.com> wrote:
>>This is a new version of my BE patch from a few weeks ago.
>>This is part 2 and covers all the aarch64 changes.
>>
>>When combined with the first patch, It fixes up movoi/ci/xi for Big
>>Endian, so that we end up with the lab of a big-endian integer to be in
>>the low byte of the highest-numbered register.
>>
>>This patch requires part 1 and David Sherwood’s patch:
>>  [AArch64] [BE] [1/2] Make large opaque integer modes endianness-safe.
>>
>>When tested with David’s patch and [1/2] of this patch, no regressions
>>were seen when testing aarch64 and x86_64 on make check.
>>
>>
>>Changelog:
>>2014-11-14  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.
>
>
>Just a bunch of ChangeLog nits.....

>
>+void aarch64_simd_emit_reg_reg_move (rtx *operands, enum machine_mode
>mode,
>+                                     unsigned int count);
>
>Drop the formal argument names.
>
>
>Can you respin with these changes please.
>
>/Marcus


New version. Identical to previous version of the patch except for:
* removal of parameter names in aarch64-protos.h
* new changelog


2014-11-21  Alan Hayward  <alan.hayw...@arm.com>

        PR 57233
        PR 59810
        * 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): Define.
        (aarch64_simd_disambiguate_copy): Remove.
        * config/aarch64/aarch64-protos.h
        (aarch64_simd_emit_reg_reg_move): Define.
        (aarch64_simd_disambiguate_copy): Remove.
        * config/aarch64/aarch64-simd.md
        (define_split): Use 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"): Define.
        (define_insn "*aarch64_be_movci"): Define.
        (define_insn "*aarch64_be_movxi"): Define.
        (define_split): OI mov.  Use aarch64_simd_emit_reg_reg_move.
        (define_split): CI mov.  Use aarch64_simd_emit_reg_reg_move.
        (define_split): XI mov.  Use aarch64_simd_emit_reg_reg_move.


Alan.


Attachment: 0001-BE-fix-load-stores.-Aarch64-code.-v2.patch
Description: Binary data

Reply via email to