[clang] [Clang] Enable constexpr handling for builtin elementwise fshl/fshr (PR #153572)

Timm Baeder via cfe-commits cfe-commits at lists.llvm.org
Mon Aug 25 11:21:56 PDT 2025


================
@@ -11941,6 +11941,42 @@ bool VectorExprEvaluator::VisitCallExpr(const CallExpr *E) {
     }
     return Success(APValue(ResultElements.data(), ResultElements.size()), E);
   }
+
+  case Builtin::BI__builtin_elementwise_fshl:
+  case Builtin::BI__builtin_elementwise_fshr: {
+    APValue SourceHi, SourceLo, SourceShift;
+    if (!EvaluateAsRValue(Info, E->getArg(0), SourceHi) ||
+        !EvaluateAsRValue(Info, E->getArg(1), SourceLo) ||
+        !EvaluateAsRValue(Info, E->getArg(2), SourceShift))
+      return false;
+
+    const QualType &DestEltTy =
----------------
tbaederr wrote:

```suggestion
    const QualType DestEltTy =
```

https://github.com/llvm/llvm-project/pull/153572


More information about the cfe-commits mailing list