diff --git a/llvm/lib/Support/RISCVISAInfo.cpp b/llvm/lib/Support/RISCVISAInfo.cpp index eb12b99a2d0f16..7256e9a2932993 100644 --- a/llvm/lib/Support/RISCVISAInfo.cpp +++ b/llvm/lib/Support/RISCVISAInfo.cpp @@ -1007,7 +1007,7 @@ static const char *ImpliedExtsZcd[] = {"d", "zca"}; static const char *ImpliedExtsZce[] = {"zcb", "zcmp", "zcmt"}; static const char *ImpliedExtsZcf[] = {"f", "zca"}; static const char *ImpliedExtsZcmp[] = {"zca"}; -static const char *ImpliedExtsZcmt[] = {"zca"}; +static const char *ImpliedExtsZcmt[] = {"zca", "zicsr"}; static const char *ImpliedExtsZdinx[] = {"zfinx"}; static const char *ImpliedExtsZfa[] = {"f"}; static const char *ImpliedExtsZfbfmin[] = {"f"}; diff --git a/llvm/test/MC/RISCV/attribute-arch.s b/llvm/test/MC/RISCV/attribute-arch.s index f5b37977485655..f1c080580fe254 100644 --- a/llvm/test/MC/RISCV/attribute-arch.s +++ b/llvm/test/MC/RISCV/attribute-arch.s @@ -244,7 +244,7 @@ # CHECK: attribute 5, "rv32i2p1_zca1p0_zcmp1p0" .attribute arch, "rv32izcmt1p0" -# CHECK: attribute 5, "rv32i2p1_zca1p0_zcmt1p0" +# CHECK: attribute 5, "rv32i2p1_zicsr2p0_zca1p0_zcmt1p0" .attribute arch, "rv64i_xsfvcp" # CHECK: attribute 5, "rv64i2p1_zicsr2p0_zve32x1p0_zvl32b1p0_xsfvcp1p0" diff --git a/llvm/unittests/Support/RISCVISAInfoTest.cpp b/llvm/unittests/Support/RISCVISAInfoTest.cpp index ac24831cdaa180..2dd307603a82f6 100644 --- a/llvm/unittests/Support/RISCVISAInfoTest.cpp +++ b/llvm/unittests/Support/RISCVISAInfoTest.cpp @@ -519,8 +519,9 @@ TEST(ParseArchString, ZceImplication) { ASSERT_THAT_EXPECTED(MaybeRV32IZce, Succeeded()); RISCVISAInfo::OrderedExtensionMap ExtsRV32IZce = (*MaybeRV32IZce)->getExtensions(); - EXPECT_EQ(ExtsRV32IZce.size(), 6UL); + EXPECT_EQ(ExtsRV32IZce.size(), 7UL); EXPECT_EQ(ExtsRV32IZce.count("i"), 1U); + EXPECT_EQ(ExtsRV32IZce.count("zicsr"), 1U); EXPECT_EQ(ExtsRV32IZce.count("zca"), 1U); EXPECT_EQ(ExtsRV32IZce.count("zcb"), 1U); EXPECT_EQ(ExtsRV32IZce.count("zce"), 1U); @@ -562,8 +563,9 @@ TEST(ParseArchString, ZceImplication) { ASSERT_THAT_EXPECTED(MaybeRV64IZce, Succeeded()); RISCVISAInfo::OrderedExtensionMap ExtsRV64IZce = (*MaybeRV64IZce)->getExtensions(); - EXPECT_EQ(ExtsRV64IZce.size(), 6UL); + EXPECT_EQ(ExtsRV64IZce.size(), 7UL); EXPECT_EQ(ExtsRV64IZce.count("i"), 1U); + EXPECT_EQ(ExtsRV64IZce.count("zicsr"), 1U); EXPECT_EQ(ExtsRV64IZce.count("zca"), 1U); EXPECT_EQ(ExtsRV64IZce.count("zcb"), 1U); EXPECT_EQ(ExtsRV64IZce.count("zce"), 1U);