sepavloff marked 2 inline comments as done. sepavloff added inline comments.
================ Comment at: clang/test/CodeGen/isfpclass.c:2 +// RUN: %clang_cc1 -triple x86_64-linux-gnu -S -O1 -emit-llvm %s -o - | FileCheck %s + +_Bool check_isfpclass_finite(float x) { ---------------- arsenm wrote: > sepavloff wrote: > > arsenm wrote: > > > Can you also add a half test, also vectors > > Half is added. But vectors cannot, because in this case result is also a > > vector. > Could copy what __builtin_elementwise does. Should that be in this builtin, > or should there be a separate __builtin_elementwise_isfpclass? Other math functions have separate elementwise functions. It looks natural to have separate elementwise function for this function as well. ================ Comment at: clang/test/Sema/builtins.c:384 + int x1 = __builtin_isfpclass(x, 1024); // expected-error {{argument value 1024 is outside the valid range [0, 1023]}} + int x2 = __builtin_isfpclass(3, 3); // expected-error{{floating point classification requires argument of floating point type (passed in 'int')}} + int x3 = __builtin_isfpclass(x, 3, x); // expected-error{{too many arguments to function call, expected 2, have 3}} ---------------- arsenm wrote: > For any other float argument, 3 would accept implicit conversion. Do we just > not do that for these type inferring intrinsics? As any other classification function, this one is evaluated with semantic type. The test `CodeGen/isfpclass.c` demonstrates that type promotion is absent for _Float16. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D152351/new/ https://reviews.llvm.org/D152351 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits