Enable aom_satd SSE2 optimization

Enabled aom_satd SSE2 optimization. Added testing for this function.

Change-Id: I01a4df7e4a884365e16c02e1e93de3fe322c8628
diff --git a/aom_dsp/aom_dsp_rtcd_defs.pl b/aom_dsp/aom_dsp_rtcd_defs.pl
index e10acadb..a2b5f05 100755
--- a/aom_dsp/aom_dsp_rtcd_defs.pl
+++ b/aom_dsp/aom_dsp_rtcd_defs.pl
@@ -1127,7 +1127,7 @@
     specialize qw/aom_highbd_hadamard_32x32 avx2/;
   }
   add_proto qw/int aom_satd/, "const tran_low_t *coeff, int length";
-  specialize qw/aom_satd neon avx2/;
+  specialize qw/aom_satd neon sse2 avx2/;
 
   add_proto qw/int aom_satd_lp/, "const int16_t *coeff, int length";
   specialize qw/aom_satd_lp avx2 neon/;
diff --git a/test/avg_test.cc b/test/avg_test.cc
index 4c6d9b5..9c20714 100644
--- a/test/avg_test.cc
+++ b/test/avg_test.cc
@@ -654,4 +654,22 @@
                       make_tuple(5, &aom_vector_var_c, &aom_vector_var_neon)));
 #endif
 
+#if HAVE_AVX2
+INSTANTIATE_TEST_SUITE_P(
+    AVX2, SatdTest,
+    ::testing::Values(make_tuple(16, &aom_satd_c, &aom_satd_avx2),
+                      make_tuple(64, &aom_satd_c, &aom_satd_avx2),
+                      make_tuple(256, &aom_satd_c, &aom_satd_avx2),
+                      make_tuple(1024, &aom_satd_c, &aom_satd_avx2)));
+#endif
+
+#if HAVE_SSE2
+INSTANTIATE_TEST_SUITE_P(
+    SSE2, SatdTest,
+    ::testing::Values(make_tuple(16, &aom_satd_c, &aom_satd_sse2),
+                      make_tuple(64, &aom_satd_c, &aom_satd_sse2),
+                      make_tuple(256, &aom_satd_c, &aom_satd_sse2),
+                      make_tuple(1024, &aom_satd_c, &aom_satd_sse2)));
+#endif
+
 }  // namespace