We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent de5ed1a commit 8df283bCopy full SHA for 8df283b
llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
@@ -1506,6 +1506,10 @@ RISCVVLOptimizer::checkUsers(const MachineInstr &MI) const {
1506
for (MachineOperand &UseOp :
1507
MRI->use_operands(UserMI.getOperand(0).getReg())) {
1508
const MachineInstr &CandidateMI = *UseOp.getParent();
1509
+ // We should not propagate the VL if the user is not a segmented store
1510
+ // or another INSERT_SUBREG, since VL just works differently
1511
+ // between segmented operations (per-field) v.s. other RVV ops (on the
1512
+ // whole register group).
1513
if (CandidateMI.getOpcode() == RISCV::INSERT_SUBREG ||
1514
isSegmentedStoreInstr(CandidateMI))
1515
Worklist.insert(&UseOp);
0 commit comments