diff options
author | Stanislav Mekhanoshin <rampitec@users.noreply.github.com> | 2023-11-28 09:07:26 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-28 09:07:26 -0800 |
commit | 87d884b5c8ff3f477b54fcd5a7966df49f1f8111 (patch) | |
tree | 9138bd2685f249c7097070ca3e9f2d4ce4431c7d /clang/lib/Frontend/FrontendAction.cpp | |
parent | a1b3b78c55be7e95042e22d83a7f183ae6cc865a (diff) | |
download | llvm-87d884b5c8ff3f477b54fcd5a7966df49f1f8111.zip llvm-87d884b5c8ff3f477b54fcd5a7966df49f1f8111.tar.gz llvm-87d884b5c8ff3f477b54fcd5a7966df49f1f8111.tar.bz2 |
[AMDGPU] Fix folding of v2i16/v2f16 splat imms (#72709)
We can use inline constants with packed 16-bit operands, but these
should use op_sel. Currently splat of inlinable constants is considered
legal, which is not really true if we fail to fold it with op_sel and
drop the high half. It may be legal as a literal but not as inline
constant, but then usual literal checks must be performed.
This patch makes these splat literals illegal but adds additional logic
to the operand folding to keep current folds. This logic is somewhat
heavy though.
This has fixed constant bus violation in the fdot2 test.
Diffstat (limited to 'clang/lib/Frontend/FrontendAction.cpp')
0 files changed, 0 insertions, 0 deletions