neon.md (UNSPEC_VABA): Delete.
authorSandra Loosemore <sandra@codesourcery.com>
Sat, 3 Jul 2010 00:31:43 +0000 (20:31 -0400)
committerSandra Loosemore <sandra@gcc.gnu.org>
Sat, 3 Jul 2010 00:31:43 +0000 (20:31 -0400)
commitbab53516d0a58120f1d3b24aabc09a3d7e6443aa
tree716708677aed26e5c65cf3ff167cec3906175513
parentb614e5669ebff10b7ec9b5fff4e539ab1416e38b
neon.md (UNSPEC_VABA): Delete.

2010-07-02  Sandra Loosemore  <sandra@codesourcery.com>
    Julian Brown  <julian@codesourcery.com>

gcc/
* config/arm/neon.md (UNSPEC_VABA): Delete.
(UNSPEC_VABAL): Delete.
(UNSPEC_VABS): Delete.
(UNSPEC_VMUL_N): Delete.
(adddi3_neon): New.
(subdi3_neon): New.
(mul<mode>3add<mode>_neon): Make the pattern named.
(mul<mode>3neg<mode>add<mode>_neon): Likewise.
(neon_vadd<mode>): Replace with define_expand, and move the remaining
unspec parts...
(neon_vadd<mode>_unspec): ...to this.
(neon_vmla<mode>, neon_vmla<mode>_unspec): Likewise.
(neon_vlms<mode>, neon_vmls<mode>_unspec): Likewise.
(neon_vsub<mode>, neon_vsub<mode>_unspec): Likewise.
(neon_vaba<mode>): Rewrite in terms of vabd.
(neon_vabal<mode>): Rewrite in terms of vabdl.
(neon_vabs<mode>): Rewrite without unspec.
* config/arm/arm.md (*arm_adddi3): Disable for TARGET_NEON.
(*arm_subdi3): Likewise.
* config/arm/neon.ml (Vadd, Vsub): Split out 64-bit variants and add
No_op attribute to disable assembly output checks.
* config/arm/arm_neon.h: Regenerated.
* doc/arm-neon-intrinsics.texi: Regenerated.

gcc/testsuite/
* gcc.target/arm/neon/vadds64.c: Regenerated.
* gcc.target/arm/neon/vaddu64.c: Regenerated.
* gcc.target/arm/neon/vsubs64.c: Regenerated.
* gcc.target/arm/neon/vsubu64.c: Regenerated.
* gcc.target/arm/neon-vmla-1.c: Add -ffast-math to options.
* gcc.target/arm/neon-vmls-1.c: Likewise.
* gcc.target/arm/neon-vsubs64.c: New execution test.
* gcc.target/arm/neon-vsubu64.c: New execution test.
* gcc.target/arm/neon-vadds64.c: New execution test.
* gcc.target/arm/neon-vaddu64.c: New execution test.

Co-Authored-By: Julian Brown <julian@codesourcery.com>
From-SVN: r161762
17 files changed:
gcc/ChangeLog
gcc/config/arm/arm.md
gcc/config/arm/arm_neon.h
gcc/config/arm/neon.md
gcc/config/arm/neon.ml
gcc/doc/arm-neon-intrinsics.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/arm/neon-vadds64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/neon-vaddu64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/neon-vmla-1.c
gcc/testsuite/gcc.target/arm/neon-vmls-1.c
gcc/testsuite/gcc.target/arm/neon-vsubs64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/neon-vsubu64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/neon/vadds64.c
gcc/testsuite/gcc.target/arm/neon/vaddu64.c
gcc/testsuite/gcc.target/arm/neon/vsubs64.c
gcc/testsuite/gcc.target/arm/neon/vsubu64.c