aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/arm/arm-ldmstm.ml
AgeCommit message (Collapse)AuthorFilesLines
2023-01-02Update copyright years.Jakub Jelinek1-2/+2
2022-01-03Update copyright years.Jakub Jelinek1-2/+2
2021-01-04Update copyright years.Jakub Jelinek1-2/+2
2020-01-01Update copyright years.Jakub Jelinek1-2/+2
From-SVN: r279813
2019-01-01Update copyright years.Jakub Jelinek1-2/+2
From-SVN: r267494
2018-01-03Update copyright years.Jakub Jelinek1-2/+2
From-SVN: r256169
2017-01-01Update copyright years.Jakub Jelinek1-2/+2
From-SVN: r243994
2016-01-04Update copyright years.Jakub Jelinek1-2/+2
From-SVN: r232055
2015-11-06[Patch ARM] Unified assembler in ARM state.Ramana Radhakrishnan1-5/+18
gcc/ChangeLog: 2015-11-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> * config/arm/arm-ldmstm.ml: Rewrite to generate unified asm templates. * config/arm/arm.c (arm_asm_trampoline_template): Make unified asm safe. (arm_output_multireg_pop): Likewise. (output_move_double): Likewise. (output_move_quad): Likewise. (output_return_instruction): Likewise. (arm_print_operand): Remove support for %( and %. print modifiers. (arm_output_shift): Make unified asm. (arm_declare_function_name): Likewise. * config/arm/arm.h (TARGET_UNIFIED_ASM): Delete. (ASM_APP_OFF): Adjust. (ASM_OUTPUT_REG_PUSH): Undo special casing for TARGET_ARM. (ASM_OUTPUT_REG_POP): Likewise. * config/arm/arm.md: Adjust uses of %., %(, %) * config/arm/sync.md: Likewise. * config/arm/thumb2.md: Likewise. * config/arm/ldmstm.md: Regenerate. * config/arm/arm.opt (masm-unified-syntax): Do not special case Thumb. * doc/invoke.texi (masm-unified-syntax): Update documentation. gcc/testsuite/ChangeLog: 2015-11-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> * gcc.target/arm/combine-movs.c: * gcc.target/arm/interrupt-1.c: * gcc.target/arm/interrupt-2.c: * gcc.target/arm/unaligned-memcpy-4.c: From-SVN: r229875
2015-01-05Update copyright years.Jakub Jelinek1-2/+2
From-SVN: r219188
2014-01-02Update copyright years in gcc/Richard Sandiford1-2/+2
From-SVN: r206289
2013-12-19re PR target/59142 (internal compiler error while compiling OpenCV 2.4.7)Charles Baylis1-2/+5
2013-12-19 Charles Baylis <charles.baylis@linaro.org> PR target/59142 gcc/ * config/arm/arm-ldmstm.ml: Use low_register_operand for Thumb patterns. * config/arm/ldmstm.md: Regenerate. From-SVN: r206125
2013-12-19re PR target/59142 (internal compiler error while compiling OpenCV 2.4.7)Charles Baylis1-2/+2
2013-12-19 Charles Baylis <charles.baylis@linaro.org> PR target/59142 gcc/ * arm/predicates.md (arm_hard_general_register_operand): New predicate. (arm_hard_register_operand): Remove. * config/arm/arm-ldmstm.ml: Use arm_hard_general_register_operand for all patterns. * config/arm/ldmstm.md: Regenerate. From-SVN: r206124
2013-06-06arm-ldmstm.ml: Set "predicable_short_it" to "no" where appropriate.Kyrylo Tkachov1-1/+6
2013-06-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * config/arm/arm-ldmstm.ml: Set "predicable_short_it" to "no" where appropriate. * config/arm/ldmstm.md: Regenerate. From-SVN: r199734
2013-01-10Update copyright years in gcc/Richard Sandiford1-2/+2
From-SVN: r195098
2013-01-04Update Copyright years for files modified in 2011 and/or 2012.Jakub Jelinek1-2/+2
From-SVN: r194903
2012-03-02For Greta Yorsh.Greta Yorsh1-3/+8
2012-03-02 Greta Yorsh <Greta.Yorsh@arm.com> * config/arm/arm-ldmstm.ml (write_ldm_commutative_peephole): Improve conditions for peepholes of loads followed by commutative operators. * config/arm/ldmstm.md: Regenerated. From-SVN: r184783
2010-12-21* config/arm/arm-ldmstm.ml: Fix a typo in comment.Jie Zhang1-1/+1
From-SVN: r168106
2010-08-02re PR target/40457 (use stm and ldm to access consecutive memory words)Bernd Schmidt1-0/+332
PR target/40457 * config/arm/arm.h (arm_regs_in_sequence): Declare. * config/arm/arm-protos.h (emit_ldm_seq, emit_stm_seq, load_multiple_sequence, store_multiple_sequence): Delete declarations. (arm_gen_load_multiple, arm_gen_store_multiple): Adjust declarations. * config/arm/ldmstm.md: New file. * config/arm/arm.c (arm_regs_in_sequence): New array. (load_multiple_sequence): Now static. New args SAVED_ORDER, CHECK_REGS. All callers changed. If SAVED_ORDER is nonnull, copy the computed order into it. If CHECK_REGS is false, don't sort REGS. Handle Thumb mode. (store_multiple_sequence): Now static. New args NOPS_TOTAL, SAVED_ORDER, REG_RTXS and CHECK_REGS. All callers changed. If SAVED_ORDER is nonnull, copy the computed order into it. If CHECK_REGS is false, don't sort REGS. Set up REG_RTXS just like REGS. Handle Thumb mode. (arm_gen_load_multiple_1): New function, broken out of arm_gen_load_multiple. (arm_gen_store_multiple_1): New function, broken out of arm_gen_store_multiple. (arm_gen_multiple_op): New function, with code from arm_gen_load_multiple and arm_gen_store_multiple moved here. (arm_gen_load_multiple, arm_gen_store_multiple): Now just wrappers around arm_gen_multiple_op. Remove argument UP, all callers changed. (gen_ldm_seq, gen_stm_seq, gen_const_stm_seq): New functions. * config/arm/predicates.md (commutative_binary_operator): New. (load_multiple_operation, store_multiple_operation): Handle more variants of these patterns with different starting offsets. Handle Thumb-1. * config/arm/arm.md: Include "ldmstm.md". (ldmsi_postinc4, ldmsi_postinc4_thumb1, ldmsi_postinc3, ldmsi_postinc2, ldmsi4, ldmsi3, ldmsi2, stmsi_postinc4, stmsi_postinc4_thumb1, stmsi_postinc3, stmsi_postinc2, stmsi4, stmsi3, stmsi2 and related peepholes): Delete. * config/arm/ldmstm.md: New file. * config/arm/arm-ldmstm.ml: New file. testsuite/ PR target/40457 * gcc.target/arm/pr40457-1.c: New test. * gcc.target/arm/pr40457-2.c: New test. From-SVN: r162815