Index: llvm/lib/Support/Triple.cpp =================================================================== --- llvm/lib/Support/Triple.cpp +++ llvm/lib/Support/Triple.cpp @@ -1149,6 +1149,10 @@ if (SubArch == MipsSubArch_r6) return "mipsisa64r6el"; break; + case Triple::aarch64: + if (SubArch == AArch64SubArch_arm64ec) + return "arm64ec"; + break; default: break; } Index: llvm/unittests/ADT/TripleTest.cpp =================================================================== --- llvm/unittests/ADT/TripleTest.cpp +++ llvm/unittests/ADT/TripleTest.cpp @@ -1990,6 +1990,16 @@ EXPECT_EQ(Triple::aarch64, T.getArch()); EXPECT_EQ(Triple::AArch64SubArch_arm64e, T.getSubArch()); } + { + Triple T = Triple("arm64ec"); + EXPECT_EQ(Triple::aarch64, T.getArch()); + EXPECT_EQ(Triple::AArch64SubArch_arm64ec, T.getSubArch()); + } + { + Triple T; + T.setArch(Triple::aarch64, Triple::AArch64SubArch_arm64ec); + EXPECT_EQ("arm64ec", T.getArchName()); + } } TEST(TripleTest, isArmT32) {