MIPS: Introduce a few MSA instructions

These instructions are needed for SIMD reduction.
Also added assembler tests for each instruction.

Test: mma test-art-host-gtest

Change-Id: I0f02618a14b4cbcc3b81ce51dd2586fa4cdbfd18
diff --git a/compiler/utils/assembler_test.h b/compiler/utils/assembler_test.h
index ae7636b..ad84412 100644
--- a/compiler/utils/assembler_test.h
+++ b/compiler/utils/assembler_test.h
@@ -650,6 +650,24 @@
   }
 
   template <typename ImmType>
+  std::string RepeatRVIb(void (Ass::*f)(Reg, VecReg, ImmType),
+                         int imm_bits,
+                         const std::string& fmt,
+                         int bias = 0,
+                         int multiplier = 1) {
+    return RepeatTemplatedRegistersImmBits<Reg, VecReg, ImmType>(
+        f,
+        imm_bits,
+        GetRegisters(),
+        GetVectorRegisters(),
+        &AssemblerTest::GetRegName<RegisterView::kUsePrimaryName>,
+        &AssemblerTest::GetVecRegName,
+        fmt,
+        bias,
+        multiplier);
+  }
+
+  template <typename ImmType>
   std::string RepeatVVIb(void (Ass::*f)(VecReg, VecReg, ImmType),
                          int imm_bits,
                          const std::string& fmt,