[ARM] Rewrite vc<cond> NEON patterns to use RTL operations rather than UNSPECs
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>
Thu, 23 Apr 2015 16:19:26 +0000 (16:19 +0000)
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>
Thu, 23 Apr 2015 16:19:26 +0000 (16:19 +0000)
commit381811fa306b8bb2b60d6b7854cc249d89dc52e5
tree6dcaaaa4874067350a9fb8c452f51fccac53dd6e
parent14336fe34bde33193d5d28c432ff411ce3a2c507
[ARM] Rewrite vc<cond> NEON patterns to use RTL operations rather than UNSPECs

* config/arm/iterators.md (GTGE, GTUGEU, COMPARISONS): New code
iterators.
(cmp_op, cmp_type): New code attributes.
(NEON_VCMP, NEON_VACMP): New int iterators.
(cmp_op_unsp): New int attribute.
* config/arm/neon.md (neon_vc<cmp_op><mode>): New define_expand.
(neon_vceq<mode>): Delete.
(neon_vc<cmp_op><mode>_insn): New pattern.
(neon_vc<cmp_op_unsp><mode>_insn_unspec): Likewise.
(neon_vcgeu<mode>): Delete.
(neon_vcle<mode>): Likewise.
(neon_vclt<mode>: Likewise.
(neon_vcage<mode>): Likewise.
(neon_vcagt<mode>): Likewise.
(neon_vca<cmp_op><mode>): New define_expand.
(neon_vca<cmp_op><mode>_insn): New pattern.
(neon_vca<cmp_op_unsp><mode>_insn_unspec): Likewise.

* gcc.target/arm/neon/pr51534.c: Update vcg* scan-assembly patterns
to look for vcl* where appropriate.

From-SVN: r222379
gcc/ChangeLog
gcc/config/arm/iterators.md
gcc/config/arm/neon.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/arm/neon/pr51534.c