diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2020-02-19 17:22:14 +0000 |
---|---|---|
committer | Richard Sandiford <richard.sandiford@arm.com> | 2020-02-21 10:17:31 +0000 |
commit | a0ee8352df6f4cd98830c8dbaa969e1cda39cc40 (patch) | |
tree | 4ca1ffbd94cbe5d750ce2f40609cdc8476d2ab82 /gcc/tree-ssa-alias.c | |
parent | 04f307cbb9e0610b2e3c70029ee6bfdbd7b8b9de (diff) | |
download | gcc-a0ee8352df6f4cd98830c8dbaa969e1cda39cc40.zip gcc-a0ee8352df6f4cd98830c8dbaa969e1cda39cc40.tar.gz gcc-a0ee8352df6f4cd98830c8dbaa969e1cda39cc40.tar.bz2 |
aarch64: Add SVE support for -mlow-precision-sqrt
SVE was missing support for -mlow-precision-sqrt, which meant that
-march=armv8.2-a+sve -mlow-precision-sqrt could cause a performance
regression compared to -march=armv8.2-a -mlow-precision-sqrt.
2020-02-21 Richard Sandiford <richard.sandiford@arm.com>
gcc/
* config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Add SVE
support. Use aarch64_emit_mult instead of emitting multiplication
instructions directly.
* config/aarch64/aarch64-sve.md (sqrt<mode>2, rsqrt<mode>2)
(@aarch64_rsqrte<mode>, @aarch64_rsqrts<mode>): New expanders.
gcc/testsuite/
* gcc.target/aarch64/sve/rsqrt_1.c: New test.
* gcc.target/aarch64/sve/rsqrt_1_run.c: Likewise.
* gcc.target/aarch64/sve/sqrt_1.c: Likewise.
* gcc.target/aarch64/sve/sqrt_1_run.c: Likewise.
Diffstat (limited to 'gcc/tree-ssa-alias.c')
0 files changed, 0 insertions, 0 deletions