[PATCH] D112932: Use llvm.is_fpclass to implement FP classification functions

Serge Pavlov via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Dec 13 11:21:25 PST 2022


sepavloff added inline comments.


================
Comment at: clang/test/CodeGen/strictfp_builtins.c:160
+// CHECK-NEXT:    [[TMP1:%.*]] = call double @llvm.fabs.f64(double [[TMP0]]) #[[ATTR5]]
+// CHECK-NEXT:    [[ISINF:%.*]] = call i1 @llvm.experimental.constrained.fcmp.f64(double [[TMP1]], double 0x7FF0000000000000, metadata !"oeq", metadata !"fpexcept.strict") #[[ATTR4]]
 // CHECK-NEXT:    [[TMP2:%.*]] = bitcast double [[TMP0]] to i64
----------------
kpn wrote:
> Is there a way to test that we're using llvm.is.fpclass() in this case?
This is a bit different case than binary predicate. `isinf_sign` returns 0, 1 or -1. It could be implemented using calls of `is_fpclass` and `signbit`, but the implementation should be efficient for various targets and for vector data also. It is worth a separate patch.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D112932/new/

https://reviews.llvm.org/D112932



More information about the cfe-commits mailing list