Remove Arm SVE implementation of aom_highbd_8_mse*
Remove the Arm SVE implementation of the aom_highbd_8_mse* functions
since the neon_dotprod implementation is faster.
Change-Id: If2ab20bbfa5306b754fd4e5467de79b11620ed0e
diff --git a/aom_dsp/aom_dsp_rtcd_defs.pl b/aom_dsp/aom_dsp_rtcd_defs.pl
index 4b49605..7bb156a 100755
--- a/aom_dsp/aom_dsp_rtcd_defs.pl
+++ b/aom_dsp/aom_dsp_rtcd_defs.pl
@@ -1352,16 +1352,19 @@
add_proto qw/unsigned int/, "aom_highbd_${bd}_mse8x16", "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse";
add_proto qw/unsigned int/, "aom_highbd_${bd}_mse8x8", "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse";
- specialize "aom_highbd_${bd}_mse16x16", qw/sse2 neon sve/;
- specialize "aom_highbd_${bd}_mse16x8", qw/neon sve/;
- specialize "aom_highbd_${bd}_mse8x16", qw/neon sve/;
- specialize "aom_highbd_${bd}_mse8x8", qw/sse2 neon sve/;
- }
+ if ($bd eq 8) {
+ specialize "aom_highbd_${bd}_mse16x16", qw/sse2 neon neon_dotprod/;
+ specialize "aom_highbd_${bd}_mse16x8", qw/neon neon_dotprod/;
+ specialize "aom_highbd_${bd}_mse8x16", qw/neon neon_dotprod/;
+ specialize "aom_highbd_${bd}_mse8x8", qw/sse2 neon neon_dotprod/;
+ } else {
+ specialize "aom_highbd_${bd}_mse16x16", qw/sse2 neon sve/;
+ specialize "aom_highbd_${bd}_mse16x8", qw/neon sve/;
+ specialize "aom_highbd_${bd}_mse8x16", qw/neon sve/;
+ specialize "aom_highbd_${bd}_mse8x8", qw/sse2 neon sve/;
+ }
- specialize "aom_highbd_8_mse16x16", qw/neon_dotprod/;
- specialize "aom_highbd_8_mse16x8", qw/neon_dotprod/;
- specialize "aom_highbd_8_mse8x16", qw/neon_dotprod/;
- specialize "aom_highbd_8_mse8x8", qw/neon_dotprod/;
+ }
}
#
diff --git a/aom_dsp/arm/highbd_variance_sve.c b/aom_dsp/arm/highbd_variance_sve.c
index d0058bf..a2c30a1 100644
--- a/aom_dsp/arm/highbd_variance_sve.c
+++ b/aom_dsp/arm/highbd_variance_sve.c
@@ -348,15 +348,6 @@
}
#define HIGHBD_MSE_WXH_SVE(w, h) \
- uint32_t aom_highbd_8_mse##w##x##h##_sve( \
- const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, \
- int ref_stride, uint32_t *sse) { \
- uint16_t *src = CONVERT_TO_SHORTPTR(src_ptr); \
- uint16_t *ref = CONVERT_TO_SHORTPTR(ref_ptr); \
- highbd_mse_wxh_sve(src, src_stride, ref, ref_stride, w, h, sse); \
- return *sse; \
- } \
- \
uint32_t aom_highbd_10_mse##w##x##h##_sve( \
const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, \
int ref_stride, uint32_t *sse) { \
diff --git a/test/variance_test.cc b/test/variance_test.cc
index a493a1f..e31f8f8 100644
--- a/test/variance_test.cc
+++ b/test/variance_test.cc
@@ -2165,11 +2165,7 @@
MseParams(4, 4, &aom_highbd_10_mse16x16_sve, 10),
MseParams(4, 3, &aom_highbd_10_mse16x8_sve, 10),
MseParams(3, 4, &aom_highbd_10_mse8x16_sve, 10),
- MseParams(3, 3, &aom_highbd_10_mse8x8_sve, 10),
- MseParams(4, 4, &aom_highbd_8_mse16x16_sve, 8),
- MseParams(4, 3, &aom_highbd_8_mse16x8_sve, 8),
- MseParams(3, 4, &aom_highbd_8_mse8x16_sve, 8),
- MseParams(3, 3, &aom_highbd_8_mse8x8_sve, 8)));
+ MseParams(3, 3, &aom_highbd_10_mse8x8_sve, 10)));
#endif // HAVE_SVE
const VarianceParams kArrayHBDVariance_c[] = {