diff options
author | Ayan Shafqat <ayan.x.shafqat@gmail.com> | 2025-05-01 06:17:30 -0700 |
---|---|---|
committer | Kyrylo Tkachov <ktkachov@nvidia.com> | 2025-05-01 15:44:28 +0200 |
commit | 05df554536a8d33f4c438cfc7b006b3b2083246a (patch) | |
tree | 9516f4d5607fe338a68352d1a0ed92d6aecf1a12 /gcc/rust/backend/rust-compile-struct-field-expr.cc | |
parent | 5c917a585d765b0878afd9435e3b3eece9f820f9 (diff) | |
download | gcc-05df554536a8d33f4c438cfc7b006b3b2083246a.zip gcc-05df554536a8d33f4c438cfc7b006b3b2083246a.tar.gz gcc-05df554536a8d33f4c438cfc7b006b3b2083246a.tar.bz2 |
Aarch64: Add __sqrt and __sqrtf intrinsics and corresponding tests
This patch introduces two new inline functions, __sqrt and __sqrtf, in
arm_acle.h for Aarch64 targets. These functions wrap the new builtins
__builtin_aarch64_sqrtdf and __builtin_aarch64_sqrtsf, respectively,
providing direct access to hardware instructions without relying on the
standard math library or optimization levels.
This patch also introduces acle_sqrt.c in the AArch64 testsuite,
verifying that the new __sqrt and __sqrtf intrinsics emit the expected
fsqrt instructions for double and float arguments.
Coverage for new intrinsics ensures that __sqrt and __sqrtf are
correctly expanded to hardware instructions and do not fall back to
library calls, regardless of optimization levels.
gcc/ChangeLog:
* config/aarch64/arm_acle.h (__sqrt, __sqrtf): New function.
gcc/testsuite/ChangeLog:
* gcc.target/aarch64/acle/acle_sqrt.c: New test.
Signed-off-by: Ayan Shafqat <ayan.x.shafqat@gmail.com>
Diffstat (limited to 'gcc/rust/backend/rust-compile-struct-field-expr.cc')
0 files changed, 0 insertions, 0 deletions