Implement horizontal convolution using Neon SDOT instruction

Add an alternative AArch64 implementation of vpx_convolve8_horiz_neon
for targets that implement the Armv8.4-A SDOT (signed dot product)

The existing MLA-based implementation of vpx_convolve8_horiz_neon is
retained and used on target CPUs that do not implement the SDOT
instruction (or CPUs executing in AArch32 mode). The availability of
the SDOT instruction is indicated by the feature macro

Co-authored by: James Greenhalgh <>

Change-Id: I5337286b0f5f2775ad7cdbc0174785ae694363cc
3 files changed