llvm-project/llvm/unittests/TargetParser/RISCVTargetParserTest.cpp
Craig Topper 0cc532b79e
[RISCV] Move the RISCVII namespaced enums into RISCVVType namespace in RISCVTargetParser.h. NFC (#127585)
The VLMUL and policy enums originally lived in RISCVBaseInfo.h in the
backend which is where everything else in the RISCVII namespace is
defined.

RISCVTargetParser.h is used by much more of the compiler and it
doesn't really make sense to have 2 different namespaces exposed.
These enums are both associated with VTYPE so using the RISCVVType
namespace seems like a good home for them.
2025-02-18 08:27:25 -08:00

34 lines
1.2 KiB
C++

//===---- RISCVTargetParserTest.cpp - RISCVTargetParser unit tests --------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#include "llvm/TargetParser/RISCVTargetParser.h"
#include "gtest/gtest.h"
using namespace llvm;
namespace {
TEST(RISCVVType, CheckSameRatioLMUL) {
// Smaller LMUL.
EXPECT_EQ(RISCVVType::LMUL_1,
RISCVVType::getSameRatioLMUL(16, RISCVVType::LMUL_2, 8));
EXPECT_EQ(RISCVVType::LMUL_F2,
RISCVVType::getSameRatioLMUL(16, RISCVVType::LMUL_1, 8));
// Smaller fractional LMUL.
EXPECT_EQ(RISCVVType::LMUL_F8,
RISCVVType::getSameRatioLMUL(16, RISCVVType::LMUL_F4, 8));
// Bigger LMUL.
EXPECT_EQ(RISCVVType::LMUL_2,
RISCVVType::getSameRatioLMUL(8, RISCVVType::LMUL_1, 16));
EXPECT_EQ(RISCVVType::LMUL_1,
RISCVVType::getSameRatioLMUL(8, RISCVVType::LMUL_F2, 16));
// Bigger fractional LMUL.
EXPECT_EQ(RISCVVType::LMUL_F2,
RISCVVType::getSameRatioLMUL(8, RISCVVType::LMUL_F4, 16));
}
} // namespace