aboutsummaryrefslogtreecommitdiff
path: root/mlir/lib/Bytecode/Reader/BytecodeReader.cpp
diff options
context:
space:
mode:
authorJoseph Huber <huberjn@outlook.com>2025-08-20 07:49:26 -0500
committerGitHub <noreply@github.com>2025-08-20 07:49:26 -0500
commit5a929a42496c58cdf8bde8e80f2d950a3f1a182d (patch)
tree02c1e7be12fea44a591283b2adf272e9af0c6730 /mlir/lib/Bytecode/Reader/BytecodeReader.cpp
parent29067ac6e1eb809dcbcceda40413597dc22c4b6b (diff)
downloadllvm-5a929a42496c58cdf8bde8e80f2d950a3f1a182d.zip
llvm-5a929a42496c58cdf8bde8e80f2d950a3f1a182d.tar.gz
llvm-5a929a42496c58cdf8bde8e80f2d950a3f1a182d.tar.bz2
[Clang] Support using boolean vectors in ternary operators (#154145)
Summary: It's extremely common to conditionally blend two vectors. Previously this was done with mask registers, which is what the normal ternary code generation does when used on a vector. However, since Clang 15 we have supported boolean vector types in the compiler. These are useful in general for checking the mask registers, but are currently limited because they do not map to an LLVM-IR select instruction. This patch simply relaxes these checks, which are technically forbidden by the OpenCL standard. However, general vector support should be able to handle these. We already support this for Arm SVE types, so this should be make more consistent with the clang vector type.
Diffstat (limited to 'mlir/lib/Bytecode/Reader/BytecodeReader.cpp')
0 files changed, 0 insertions, 0 deletions