diff options
| -rw-r--r-- | runtime/arch/mips64/instruction_set_features_mips64_test.cc | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/runtime/arch/mips64/instruction_set_features_mips64_test.cc b/runtime/arch/mips64/instruction_set_features_mips64_test.cc index 563200ff76..0ba0bd4c15 100644 --- a/runtime/arch/mips64/instruction_set_features_mips64_test.cc +++ b/runtime/arch/mips64/instruction_set_features_mips64_test.cc @@ -20,7 +20,7 @@ namespace art { -TEST(Mips64InstructionSetFeaturesTest, Mips64Features) { +TEST(Mips64InstructionSetFeaturesTest, Mips64FeaturesFromDefaultVariant) { std::string error_msg; std::unique_ptr<const InstructionSetFeatures> mips64_features( InstructionSetFeatures::FromVariant(kMips64, "default", &error_msg)); @@ -31,4 +31,20 @@ TEST(Mips64InstructionSetFeaturesTest, Mips64Features) { EXPECT_EQ(mips64_features->AsBitmap(), 1U); } +TEST(Mips64InstructionSetFeaturesTest, Mips64FeaturesFromR6Variant) { + std::string error_msg; + std::unique_ptr<const InstructionSetFeatures> mips64r6_features( + InstructionSetFeatures::FromVariant(kMips64, "mips64r6", &error_msg)); + ASSERT_TRUE(mips64r6_features.get() != nullptr) << error_msg; + EXPECT_EQ(mips64r6_features->GetInstructionSet(), kMips64); + EXPECT_TRUE(mips64r6_features->Equals(mips64r6_features.get())); + EXPECT_STREQ("msa", mips64r6_features->GetFeatureString().c_str()); + EXPECT_EQ(mips64r6_features->AsBitmap(), 1U); + + std::unique_ptr<const InstructionSetFeatures> mips64_default_features( + InstructionSetFeatures::FromVariant(kMips64, "default", &error_msg)); + ASSERT_TRUE(mips64_default_features.get() != nullptr) << error_msg; + EXPECT_TRUE(mips64r6_features->Equals(mips64_default_features.get())); +} + } // namespace art |