Skip to content

Commit 8621324

Browse files
Address review comments
Co-authored-by: Alexey Bataev <[email protected]>
1 parent 01e60ff commit 8621324

File tree

2 files changed

+11
-10
lines changed

2 files changed

+11
-10
lines changed

llvm/lib/Analysis/VectorUtils.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -415,23 +415,23 @@ bool llvm::getShuffleDemandedElts(int SrcWidth, ArrayRef<int> Mask,
415415

416416
bool llvm::isMaskedSlidePair(ArrayRef<int> Mask, int NumElts,
417417
std::pair<int, int> SrcInfo[2]) {
418-
int SignalValue = NumElts * 2;
418+
const int SignalValue = NumElts * 2;
419419
SrcInfo[0] = {-1, SignalValue};
420420
SrcInfo[1] = {-1, SignalValue};
421-
for (unsigned i = 0; i != Mask.size(); ++i) {
422-
int M = Mask[i];
421+
for (auto [i, M] : enumerate(Mask)) {
423422
if (M < 0)
424423
continue;
425424
int Src = M >= (int)NumElts;
426425
int Diff = (int)i - (M % NumElts);
427426
bool Match = false;
428427
for (int j = 0; j < 2; j++) {
429-
if (SrcInfo[j].first == -1) {
430-
assert(SrcInfo[j].second == SignalValue);
431-
SrcInfo[j].first = Src;
432-
SrcInfo[j].second = Diff;
428+
auto &[SrcE, DiffE] = SrcInfo[j];
429+
if (SrcE == -1) {
430+
assert(DiffE == SignalValue);
431+
SrcE = Src;
432+
DiffE = Diff;
433433
}
434-
if (SrcInfo[j].first == Src && SrcInfo[j].second == Diff) {
434+
if (SrcE == Src && DiffE == Diff) {
435435
Match = true;
436436
break;
437437
}

llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -494,9 +494,10 @@ InstructionCost RISCVTTIImpl::getSlideCost(FixedVectorType *Tp,
494494

495495
auto getSlideOpcode = [&](int SlideAmt) {
496496
assert(SlideAmt != 0);
497+
bool IsVI = isUInt<5>(std::abs(SlideAmt));
497498
if (SlideAmt < 0)
498-
return SlideAmt > -32 ? RISCV::VSLIDEDOWN_VI : RISCV::VSLIDEDOWN_VX;
499-
return SlideAmt < 32 ? RISCV::VSLIDEUP_VI : RISCV::VSLIDEUP_VX;
499+
return IsVI ? RISCV::VSLIDEDOWN_VI : RISCV::VSLIDEDOWN_VX;
500+
return IsVI ? RISCV::VSLIDEUP_VI : RISCV::VSLIDEUP_VX;
500501
};
501502

502503
std::pair<int, int> SrcInfo[2];

0 commit comments

Comments
 (0)