PR target/55701
commite34ebfca43a840705b6f17c51ad125c253b2da4a
authoramker <amker@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 5 Sep 2014 03:45:57 +0000 (5 03:45 +0000)
committeramker <amker@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 5 Sep 2014 03:45:57 +0000 (5 03:45 +0000)
treec2c034f7f79ce46f5c16ab4210ec8b47729aa000
parent490f62caaecc38eb4732ad07e57991f85a105ded
PR target/55701
* config/arm/arm.md (setmem): New pattern.
* config/arm/arm-protos.h (struct tune_params): New fields.
(arm_gen_setmem): New prototype.
* config/arm/arm.c (arm_slowmul_tune): Initialize new fields.
(arm_fastmul_tune, arm_strongarm_tune, arm_xscale_tune): Ditto.
(arm_9e_tune, arm_v6t2_tune, arm_cortex_tune): Ditto.
(arm_cortex_a8_tune, arm_cortex_a7_tune): Ditto.
(arm_cortex_a15_tune, arm_cortex_a53_tune): Ditto.
(arm_cortex_a57_tune, arm_cortex_a5_tune): Ditto.
(arm_cortex_a9_tune, arm_cortex_a12_tune): Ditto.
(arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune): Ditto.
(arm_const_inline_cost): New function.
(arm_block_set_max_insns): New function.
(arm_block_set_non_vect_profit_p): New function.
(arm_block_set_vect_profit_p): New function.
(arm_block_set_unaligned_vect): New function.
(arm_block_set_aligned_vect): New function.
(arm_block_set_unaligned_non_vect): New function.
(arm_block_set_aligned_non_vect): New function.
(arm_block_set_vect, arm_gen_setmem): New functions.

testsuite
* gcc.target/arm/memset-inline-1.c: New test.
* gcc.target/arm/memset-inline-2.c: New test.
* gcc.target/arm/memset-inline-3.c: New test.
* gcc.target/arm/memset-inline-4.c: New test.
* gcc.target/arm/memset-inline-5.c: New test.
* gcc.target/arm/memset-inline-6.c: New test.
* gcc.target/arm/memset-inline-7.c: New test.
* gcc.target/arm/memset-inline-8.c: New test.
* gcc.target/arm/memset-inline-9.c: New test.
* gcc.target/arm/memset-inline-10.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214937 138bc75d-0d04-0410-961f-82ee72b054a4
15 files changed:
gcc/ChangeLog
gcc/config/arm/arm-protos.h
gcc/config/arm/arm.c
gcc/config/arm/arm.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/arm/memset-inline-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/memset-inline-10.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/memset-inline-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/memset-inline-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/memset-inline-4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/memset-inline-5.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/memset-inline-6.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/memset-inline-7.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/memset-inline-8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/memset-inline-9.c [new file with mode: 0644]