diff options
Diffstat (limited to 'llvm/unittests/ADT/TripleTest.cpp')
-rw-r--r-- | llvm/unittests/ADT/TripleTest.cpp | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/llvm/unittests/ADT/TripleTest.cpp b/llvm/unittests/ADT/TripleTest.cpp index a1b2212dea7..4af3bfe9489 100644 --- a/llvm/unittests/ADT/TripleTest.cpp +++ b/llvm/unittests/ADT/TripleTest.cpp @@ -878,4 +878,69 @@ TEST(TripleTest, NormalizeARM) { EXPECT_EQ(Triple::armeb, T.getArch()); } +TEST(TripleTest, ParseARMArch) { + // ARM + { + Triple T = Triple("arm"); + EXPECT_EQ(Triple::arm, T.getArch()); + } + { + Triple T = Triple("armv6t2"); + EXPECT_EQ(Triple::arm, T.getArch()); + } + { + Triple T = Triple("armv8"); + EXPECT_EQ(Triple::arm, T.getArch()); + } + { + Triple T = Triple("armeb"); + EXPECT_EQ(Triple::armeb, T.getArch()); + } + { + Triple T = Triple("armv5eb"); + EXPECT_EQ(Triple::armeb, T.getArch()); + } + // THUMB + { + Triple T = Triple("thumb"); + EXPECT_EQ(Triple::thumb, T.getArch()); + } + { + Triple T = Triple("thumbv7a"); + EXPECT_EQ(Triple::thumb, T.getArch()); + } + { + Triple T = Triple("thumbeb"); + EXPECT_EQ(Triple::thumbeb, T.getArch()); + } + { + Triple T = Triple("thumbv4teb"); + EXPECT_EQ(Triple::thumbeb, T.getArch()); + } + { + Triple T = Triple("thumbv2"); + EXPECT_EQ(Triple::UnknownArch, T.getArch()); + } + // AARCH64 + { + Triple T = Triple("arm64"); + EXPECT_EQ(Triple::aarch64, T.getArch()); + } + { + Triple T = Triple("aarch64"); + EXPECT_EQ(Triple::aarch64, T.getArch()); + } + { + Triple T = Triple("aarch64_be"); + EXPECT_EQ(Triple::aarch64_be, T.getArch()); + } + { + Triple T = Triple("aarch64be"); + EXPECT_EQ(Triple::UnknownArch, T.getArch()); + } + { + Triple T = Triple("arm64be"); + EXPECT_EQ(Triple::UnknownArch, T.getArch()); + } +} } // end anonymous namespace |