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..... ChangeLog entries are sentences. All of these entries should start with a capital letter. Perhaps this one would be better written as: Add 'R' specifier. > (aarch64_simd_emit_reg_reg_move): replacement for Replace with just: (aarch64_simd_emit_reg_reg_move): Remove. > * config/aarch64/aarch64-protos.h > (aarch64_simd_emit_reg_reg_move): replacement for > aarch64_simd_disambiguate_copy. How about: ( aarch64_simd_disambiguate_copy): Define. etc > * 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. Just say: Define. > (define_insn "*aarch64_be_movci"): New. BE only. No instructions. > (define_insn "*aarch64_be_movxi"): New. BE only. No instructions. Likewise. > (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. Drop this part. > (define_split): XI mov. Use new aarch64_simd_emit_reg_reg_move. > On BE > plant movs for reg to/from mem case. Likewise. +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