scanon added inline comments.
================ Comment at: clang/docs/LanguageExtensions.rst:538 + T __builtin_elementwise_rint(T x) return the integral value nearest to x (according to the floating point types + prevailing rounding mode) in floating-point format + T __builtin_elementwise_round(T x) return the integral value nearest to x rounding half-way cases floating point types ---------------- "Prevailing rounding mode" is not super-useful, other than as a spelling for round-to-nearest-ties-to-even (IEEE 754 default rounding). Outside of a `FENV_ACCESS ON` context, there's not even really a notion of "prevailing rounding mode" to appeal to. I assume the intent is for this to lower to e.g. x86 ROUND* with the dynamic rounding-mode immediate. I would recommend adding `__builtin_elementwise_roundeven(T x)` instead, which would statically bind IEEE default rounding (following TS 18661-1 naming) without having to appeal to prevailing rounding mode, and can still lower to ROUND* on x86 outside of FENV_ACCESS ON contexts, which is the norm for vector code (and FRINTN unconditionally on armv8). I think we can punt on rint/nearbyint for now, and add them in the future if there's a need. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111529/new/ https://reviews.llvm.org/D111529 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits