diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2020-02-19 18:28:48 +0000 |
---|---|---|
committer | Richard Sandiford <richard.sandiford@arm.com> | 2020-02-21 10:17:30 +0000 |
commit | 04f307cbb9e0610b2e3c70029ee6bfdbd7b8b9de (patch) | |
tree | dedb8e3ec29d23564e4cd873b789139102f439a0 /gcc/tree-ssa-alias.c | |
parent | d87778ed097f24a0bf394c0255019547008c3479 (diff) | |
download | gcc-04f307cbb9e0610b2e3c70029ee6bfdbd7b8b9de.zip gcc-04f307cbb9e0610b2e3c70029ee6bfdbd7b8b9de.tar.gz gcc-04f307cbb9e0610b2e3c70029ee6bfdbd7b8b9de.tar.bz2 |
aarch64: Add SVE support for -mlow-precision-div
SVE was missing support for -mlow-precision-div, which meant that
-march=armv8.2-a+sve -mlow-precision-div could cause a performance
regression compared to -march=armv8.2-a -mlow-precision-div.
I ended up doing this much later than originally intended, sorry...
2020-02-21 Richard Sandiford <richard.sandiford@arm.com>
gcc/
* config/aarch64/aarch64.c (aarch64_emit_mult): New function.
(aarch64_emit_approx_div): Add SVE support. Use aarch64_emit_mult
instead of emitting multiplication instructions directly.
* config/aarch64/iterators.md (SVE_COND_FP_BINARY_OPTAB): New iterator.
* config/aarch64/aarch64-sve.md (div<mode>3, @aarch64_frecpe<mode>)
(@aarch64_frecps<mode>): New expanders.
gcc/testsuite/
* gcc.target/aarch64/sve/recip_1.c: New test.
* gcc.target/aarch64/sve/recip_1_run.c: Likewise.
* gcc.target/aarch64/sve/recip_2.c: Likewise.
* gcc.target/aarch64/sve/recip_2_run.c: Likewise.
Diffstat (limited to 'gcc/tree-ssa-alias.c')
0 files changed, 0 insertions, 0 deletions