Skip to content

Commit 569f60b

Browse files
author
Mikhail Gudim
committed
[RISCV] Unaligned vec mem => prefer alt opc vec
Return `true` in `RISCVTTIImpl::preferAlternateOpcodeVectorization` if subtarget supports unaligned memory accesses.
1 parent fda67dc commit 569f60b

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2731,6 +2731,10 @@ unsigned RISCVTTIImpl::getMinTripCountTailFoldingThreshold() const {
27312731
return RVVMinTripCount;
27322732
}
27332733

2734+
bool RISCVTTIImpl::preferAlternateOpcodeVectorization() const {
2735+
return ST->enableUnalignedVectorMem();
2736+
}
2737+
27342738
TTI::AddressingModeKind
27352739
RISCVTTIImpl::getPreferredAddressingMode(const Loop *L,
27362740
ScalarEvolution *SE) const {

llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ class RISCVTTIImpl final : public BasicTTIImplBase<RISCVTTIImpl> {
132132

133133
unsigned getMaximumVF(unsigned ElemWidth, unsigned Opcode) const override;
134134

135-
bool preferAlternateOpcodeVectorization() const override { return false; }
135+
bool preferAlternateOpcodeVectorization() const override;
136136

137137
bool preferEpilogueVectorization() const override {
138138
// Epilogue vectorization is usually unprofitable - tail folding or

0 commit comments

Comments
 (0)