diff options
author | lialan <me@alanli.org> | 2024-11-15 13:06:40 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-15 10:06:40 -0800 |
commit | ef92aba52a58cda8d670de8ce936455949746468 (patch) | |
tree | 81ecee0fcb96ebbbaa6215e3eddd9f62672b4472 /clang/lib/CodeGen/CodeGenFunction.cpp | |
parent | 0398cb4592aa72cae5828ccdc56a60568d404db0 (diff) | |
download | llvm-ef92aba52a58cda8d670de8ce936455949746468.zip llvm-ef92aba52a58cda8d670de8ce936455949746468.tar.gz llvm-ef92aba52a58cda8d670de8ce936455949746468.tar.bz2 |
[MLIR] Fix VectorEmulateNarrowType constant op mask bug (#116064)
This commit adds support for handling mask constants generated by the
`arith.constant` op in the `VectorEmulateNarrowType` pattern.
Previously, this pattern would not match due to the lack of mask
constant handling in `getCompressedMaskOp`.
The changes include:
1. Updating `getCompressedMaskOp` to recognize and handle
`arith.constant` ops as mask value sources.
2. Handling cases where the mask is not aligned with the emulated load
width. The compressed mask is adjusted to account for the offset.
Limitations:
- The arith.constant op can only have 1-dimensional constant values.
Resolves: #115742
Signed-off-by: Alan Li <me@alanli.org>
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.cpp')
0 files changed, 0 insertions, 0 deletions