diff options
author | Evandro Menezes <evandro@gcc.gnu.org> | 2016-06-14 16:26:02 +0000 |
---|---|---|
committer | Evandro Menezes <evandro@gcc.gnu.org> | 2016-06-14 16:26:02 +0000 |
commit | eed7fbc5e35259367407b809d3b8e17a9552f5ee (patch) | |
tree | 84c27eead7a46f8723fd9727e32e994408fd2667 | |
parent | 0d323358fd068b8fc81f6cd22e146e0c53a460f3 (diff) | |
download | gcc-eed7fbc5e35259367407b809d3b8e17a9552f5ee.zip gcc-eed7fbc5e35259367407b809d3b8e17a9552f5ee.tar.gz gcc-eed7fbc5e35259367407b809d3b8e17a9552f5ee.tar.bz2 |
[AArch64] Add commit message
* gcc/ChangeLog: Add commit messages for patch series that added
support for optionally using the Newton series for division and
square root.
From-SVN: r237452
-rw-r--r-- | gcc/ChangeLog | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bbc996e..f95e4a65 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -122,6 +122,79 @@ to a deeper loop nest. Pop the last item off the path here rather than in convert_and_register_jump_thread_path. +2016-06-13 Evandro Menezes <e.menezes@samsung.com> + Wilco Dijkstra <Wilco.Dijkstra@arm.com> + + [AArch64] Emit division using the Newton series + + * config/aarch64/aarch64-protos.h + (cpu_approx_modes): Add new member "division". + (aarch64_emit_approx_div): Declare new function. + * config/aarch64/aarch64.c + (generic_approx_modes): New member "division". + (exynosm1_approx_modes): Likewise. + (xgene1_approx_modes): Likewise. + (aarch64_emit_approx_div): Define new function. + * config/aarch64/aarch64.md ("div<mode>3"): New expansion. + * config/aarch64/aarch64-simd.md ("div<mode>3"): Likewise. + * config/aarch64/aarch64.opt (-mlow-precision-div): Add new option. + * doc/invoke.texi (-mlow-precision-div): Describe new option. + +2016-06-13 Evandro Menezes <e.menezes@samsung.com> + Wilco Dijkstra <wilco.dijkstra@arm.com> + + [AArch64] Emit square root using the Newton series + + * config/aarch64/aarch64-protos.h + (aarch64_emit_approx_rsqrt): Replace with new function + "aarch64_emit_approx_sqrt". + (cpu_approx_modes): New member "sqrt". + * config/aarch64/aarch64.c + (generic_approx_modes): New member "sqrt". + (exynosm1_approx_modes): Likewise. + (xgene1_approx_modes): Likewise. + (aarch64_emit_approx_rsqrt): Replace with new function + "aarch64_emit_approx_sqrt". + (aarch64_override_options_after_change_1): Handle new option. + * config/aarch64/aarch64-simd.md + (rsqrt<mode>2): Use new function instead. + (sqrt<mode>2): New expansion and insn definitions. + * config/aarch64/aarch64.md: Likewise. + * config/aarch64/aarch64.opt + (mlow-precision-sqrt): Add new option description. + * doc/invoke.texi (mlow-precision-sqrt): Likewise. + +2016-06-13 Evandro Menezes <e.menezes@samsung.com> + + [AArch64] Add more choices for the reciprocal square root approximation + + Allow a target to prefer such operation depending on the operation mode. + + * config/aarch64/aarch64-protos.h + (AARCH64_APPROX_MODE): New macro. + (AARCH64_APPROX_{NONE,ALL}): Likewise. + (cpu_approx_modes): New structure. + (tune_params): New member "approx_modes". + * config/aarch64/aarch64-tuning-flags.def + (AARCH64_EXTRA_TUNE_APPROX_RSQRT): Remove macro. + * config/aarch64/aarch64.c + (generic_approx_modes): New core "cpu_approx_modes" structure. + (exynosm1_approx_modes): Likewise. + (xgene1_approx_modes): Likewise. + (generic_tunings): New member "approx_modes". + (cortexa35_tunings): Likewise. + (cortexa53_tunings): Likewise. + (cortexa57_tunings): Likewise. + (cortexa72_tunings): Likewise. + (exynosm1_tunings): Likewise. + (thunderx_tunings): Likewise. + (xgene1_tunings): Likewise. + (use_rsqrt_p): New argument for the mode and use new member from + "tune_params". + (aarch64_builtin_reciprocal): Devise mode from builtin. + (aarch64_optab_supported_p): New argument for the mode. + * doc/invoke.texi (-mlow-precision-recip-sqrt): Reword description. + 2016-06-13 Kelvin Nilsen <kelvin@gcc.gnu.org> * config/rs6000/rs6000.h (RS6000_BTM_COMMON): Add the |