arm.c (const_ok_for_dimode_op): Handle AND case.
commit1c50eadaae42490efff780b9b68123a952d34f57
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>
Mon, 15 Apr 2013 10:43:43 +0000 (15 10:43 +0000)
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>
Mon, 15 Apr 2013 10:43:43 +0000 (15 10:43 +0000)
tree5d5c0f95ead98d820847ebc2339f133fefbd14ab
parente927b6ad355c068ce2030bdec5a23db8d7a41496
arm.c (const_ok_for_dimode_op): Handle AND case.

2013-04-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* config/arm/arm.c (const_ok_for_dimode_op): Handle AND case.
* config/arm/arm.md (*anddi3_insn): Change to insn_and_split.
* config/arm/constraints.md (De): New constraint.
* config/arm/neon.md (anddi3_neon): Delete.
(neon_vand<mode>): Expand to standard anddi3 pattern.
* config/arm/predicates.md (imm_for_neon_inv_logic_operand):
Move earlier in the file.
(neon_inv_logic_op2): Likewise.
(arm_anddi_operand_neon): New predicate.

testsuite:
* gcc.target/arm/anddi3-opt.c: New test.
* gcc.target/arm/anddi3-opt2.c: Likewise.

From-SVN: r197965
gcc/ChangeLog
gcc/config/arm/arm.c
gcc/config/arm/arm.md
gcc/config/arm/constraints.md
gcc/config/arm/neon.md
gcc/config/arm/predicates.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/arm/anddi3-opt.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/anddi3-opt2.c [new file with mode: 0644]