c8ef wrote: I believe the difference lies in the AST construction. Most built-in functions generate a `CallExpr` AST node, which requires the constant evaluator to check if the function is built-in. However, in this case, Clang emits a `ConvertVector` node directly. Therefore, even if we don't mark it as `constexpr`, we can still evaluate it.
https://github.com/llvm/llvm-project/pull/112129 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits