diff options
author | James Greenhalgh <james.greenhalgh@arm.com> | 2017-11-14 14:09:57 +0000 |
---|---|---|
committer | James Greenhalgh <jgreenhalgh@gcc.gnu.org> | 2017-11-14 14:09:57 +0000 |
commit | aea4b54ac5416359c52092eee347164e5ea99c06 (patch) | |
tree | ef79035422c96dff4aca96d83145a4a57504faa6 /gcc/tree-complex.c | |
parent | fee234f10fa45066a0a50a3312a642fe8c6c17b5 (diff) | |
download | gcc-aea4b54ac5416359c52092eee347164e5ea99c06.zip gcc-aea4b54ac5416359c52092eee347164e5ea99c06.tar.gz gcc-aea4b54ac5416359c52092eee347164e5ea99c06.tar.bz2 |
[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.
From-SVN: r254727
Diffstat (limited to 'gcc/tree-complex.c')
0 files changed, 0 insertions, 0 deletions