aboutsummaryrefslogtreecommitdiff
path: root/lldb/packages/Python/lldbsuite/support
diff options
context:
space:
mode:
authorKolya Panchenko <87679760+nikolaypanchenko@users.noreply.github.com>2024-03-13 12:18:51 -0700
committerGitHub <noreply@github.com>2024-03-13 15:18:51 -0400
commitaa68e2814d9a4bad21e4def900152b2e78e25e98 (patch)
treec663bc8e2f982a4dbf259ab94a276b681b908c86 /lldb/packages/Python/lldbsuite/support
parentb77c079987182748fe1746466a74633cfe057cc1 (diff)
downloadllvm-aa68e2814d9a4bad21e4def900152b2e78e25e98.zip
llvm-aa68e2814d9a4bad21e4def900152b2e78e25e98.tar.gz
llvm-aa68e2814d9a4bad21e4def900152b2e78e25e98.tar.bz2
[RISCV] Support `llvm.masked.compressstore` intrinsic (#83457)
The changeset enables lowering of `llvm.masked.compressstore(%data, %ptr, %mask)` for RVV for fixed vector type into: ``` %0 = vcompress %data, %mask, %vl %new_vl = vcpop %mask, %vl vse %0, %ptr, %1, %new_vl ``` Such lowering is only possible when `%data` fits into available LMULs and otherwise `llvm.masked.compressstore` is scalarized by `ScalarizeMaskedMemIntrin` pass. Even though RVV spec in the section `15.8` provide alternative sequence for compressstore, use of `vcompress + vcpop` should be a proper canonical form to lower `llvm.masked.compressstore`. If RISC-V target find the sequence from `15.8` better, peephole optimization can transform `vcompress + vcpop` into that sequence.
Diffstat (limited to 'lldb/packages/Python/lldbsuite/support')
0 files changed, 0 insertions, 0 deletions