MIPS: Add asub_s/u.df
These instructions are needed for implementing Sum-of-Abs-Differences
visitor.
Test: mma test-art-host-gtest
Change-Id: Ie708f30a450b0558215f59f21bb49b68c852f247
diff --git a/compiler/utils/mips64/assembler_mips64_test.cc b/compiler/utils/mips64/assembler_mips64_test.cc
index 164af78..d89ca3d 100644
--- a/compiler/utils/mips64/assembler_mips64_test.cc
+++ b/compiler/utils/mips64/assembler_mips64_test.cc
@@ -2947,6 +2947,46 @@
"subv.d");
}
+TEST_F(AssemblerMIPS64Test, Asub_sB) {
+ DriverStr(RepeatVVV(&mips64::Mips64Assembler::Asub_sB, "asub_s.b ${reg1}, ${reg2}, ${reg3}"),
+ "asub_s.b");
+}
+
+TEST_F(AssemblerMIPS64Test, Asub_sH) {
+ DriverStr(RepeatVVV(&mips64::Mips64Assembler::Asub_sH, "asub_s.h ${reg1}, ${reg2}, ${reg3}"),
+ "asub_s.h");
+}
+
+TEST_F(AssemblerMIPS64Test, Asub_sW) {
+ DriverStr(RepeatVVV(&mips64::Mips64Assembler::Asub_sW, "asub_s.w ${reg1}, ${reg2}, ${reg3}"),
+ "asub_s.w");
+}
+
+TEST_F(AssemblerMIPS64Test, Asub_sD) {
+ DriverStr(RepeatVVV(&mips64::Mips64Assembler::Asub_sD, "asub_s.d ${reg1}, ${reg2}, ${reg3}"),
+ "asub_s.d");
+}
+
+TEST_F(AssemblerMIPS64Test, Asub_uB) {
+ DriverStr(RepeatVVV(&mips64::Mips64Assembler::Asub_uB, "asub_u.b ${reg1}, ${reg2}, ${reg3}"),
+ "asub_u.b");
+}
+
+TEST_F(AssemblerMIPS64Test, Asub_uH) {
+ DriverStr(RepeatVVV(&mips64::Mips64Assembler::Asub_uH, "asub_u.h ${reg1}, ${reg2}, ${reg3}"),
+ "asub_u.h");
+}
+
+TEST_F(AssemblerMIPS64Test, Asub_uW) {
+ DriverStr(RepeatVVV(&mips64::Mips64Assembler::Asub_uW, "asub_u.w ${reg1}, ${reg2}, ${reg3}"),
+ "asub_u.w");
+}
+
+TEST_F(AssemblerMIPS64Test, Asub_uD) {
+ DriverStr(RepeatVVV(&mips64::Mips64Assembler::Asub_uD, "asub_u.d ${reg1}, ${reg2}, ${reg3}"),
+ "asub_u.d");
+}
+
TEST_F(AssemblerMIPS64Test, MulvB) {
DriverStr(RepeatVVV(&mips64::Mips64Assembler::MulvB, "mulv.b ${reg1}, ${reg2}, ${reg3}"),
"mulv.b");