ldmstm.md (ldm2_ia, [...]): Add condition !arm_arch7 to these insns.
* config/arm/ldmstm.md (ldm2_ia, stm2_ia, ldm2_ib, stm2_ib, ldm2_da, stm2_da, ldm2_db, stm2_db): Add condition !arm_arch7 to these insns. (ldrd, ldrd_reg1, ldrd_reg2 and peephole2): New insn patterns and related peephole2. (strd, strd_reg1, strd_reg2 and peephole2): New insn patterns and related peephole2. * config/arm/arm-protos.h (arm_check_ldrd_operands): New prototype. (arm_legitimate_ldrd_p): New prototype. (arm_output_ldrd): New prototype. * config/arm/arm.c (arm_check_ldrd_operands): New function. (arm_legitimate_ldrd_p): New function. (arm_output_ldrd): New function. * gcc.target/arm/pr45335.c: New test. * gcc.target/arm/pr45335-2.c: New test. * gcc.target/arm/pr45335-3.c: New test. * gcc.target/arm/pr40457-1.c: Add another possible output "ldrd". * gcc.target/arm/pr40457-2.c: Changed to store 3 words. * gcc.target/arm/pr40457-3.c: Changed to store 3 words. From-SVN: r174940
Showing
- gcc/ChangeLog 16 additions, 0 deletionsgcc/ChangeLog
- gcc/config/arm/arm-protos.h 3 additions, 0 deletionsgcc/config/arm/arm-protos.h
- gcc/config/arm/arm.c 230 additions, 0 deletionsgcc/config/arm/arm.c
- gcc/config/arm/ldmstm.md 212 additions, 8 deletionsgcc/config/arm/ldmstm.md
- gcc/testsuite/ChangeLog 10 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/gcc.target/arm/pr40457-1.c 1 addition, 1 deletiongcc/testsuite/gcc.target/arm/pr40457-1.c
- gcc/testsuite/gcc.target/arm/pr40457-2.c 1 addition, 0 deletionsgcc/testsuite/gcc.target/arm/pr40457-2.c
- gcc/testsuite/gcc.target/arm/pr40457-3.c 1 addition, 0 deletionsgcc/testsuite/gcc.target/arm/pr40457-3.c
Loading
Please register or sign in to comment