arm.c (struct four_ints): New type.
authorAndrew Stubbs <ams@codesourcery.com>
Fri, 26 Aug 2011 09:53:06 +0000 (09:53 +0000)
committerAndrew Stubbs <ams@gcc.gnu.org>
Fri, 26 Aug 2011 09:53:06 +0000 (09:53 +0000)
commitc2b640a7ca9dcce8c6f32d0a55ee12b7a81da475
treed78657a83d7593350ed745d3bd7215b38b2dab50
parent58a2bda0e5d919cec4491a7fed2bd88cfb7411b9
arm.c (struct four_ints): New type.

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.

From-SVN: r178099
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]