OSDN Git Service

* config/arm/ldmstm.md (ldm2_ia, stm2_ia, ldm2_ib, stm2_ib, ldm2_da,
authorcarrot <carrot@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 11 Jun 2011 02:28:35 +0000 (02:28 +0000)
committercarrot <carrot@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 11 Jun 2011 02:28:35 +0000 (02:28 +0000)
commita71b0c8e22eb73fd0236c8d0109707fee2956b70
tree1543c3e468e1422a10357fa1a8ed474c5aa0e2c2
parenta4cd2871516e89679702a2c3de19ddd303d4a4a5
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174940 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/arm/arm-protos.h
gcc/config/arm/arm.c
gcc/config/arm/ldmstm.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/arm/pr40457-1.c
gcc/testsuite/gcc.target/arm/pr40457-2.c
gcc/testsuite/gcc.target/arm/pr40457-3.c