[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