r254727 - in /trunk/gcc: ChangeLog config/aarch...
jgreenhalgh@gcc.gnu.org
jgreenhalgh@gcc.gnu.org
Tue Nov 14 14:09:00 GMT 2017
Author: jgreenhalgh
Date: Tue Nov 14 14:09:57 2017
New Revision: 254727
URL: https://gcc.gnu.org/viewcvs?rev=254727&root=gcc&view=rev
Log:
[Patch AArch64] Stop generating BSL for simple integer code
Turn aarch64_simd_bsldi_internal in to an insn_and_split that
knows to split back to integer operations if the register allocation
falls that way. Do this to avoid having to move between integer and
Advanced SIMD register files just for a single BSL.
---
gcc/
* config/aarch64/aarch64-simd.md
(aarch64_simd_bsl<mode>_internal): Remove DImode.
(*aarch64_simd_bsl<mode>_alt): Likewise.
(aarch64_simd_bsldi_internal): New.
(aarch64_simd_bsldi_alt): Likewise.
gcc/testsuite/
* gcc.target/aarch64/bsl-idiom.c: New.
* gcc.target/aarch64/copysign-bsl.c: New.
Added:
trunk/gcc/testsuite/gcc.target/aarch64/bsl-idiom.c
trunk/gcc/testsuite/gcc.target/aarch64/copysign-bsl.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/aarch64/aarch64-simd.md
trunk/gcc/testsuite/ChangeLog
More information about the Gcc-cvs
mailing list