[clang] [clang] VectorExprEvaluator::VisitCallExpr - add constant folding for X86 pslldqi/psrldqi intrinsics (PR #157403)

Simon Pilgrim via cfe-commits cfe-commits at lists.llvm.org
Mon Sep 29 03:03:30 PDT 2025


================
@@ -3571,7 +3607,14 @@ bool InterpretBuiltin(InterpState &S, CodePtr OpPC, const CallExpr *Call,
   case Builtin::BI__builtin_elementwise_fshr:
     return interp__builtin_elementwise_triop(S, OpPC, Call,
                                              llvm::APIntOps::fshr);
-
+  case clang::X86::BI__builtin_ia32_pslldqi128:
+  case clang::X86::BI__builtin_ia32_pslldqi256:
+  case clang::X86::BI__builtin_ia32_pslldqi512:
+  case clang::X86::BI__builtin_ia32_psrldqi128:
+  case clang::X86::BI__builtin_ia32_psrldqi256:
+  case clang::X86::BI__builtin_ia32_psrldqi512:
+    return interp__builtin_byteshift(S, OpPC, Call, BuiltinID);
----------------
RKSimon wrote:

`return interp__builtin_byteshift(S, OpPC, Call, BuiltinID(), /*IsLeft=*/false);`

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


More information about the cfe-commits mailing list