[clang] [Headers][X86] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - allow PALIGNR byte shift intrinsics to be used in constexpr (PR #162005)
Ye Tian via cfe-commits
cfe-commits at lists.llvm.org
Tue Nov 4 01:11:53 PST 2025
================
@@ -4636,6 +4674,26 @@ bool InterpretBuiltin(InterpState &S, CodePtr OpPC, const CallExpr *Call,
return APInt(8, 0);
});
+ case X86::BI__builtin_ia32_palignr128:
+ case X86::BI__builtin_ia32_palignr256:
+ case X86::BI__builtin_ia32_palignr512:
+ return interp__builtin_x86_palignr(
----------------
TianYe717 wrote:
Thanks. The callback used in `interp__builtin_ia32_shuffle_generic` only accepts two parameters,
but in this case we need a callback that takes three parameters.
Maybe `interp__builtin_x86_palignr` should be renamed to `interp__builtin_ia32_shuffle_generic3`, adding the number 3 to the end of the name.
https://github.com/llvm/llvm-project/pull/162005
More information about the cfe-commits
mailing list