[PATCH] D116581: [Aarch64] Customer lowering of COPYSIGN to SIMD should check for NEON availability
Dave Green via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun Jan 16 08:13:34 PST 2022
dmgreen added inline comments.
================
Comment at: llvm/test/CodeGen/AArch64/fcopysign.ll:8
declare fp128 @llvm.copysign.f128(fp128, fp128)
+declare float @llvm.copysign.f64(float %a, float %b)
+declare float @llvm.copysign.f32(float %a, float %b)
----------------
These intrinsics in llvm are overloaded - the types they operate on are specified in the name of the intrinsic, and the type they operator on should match the name of the intrinsic (where float=f32, half=f16, etc). There are some details in https://llvm.org/docs/LangRef.html#intrinsic-functions
So it should be `float @llvm.copysign.f32(float %a, float %b)`, `double @llvm.copysign.f64(double %a, double %b)` and `half @llvm.copysign.f16(half %a, half %b)` but not any of the other combinations here.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D116581/new/
https://reviews.llvm.org/D116581
More information about the llvm-commits
mailing list