Skip to content

Commit e687c08

Browse files
committed
Address comment, fix mask types not returning log2 EEW
1 parent 8545659 commit e687c08

File tree

4 files changed

+26
-26
lines changed

4 files changed

+26
-26
lines changed

llvm/lib/Target/RISCV/RISCVInstrInfo.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4007,12 +4007,12 @@ unsigned RISCV::getRVVMCOpcode(unsigned RVVPseudoOpcode) {
40074007
return RVV->BaseInstr;
40084008
}
40094009

4010-
unsigned RISCV::getDestEEW(const MCInstrDesc &Desc, unsigned Log2SEW) {
4010+
unsigned RISCV::getDestLog2EEW(const MCInstrDesc &Desc, unsigned Log2SEW) {
40114011
unsigned DestEEW =
40124012
(Desc.TSFlags & RISCVII::DestEEWMask) >> RISCVII::DestEEWShift;
40134013
// EEW = 1
40144014
if (DestEEW == 0)
4015-
return 1;
4015+
return 0;
40164016
// EEW = SEW * n
40174017
unsigned Scaled = Log2SEW + (DestEEW - 1);
40184018
assert(Scaled >= 3 && Scaled <= 6);

llvm/lib/Target/RISCV/RISCVInstrInfo.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -355,8 +355,8 @@ std::optional<unsigned> getVectorLowDemandedScalarBits(uint16_t Opcode,
355355
unsigned getRVVMCOpcode(unsigned RVVPseudoOpcode);
356356

357357
// For a (non-pseudo) RVV instruction \p Desc and the given \p Log2SEW, returns
358-
// the EEW of the destination operand.
359-
unsigned getDestEEW(const MCInstrDesc &Desc, unsigned Log2SEW);
358+
// the log2 EEW of the destination operand.
359+
unsigned getDestLog2EEW(const MCInstrDesc &Desc, unsigned Log2SEW);
360360

361361
// Special immediate for AVL operand of V pseudo instructions to indicate VLMax.
362362
static constexpr int64_t VLMaxSentinel = -1LL;

llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -103,13 +103,13 @@ static bool isVLKnownLE(const MachineOperand &LHS, const MachineOperand &RHS) {
103103
/// operand of \p Src with an unknown EEW, return true if their EEWs match.
104104
bool RISCVVectorPeephole::hasSameEEW(const MachineInstr &User,
105105
const MachineInstr &Src) const {
106-
unsigned UserSEW =
106+
unsigned UserLog2SEW =
107107
User.getOperand(RISCVII::getSEWOpNum(User.getDesc())).getImm();
108-
unsigned SrcSEW =
108+
unsigned SrcLog2SEW =
109109
Src.getOperand(RISCVII::getSEWOpNum(Src.getDesc())).getImm();
110-
unsigned SrcEEW = RISCV::getDestEEW(
111-
TII->get(RISCV::getRVVMCOpcode(Src.getOpcode())), SrcSEW);
112-
return SrcEEW == UserSEW;
110+
unsigned SrcLog2EEW = RISCV::getDestLog2EEW(
111+
TII->get(RISCV::getRVVMCOpcode(Src.getOpcode())), SrcLog2SEW);
112+
return SrcLog2EEW == UserLog2SEW;
113113
}
114114

115115
// Attempt to reduce the VL of an instruction whose sole use is feeding a

llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -318,23 +318,23 @@ TEST_P(RISCVInstrInfoTest, DescribeLoadedValue) {
318318

319319
TEST_P(RISCVInstrInfoTest, GetDestEEW) {
320320
const RISCVInstrInfo *TII = ST->getInstrInfo();
321-
EXPECT_EQ(RISCV::getDestEEW(TII->get(RISCV::VADD_VV), 3), 3u);
322-
EXPECT_EQ(RISCV::getDestEEW(TII->get(RISCV::VWADD_VV), 3), 4u);
323-
EXPECT_EQ(RISCV::getDestEEW(TII->get(RISCV::VLE32_V), 5), 5u);
324-
EXPECT_EQ(RISCV::getDestEEW(TII->get(RISCV::VLSE32_V), 5), 5u);
325-
EXPECT_EQ(RISCV::getDestEEW(TII->get(RISCV::VREDSUM_VS), 4), 4u);
326-
EXPECT_EQ(RISCV::getDestEEW(TII->get(RISCV::VWREDSUM_VS), 4), 5u);
327-
EXPECT_EQ(RISCV::getDestEEW(TII->get(RISCV::VFWREDOSUM_VS), 5), 6u);
328-
EXPECT_EQ(RISCV::getDestEEW(TII->get(RISCV::VFCVT_RTZ_XU_F_V), 4), 4u);
329-
EXPECT_EQ(RISCV::getDestEEW(TII->get(RISCV::VFWCVT_RTZ_XU_F_V), 4), 5u);
330-
EXPECT_EQ(RISCV::getDestEEW(TII->get(RISCV::VSLL_VI), 4), 4u);
331-
EXPECT_EQ(RISCV::getDestEEW(TII->get(RISCV::VWSLL_VI), 4), 5u);
332-
EXPECT_EQ(RISCV::getDestEEW(TII->get(RISCV::VMSEQ_VV), 4), 1u);
333-
EXPECT_EQ(RISCV::getDestEEW(TII->get(RISCV::VMAND_MM), 0), 1u);
334-
EXPECT_EQ(RISCV::getDestEEW(TII->get(RISCV::VIOTA_M), 3), 3u);
335-
EXPECT_EQ(RISCV::getDestEEW(TII->get(RISCV::VQMACCU_2x8x2), 3), 5u);
336-
EXPECT_EQ(RISCV::getDestEEW(TII->get(RISCV::VFWMACC_4x4x4), 4), 5u);
337-
EXPECT_EQ(RISCV::getDestEEW(TII->get(RISCV::THVdotVMAQA_VV), 5), 5u);
321+
EXPECT_EQ(RISCV::getDestLog2EEW(TII->get(RISCV::VADD_VV), 3), 3u);
322+
EXPECT_EQ(RISCV::getDestLog2EEW(TII->get(RISCV::VWADD_VV), 3), 4u);
323+
EXPECT_EQ(RISCV::getDestLog2EEW(TII->get(RISCV::VLE32_V), 5), 5u);
324+
EXPECT_EQ(RISCV::getDestLog2EEW(TII->get(RISCV::VLSE32_V), 5), 5u);
325+
EXPECT_EQ(RISCV::getDestLog2EEW(TII->get(RISCV::VREDSUM_VS), 4), 4u);
326+
EXPECT_EQ(RISCV::getDestLog2EEW(TII->get(RISCV::VWREDSUM_VS), 4), 5u);
327+
EXPECT_EQ(RISCV::getDestLog2EEW(TII->get(RISCV::VFWREDOSUM_VS), 5), 6u);
328+
EXPECT_EQ(RISCV::getDestLog2EEW(TII->get(RISCV::VFCVT_RTZ_XU_F_V), 4), 4u);
329+
EXPECT_EQ(RISCV::getDestLog2EEW(TII->get(RISCV::VFWCVT_RTZ_XU_F_V), 4), 5u);
330+
EXPECT_EQ(RISCV::getDestLog2EEW(TII->get(RISCV::VSLL_VI), 4), 4u);
331+
EXPECT_EQ(RISCV::getDestLog2EEW(TII->get(RISCV::VWSLL_VI), 4), 5u);
332+
EXPECT_EQ(RISCV::getDestLog2EEW(TII->get(RISCV::VMSEQ_VV), 4), 0u);
333+
EXPECT_EQ(RISCV::getDestLog2EEW(TII->get(RISCV::VMAND_MM), 0), 0u);
334+
EXPECT_EQ(RISCV::getDestLog2EEW(TII->get(RISCV::VIOTA_M), 3), 3u);
335+
EXPECT_EQ(RISCV::getDestLog2EEW(TII->get(RISCV::VQMACCU_2x8x2), 3), 5u);
336+
EXPECT_EQ(RISCV::getDestLog2EEW(TII->get(RISCV::VFWMACC_4x4x4), 4), 5u);
337+
EXPECT_EQ(RISCV::getDestLog2EEW(TII->get(RISCV::THVdotVMAQA_VV), 5), 5u);
338338
}
339339

340340
} // namespace

0 commit comments

Comments
 (0)