[llvm] [aarch64] Add hyperbolic and arc trig intrinsic lowering (PR #98937)
Paschalis Mpeis via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 18 05:20:40 PDT 2024
https://github.com/paschalis-mpeis commented:
Hey @farzonl ,
Unfortunately I cannot have a strong opinion on Global ISel contributions.
#### Regarding sources I've modified in the past
The below look OK to me:
- additions to `VecFuncs.def`
- all `replace-with-veclib-*`
- LoopVectorize `veclib-intrinsic-calls.ll`
I verified the existence of the symbols used in sources and test files on ArmPL and SLEEF libraries (see list at the bottom).
---
#### Regarding the rest of the sources and tests:
They also look reasonable and similar to existing sources, but I cannot vouch for them.
BTW in `GlobalISel/arm64-irtranslator.ll` other functions have variants for double as well for scalable vectors (float and double). Why this isn't the case for the newly added functions as well?
---
#### Symbos verified in libraries:
```bash
# ARMPL
armpl_vacosq_f64
armpl_vacosq_f32
armpl_svacos_f64_x
armpl_svacos_f32_x
armpl_vasinq_f64
armpl_vasinq_f32
armpl_svasin_f64_x
armpl_svasin_f32_x
armpl_vatanq_f64
armpl_vatanq_f32
armpl_svatan_f64_x
armpl_svatan_f32_x
armpl_vcoshq_f64
armpl_vcoshq_f32
armpl_svcosh_f64_x
armpl_svcosh_f32_x
armpl_vsinhq_f64
armpl_vsinhq_f32
armpl_svsinh_f64_x
armpl_svsinh_f32_x
armpl_vtanhq_f64
armpl_vtanhq_f32
armpl_svtanh_f64_x
armpl_svtanh_f32_x
# SLEEF
## Sleef scalable:
_ZGVsMxv_acos
_ZGVsMxv_acosf
_ZGVsMxv_asin
_ZGVsMxv_asinf
_ZGVsMxv_atan
_ZGVsMxv_atanf
_ZGVsMxv_cosh
_ZGVsMxv_coshf
_ZGVsMxv_sinh
_ZGVsMxv_sinhf
_ZGVsMxv_tanh
_ZGVsMxv_tanhf
## Sleef vector:
_ZGVnN2v_acos
_ZGVnN4v_acosf
_ZGVnN2v_asin
_ZGVnN4v_asinf
_ZGVnN2v_atan
_ZGVnN4v_atanf
_ZGVnN2v_cosh
_ZGVnN4v_coshf
_ZGVnN2v_sinh
_ZGVnN4v_sinhf
_ZGVnN2v_tanh
_ZGVnN4v_tanhf
```
https://github.com/llvm/llvm-project/pull/98937
More information about the llvm-commits
mailing list