[all-commits] [llvm/llvm-project] 6550f2: [RISCV][VLOPT] Support vslide{up, down} (#146710)
Luke Lau via All-commits
all-commits at lists.llvm.org
Wed Jul 2 15:30:47 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 6550f28977b915f2a683dccfba67767a62933e82
https://github.com/llvm/llvm-project/commit/6550f28977b915f2a683dccfba67767a62933e82
Author: Luke Lau <luke at igalia.com>
Date: 2025-07-02 (Wed, 02 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
M llvm/test/CodeGen/RISCV/rvv/vp-vector-interleaved-access.ll
Log Message:
-----------
[RISCV][VLOPT] Support vslide{up,down} (#146710)
For vslideup and vslidedown, vl controls the elements which are written
just like other vector instructions. So unless I'm missing something it
should be safe to reduce them. For vslidedown, the specification states
that elements past vl may be read.
We already reduce vslideup and vslidedown in
RISCVVectorPeephole::tryToReduceVL where we just check for
RISCVII::elementsDependOnVL.
Eventually we should replace the whitelist with
RISCVII::elementsDependOnVL once we have test coverage. I've also added
an assert just to double check the instructions we currently support.
This helps reduce vl toggles for fixed-order recurrences vectorized with
EVL tail folding.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list