diff options
| author | Joseph Huber <huberjn@outlook.com> | 2025-08-20 07:49:26 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-08-20 07:49:26 -0500 |
| commit | 5a929a42496c58cdf8bde8e80f2d950a3f1a182d (patch) | |
| tree | 02c1e7be12fea44a591283b2adf272e9af0c6730 /mlir/lib/Bytecode/Reader/BytecodeReader.cpp | |
| parent | 29067ac6e1eb809dcbcceda40413597dc22c4b6b (diff) | |
| download | llvm-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
