[AArch64] Fix vcond where comparison and result have different types.
commitfc21784dec6ab2642059b2a988af355a08cbba1a
authorJames Greenhalgh <james.greenhalgh@arm.com>
Tue, 14 May 2013 14:56:13 +0000 (14 14:56 +0000)
committerJames Greenhalgh <jgreenhalgh@gcc.gnu.org>
Tue, 14 May 2013 14:56:13 +0000 (14 14:56 +0000)
treeb5619b4b0a47188d0369c7116277766d78842d7f
parentadce5cdf6f3f32dca2004892b369157284e9c0d5
[AArch64] Fix vcond where comparison and result have different types.

gcc/

* config/aarch64/aarch64-simd.md
(aarch64_vcond_internal<mode>): Rename to...
(aarch64_vcond_internal<mode><mode>): ...This, for integer modes.
(aarch64_vcond_internal<VDQF_COND:mode><VDQF:mode>): ...This for
float modes. Clarify all iterator modes.
(vcond<mode><mode>): Use new name for vcond expanders.
(vcond<v_cmp_result><mode>): Likewise.
(vcondu<mode><mode>: Likewise.
* config/aarch64/iterators.md (VDQF_COND): New.

gcc/testsuite/

* gcc.target/aarch64/vect-fcm.x: Add cases testing
FLOAT cmp FLOAT ? INT : INT.
 * gcc.target/aarch64/vect-fcm-eq-d.c: Define IMODE.
 * gcc.target/aarch64/vect-fcm-eq-f.c: Likewise.
 * gcc.target/aarch64/vect-fcm-ge-d.c: Likewise.
 * gcc.target/aarch64/vect-fcm-ge-f.c: Likewise.
 * gcc.target/aarch64/vect-fcm-gt-d.c: Likewise.
 * gcc.target/aarch64/vect-fcm-gt-f.c: Likewise.

From-SVN: r198890
gcc/ChangeLog
gcc/config/aarch64/aarch64-simd.md
gcc/config/aarch64/iterators.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/aarch64/vect-fcm-eq-d.c
gcc/testsuite/gcc.target/aarch64/vect-fcm-eq-f.c
gcc/testsuite/gcc.target/aarch64/vect-fcm-ge-d.c
gcc/testsuite/gcc.target/aarch64/vect-fcm-ge-f.c
gcc/testsuite/gcc.target/aarch64/vect-fcm-gt-d.c
gcc/testsuite/gcc.target/aarch64/vect-fcm-gt-f.c
gcc/testsuite/gcc.target/aarch64/vect-fcm.x