MIPS64: Extend instruction_set_features_mips64_test

Added "mips64r6" case and compared against "default".

Test: mma test-art-target-gtest-instruction_set_features_mips64_test

Change-Id: I1937912d69393fdd69a0e9779b597393dfa0bacf
diff --git a/runtime/arch/mips64/instruction_set_features_mips64_test.cc b/runtime/arch/mips64/instruction_set_features_mips64_test.cc
index 563200f..0ba0bd4 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 @@
   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