| //===---- 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(RISCVII::LMUL_1, |
| RISCVVType::getSameRatioLMUL(16, RISCVII::LMUL_2, 8)); |
| EXPECT_EQ(RISCVII::LMUL_F2, |
| RISCVVType::getSameRatioLMUL(16, RISCVII::LMUL_1, 8)); |
| // Smaller fractional LMUL. |
| EXPECT_EQ(RISCVII::LMUL_F8, |
| RISCVVType::getSameRatioLMUL(16, RISCVII::LMUL_F4, 8)); |
| // Bigger LMUL. |
| EXPECT_EQ(RISCVII::LMUL_2, |
| RISCVVType::getSameRatioLMUL(8, RISCVII::LMUL_1, 16)); |
| EXPECT_EQ(RISCVII::LMUL_1, |
| RISCVVType::getSameRatioLMUL(8, RISCVII::LMUL_F2, 16)); |
| // Bigger fractional LMUL. |
| EXPECT_EQ(RISCVII::LMUL_F2, |
| RISCVVType::getSameRatioLMUL(8, RISCVII::LMUL_F4, 16)); |
| } |
| } // namespace |