diff options
author | Kyrylo Tkachov <kyrylo.tkachov@arm.com> | 2015-05-13 15:26:14 +0000 |
---|---|---|
committer | Kyrylo Tkachov <ktkachov@gcc.gnu.org> | 2015-05-13 15:26:14 +0000 |
commit | b7dce216c7aabe73aae567e6565f44676246a518 (patch) | |
tree | e2d5e277b402d4d751638756eee12266bbada3e9 /libffi | |
parent | da80c6b81f6162937acea26d014063f772ae1305 (diff) | |
download | gcc-b7dce216c7aabe73aae567e6565f44676246a518.zip gcc-b7dce216c7aabe73aae567e6565f44676246a518.tar.gz gcc-b7dce216c7aabe73aae567e6565f44676246a518.tar.bz2 |
[tree-ssa-math-opts] Expand pow (x, CONST) using square roots when possible
* params.def (PARAM_MAX_POW_SQRT_DEPTH): New param.
* tree-ssa-math-opts.c: Include params.h
(pow_synth_sqrt_info): New struct.
(representable_as_half_series_p): New function.
(get_fn_chain): Likewise.
(print_nested_fn): Likewise.
(dump_fractional_sqrt_sequence): Likewise.
(dump_integer_part): Likewise.
(expand_pow_as_sqrts): Likewise.
(gimple_expand_builtin_pow): Use above to attempt to expand
pow as series of square roots. Removed now unused variables.
* gcc.target/aarch64/pow-sqrt-synth-1.c: New test.
* gcc.dg/pow-sqrt.x: New file.
* gcc.dg/pow-sqrt-1.c: New test.
* gcc.dg/pow-sqrt-2.c: Likewise.
* gcc.dg/pow-sqrt-3.c: Likewise.
From-SVN: r223167
Diffstat (limited to 'libffi')
0 files changed, 0 insertions, 0 deletions