Use sum_neon.h helpers in Neon DC predictors
authorGeorge Steed <george.steed@arm.com>
Mon, 27 Mar 2023 08:47:58 +0000 (08:47 +0000)
committerGeorge Steed <george.steed@arm.com>
Thu, 30 Mar 2023 09:00:19 +0000 (09:00 +0000)
commitc1c7dd3138796c512c441fba901d1a48ef7d61d1
tree3cf846b00fc64edb71e940be008e0bdda97e1c9b
parent01d282ac9558916e788050b293e429bb268f8530
Use sum_neon.h helpers in Neon DC predictors

Use sum_neon.h helpers for horizontal reductions in Neon DC predictors,
enabling use of dedicated Neon reduction instructions on AArch64. Some
of the surrounding code is also optimized to remove redundant broadcast
instructions in the dc_store helpers.

Performance is largely unchanged on both the standard as well as the
high bit-depth predictors. The main improvement appears to be the 16x16
standard-bitdepth dc predictor, which improves by 10-15% when
benchmarked on Neoverse N1.

Change-Id: Ibfcc6ecf4b1b2f87ce1e1f63c314d0cc35a0c76f
vpx_dsp/arm/highbd_intrapred_neon.c
vpx_dsp/arm/intrapred_neon.c
vpx_dsp/arm/sum_neon.h