[clang] [Clang] Add constexpr support for AVX512 permutex2 intrinsics (PR #165085)

Simon Pilgrim via cfe-commits cfe-commits at lists.llvm.org
Wed Oct 29 07:16:16 PDT 2025


================
@@ -3358,18 +3358,46 @@ static bool interp__builtin_ia32_shuffle_generic(
         GetSourceIndex) {
 
   assert(Call->getNumArgs() == 3);
-  unsigned ShuffleMask = popToAPSInt(S, Call->getArg(2)).getZExtValue();
+
+  unsigned ShuffleMask = 0;
+  Pointer A, MaskVector, B;
+
+  QualType Arg2Type = Call->getArg(2)->getType();
+  bool IsVectorMask = false;
+  if (Arg2Type->isVectorType()) {
+    IsVectorMask = true;
+    B = S.Stk.pop<Pointer>();
+    MaskVector = S.Stk.pop<Pointer>();
+    A = S.Stk.pop<Pointer>();
----------------
RKSimon wrote:

@tbaederr Is there a preferred way to do this with pop/peek ?

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


More information about the cfe-commits mailing list