[Patch AArch64] Fix up BSL expander for floating point types
commitc4d0de0bf27d8e44a439a775d50d28b442b9c8b6
authorjgreenhalgh <jgreenhalgh@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 11 Nov 2014 17:37:35 +0000 (11 17:37 +0000)
committerjgreenhalgh <jgreenhalgh@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 11 Nov 2014 17:37:35 +0000 (11 17:37 +0000)
tree64feec8b8842992d131749045b465fa4bae5118a
parent8d2c507e3644ab03a0be5e9d79a7af89219f9346
[Patch AArch64] Fix up BSL expander for floating point types

gcc/

* config/aarch64/aarch64-simd.md
(aarch64_simd_bsl<mode>_internal): Remove float cases, canonicalize.
(aarch64_simd_bsl<mode>): Add gen_lowpart expressions where we
are punning between float vectors and integer vectors.

gcc/testsuite/

* gcc.target/aarch64/vbslq_f64_1.c: New.
* gcc.target/aarch64/vbslq_f64_2.c: Likewise.
* gcc.target/aarch64/vbslq_u64_1.c: Likewise.
* gcc.target/aarch64/vbslq_u64_2.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217362 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/aarch64/aarch64-simd.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/aarch64/vbslq_f64_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/vbslq_f64_2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/vbslq_u64_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/vbslq_u64_2.c [new file with mode: 0644]