aboutsummaryrefslogtreecommitdiff
path: root/flang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorThurston Dang <thurston@google.com>2025-01-26 15:40:55 -0800
committerGitHub <noreply@github.com>2025-01-26 15:40:55 -0800
commitdb79fb2a91df31a07f312f8e061936927ac5c506 (patch)
tree0348818a4dbbfde04da8fa183a782a57bbfa9c1e /flang/lib/Frontend/CompilerInvocation.cpp
parentbfa7de0df5d8eb8dd284b0f49f10e7f0cd850693 (diff)
downloadllvm-db79fb2a91df31a07f312f8e061936927ac5c506.zip
llvm-db79fb2a91df31a07f312f8e061936927ac5c506.tar.gz
llvm-db79fb2a91df31a07f312f8e061936927ac5c506.tar.bz2
[msan] Add handlers for AVX masked load/store intrinsics (#123857)
This patch adds explicit support for AVX masked load/store intrinsics, largely by applying the intrinsics to the shadows (but subtly different to handleIntrinsicByApplyingToShadow()). We do not reuse the handleMaskedLoad/Store functions. The key challenge is that the LLVM masked intrinsics require a vector of booleans, while AVX masked intrinsics use the MSBs of a vector of integers. X86InstCombineIntrinsic.cpp::simplifyX86MaskedLoad mentions that the x86 backend does not know how to efficiently convert from a vector of booleans back into the AVX mask format; therefore, they (and we) do not reduce AVX masked intrinsics into LLVM masked intrinsics.
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions