xref: /llvm-project/llvm/unittests/TargetParser/RISCVTargetParserTest.cpp (revision 85388a06b6022d0a7bc984bcaff86cf96f045338)
1*85388a06SWang Pengcheng //===---- RISCVTargetParserTest.cpp - RISCVTargetParser unit tests --------===//
2*85388a06SWang Pengcheng //
3*85388a06SWang Pengcheng // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*85388a06SWang Pengcheng // See https://llvm.org/LICENSE.txt for license information.
5*85388a06SWang Pengcheng // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*85388a06SWang Pengcheng //
7*85388a06SWang Pengcheng //===----------------------------------------------------------------------===//
8*85388a06SWang Pengcheng 
9*85388a06SWang Pengcheng #include "llvm/TargetParser/RISCVTargetParser.h"
10*85388a06SWang Pengcheng #include "gtest/gtest.h"
11*85388a06SWang Pengcheng 
12*85388a06SWang Pengcheng using namespace llvm;
13*85388a06SWang Pengcheng 
14*85388a06SWang Pengcheng namespace {
TEST(RISCVVType,CheckSameRatioLMUL)15*85388a06SWang Pengcheng TEST(RISCVVType, CheckSameRatioLMUL) {
16*85388a06SWang Pengcheng   // Smaller LMUL.
17*85388a06SWang Pengcheng   EXPECT_EQ(RISCVII::LMUL_1,
18*85388a06SWang Pengcheng             RISCVVType::getSameRatioLMUL(16, RISCVII::LMUL_2, 8));
19*85388a06SWang Pengcheng   EXPECT_EQ(RISCVII::LMUL_F2,
20*85388a06SWang Pengcheng             RISCVVType::getSameRatioLMUL(16, RISCVII::LMUL_1, 8));
21*85388a06SWang Pengcheng   // Smaller fractional LMUL.
22*85388a06SWang Pengcheng   EXPECT_EQ(RISCVII::LMUL_F8,
23*85388a06SWang Pengcheng             RISCVVType::getSameRatioLMUL(16, RISCVII::LMUL_F4, 8));
24*85388a06SWang Pengcheng   // Bigger LMUL.
25*85388a06SWang Pengcheng   EXPECT_EQ(RISCVII::LMUL_2,
26*85388a06SWang Pengcheng             RISCVVType::getSameRatioLMUL(8, RISCVII::LMUL_1, 16));
27*85388a06SWang Pengcheng   EXPECT_EQ(RISCVII::LMUL_1,
28*85388a06SWang Pengcheng             RISCVVType::getSameRatioLMUL(8, RISCVII::LMUL_F2, 16));
29*85388a06SWang Pengcheng   // Bigger fractional LMUL.
30*85388a06SWang Pengcheng   EXPECT_EQ(RISCVII::LMUL_F2,
31*85388a06SWang Pengcheng             RISCVVType::getSameRatioLMUL(8, RISCVII::LMUL_F4, 16));
32*85388a06SWang Pengcheng }
33*85388a06SWang Pengcheng } // namespace
34