OSDN Git Service

2011-08-26 Andrew Stubbs <ams@codesourcery.com>
authorams <ams@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 26 Aug 2011 09:53:06 +0000 (09:53 +0000)
committerams <ams@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 26 Aug 2011 09:53:06 +0000 (09:53 +0000)
commitd5cbae34265fa6f0669101737a9e9fd26e1da405
treed78657a83d7593350ed745d3bd7215b38b2dab50
parent9e01b0a7efeeda0bea81dbe8fa118a2d0edc5648
2011-08-26  Andrew Stubbs  <ams@codesourcery.com>

gcc/
* config/arm/arm.c (struct four_ints): New type.
(count_insns_for_constant): Delete function.
(find_best_start): Delete function.
(optimal_immediate_sequence): New function.
(optimal_immediate_sequence_1): New function.
(arm_gen_constant): Move constant splitting code to
optimal_immediate_sequence.
Rewrite constant negation/invertion code.

gcc/testsuite/
* gcc.target/arm/thumb2-replicated-constant1.c: New file.
* gcc.target/arm/thumb2-replicated-constant2.c: New file.
* gcc.target/arm/thumb2-replicated-constant3.c: New file.
* gcc.target/arm/thumb2-replicated-constant4.c: New file.

2011-08-26  Andrew Stubbs  <ams@codesourcery.com>

gcc/
* config/arm/arm-protos.h (const_ok_for_op): Add prototype.
* config/arm/arm.c (const_ok_for_op): Add support for addw/subw.
Remove prototype. Remove static function type.
* config/arm/arm.md (*arm_addsi3): Add addw/subw support.
Add arch attribute.
* config/arm/constraints.md (Pj, PJ): New constraints.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178099 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/arm/arm-protos.h
gcc/config/arm/arm.c
gcc/config/arm/arm.md
gcc/config/arm/constraints.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/arm/thumb2-replicated-constant1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/thumb2-replicated-constant2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/thumb2-replicated-constant3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/thumb2-replicated-constant4.c [new file with mode: 0644]