aboutsummaryrefslogtreecommitdiff
path: root/llvm/unittests/Analysis/FunctionPropertiesAnalysisTest.cpp
diff options
context:
space:
mode:
authorNagraj Gaonkar <nagrajgaonkarmumbai749@gmail.com>2025-10-03 20:22:21 +0530
committerGitHub <noreply@github.com>2025-10-03 15:52:21 +0100
commit952b12394ecffce6cf2430aa29b193dd7dc897a8 (patch)
tree59c3680f5813e4095dca14e04ccbf8b557025816 /llvm/unittests/Analysis/FunctionPropertiesAnalysisTest.cpp
parent3d810086d1e16e2de57634d7eb5ecf25a5227e4c (diff)
downloadllvm-952b12394ecffce6cf2430aa29b193dd7dc897a8.zip
llvm-952b12394ecffce6cf2430aa29b193dd7dc897a8.tar.gz
llvm-952b12394ecffce6cf2430aa29b193dd7dc897a8.tar.bz2
[X86] Allow PSHUFD/PSHUFLW/PSHUFW intrinsics in constexpr. (#161210)
The i16/i32 shuffle intrinsics (`pshufw`, `pshuflw`, `pshufhw`, `pshufd`) currently cannot be used in constant expressions. This patch adds support in both bytecode interpreter (InterpBuiltin.cpp) and constant evaluator (ExprConstant.cpp) for pshuf intrinsics, enabling their use in constant expressions. ## Intrinsics covered - `_mm_shuffle_pi16` (MMX `pshufw`) - `_mm_shufflelo_epi16` / `_mm_shufflehi_epi16` - `_mm_shuffle_epi32` - Their AVX2/AVX512 vector-width variants - Masked and maskz forms (handled indirectly via `__builtin_ia32_select*`) Fixes #156611
Diffstat (limited to 'llvm/unittests/Analysis/FunctionPropertiesAnalysisTest.cpp')
0 files changed, 0 insertions, 0 deletions