On 18 November 2014 at 08:34, Bin Cheng <bin.ch...@arm.com> wrote: > 2014-11-18 Bin Cheng <bin.ch...@arm.com> > > * config/aarch64/aarch64.md (load_pair<mode>): Split to > load_pairsi, load_pairdi, load_pairsf and load_pairdf. > (load_pairsi, load_pairdi, load_pairsf, load_pairdf): Split > from load_pair<mode>. New alternative to support int/fp > registers in fp/int mode patterns. > (store_pair<mode>:): Split to store_pairsi, store_pairdi, > store_pairsf and store_pairdi. > (store_pairsi, store_pairdi, store_pairsf, store_pairdf): Split > from store_pair<mode>. New alternative to support int/fp > registers in fp/int mode patterns. > (*load_pair_extendsidi2_aarch64): New pattern. > (*load_pair_zero_extendsidi2_aarch64): New pattern. > (aarch64-ldpstp.md): Include. > * config/aarch64/aarch64-ldpstp.md: New file. > * config/aarch64/aarch64-protos.h (aarch64_gen_adjusted_ldpstp): > New. > (extract_base_offset_in_addr): New. > (aarch64_operands_ok_for_ldpstp): New. > (aarch64_operands_adjust_ok_for_ldpstp): New. > * config/aarch64/aarch64.c (enum sched_fusion_type): New enum. > (TARGET_SCHED_FUSION_PRIORITY): New hook. > (fusion_load_store): New functon. > (extract_base_offset_in_addr): New function. > (aarch64_gen_adjusted_ldpstp): New function. > (aarch64_sched_fusion_priority): New function. > (aarch64_operands_ok_for_ldpstp): New function. > (aarch64_operands_adjust_ok_for_ldpstp): New function. > > 2014-11-18 Bin Cheng <bin.ch...@arm.com> > > * gcc.target/aarch64/ldp-stp-1.c: New test. > * gcc.target/aarch64/ldp-stp-2.c: New test. > * gcc.target/aarch64/ldp-stp-3.c: New test. > * gcc.target/aarch64/ldp-stp-4.c: New test. > * gcc.target/aarch64/ldp-stp-5.c: New test. > * gcc.target/aarch64/lr_free_1.c: Disable scheduling fusion > and peephole2 pass.
Committed, thanks. /Marcus