aarch64: vp9itxfm: Avoid reloading the idct32 coefficients
authorMartin Storsjö <martin@martin.st>
Mon, 2 Jan 2017 20:08:41 +0000 (22:08 +0200)
committerMartin Storsjö <martin@martin.st>
Thu, 23 Feb 2017 22:03:44 +0000 (00:03 +0200)
commit65aa002d54433154a6924dc13e498bec98451ad0
treeeae3fb9f11250ef3040e2743b6b6b03b13a6a7e4
parent402546a17233a8815307df9e14ff88cd70424537
aarch64: vp9itxfm: Avoid reloading the idct32 coefficients

The idct32x32 function actually pushed d8-d15 onto the stack even
though it didn't clobber them; there are plenty of registers that
can be used to allow keeping all the idct coefficients in registers
without having to reload different subsets of them at different
stages in the transform.

After this, we still can skip pushing d12-d15.

Before:
vp9_inv_dct_dct_32x32_sub32_add_neon: 8128.3
After:
vp9_inv_dct_dct_32x32_sub32_add_neon: 8053.3

Signed-off-by: Martin Storsjö <martin@martin.st>
libavcodec/aarch64/vp9itxfm_neon.S