This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
RE: [PATCH] [aarch64] Implemented reciprocal square root (rsqrt) estimation in -ffast-math
- From: "Kumar, Venkataramanan" <Venkataramanan dot Kumar at amd dot com>
- To: Benedikt Huber <benedikt dot huber at theobroma-systems dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Cc: "philipp dot tomsich at theobroma-systems dot com" <philipp dot tomsich at theobroma-systems dot com>, "James Greenhalgh (james dot greenhalgh at arm dot com)" <james dot greenhalgh at arm dot com>
- Date: Thu, 18 Jun 2015 12:32:36 +0000
- Subject: RE: [PATCH] [aarch64] Implemented reciprocal square root (rsqrt) estimation in -ffast-math
- Authentication-results: sourceware.org; auth=none
- Authentication-results: spf=none (sender IP is 165.204.84.222) smtp.mailfrom=amd.com; arm.com; dkim=none (message not signed) header.d=none;
- References: <1434629045-24650-1-git-send-email-benedikt dot huber at theobroma-systems dot com>
Hi,
is there a plan to support -mrecip=rsqrt for Aarch64?
Regards,
Venkat.
> -----Original Message-----
> From: gcc-patches-owner@gcc.gnu.org [mailto:gcc-patches-
> owner@gcc.gnu.org] On Behalf Of Benedikt Huber
> Sent: Thursday, June 18, 2015 5:34 PM
> To: gcc-patches@gcc.gnu.org
> Cc: benedikt.huber@theobroma-systems.com;
> philipp.tomsich@theobroma-systems.com
> Subject: [PATCH] [aarch64] Implemented reciprocal square root (rsqrt)
> estimation in -ffast-math
>
> arch64 offers the instructions frsqrte and frsqrts, for rsqrt estimation and a
> Newton-Raphson step, respectively.
> There are ARMv8 implementations where this is faster than using fdiv and
> rsqrt.
> It runs three steps for double and two steps for float to achieve the needed
> precision.
>
> There is one caveat and open question.
> Since -ffast-math enables flush to zero intermediate values between
> approximation steps will be flushed to zero if they are denormal.
> E.g. This happens in the case of rsqrt (DBL_MAX) and rsqrtf (FLT_MAX).
> The test cases pass, but it is unclear to me whether this is expected behavior
> with -ffast-math.
>
> The patch applies to commit:
> svn+ssh://gcc.gnu.org/svn/gcc/trunk@224470
>
> Please consider including this patch.
> Thank you and best regards,
> Benedikt Huber
>
> Benedikt Huber (1):
> 2015-06-15 Benedikt Huber <benedikt.huber@theobroma-systems.com>
>
> gcc/ChangeLog | 9 +++
> gcc/config/aarch64/aarch64-builtins.c | 60 ++++++++++++++++
> gcc/config/aarch64/aarch64-protos.h | 2 +
> gcc/config/aarch64/aarch64-simd.md | 27 ++++++++
> gcc/config/aarch64/aarch64.c | 63 +++++++++++++++++
> gcc/config/aarch64/aarch64.md | 3 +
> gcc/testsuite/gcc.target/aarch64/rsqrt.c | 113
> +++++++++++++++++++++++++++++++
> 7 files changed, 277 insertions(+)
> create mode 100644 gcc/testsuite/gcc.target/aarch64/rsqrt.c
>
> --
> 1.9.1