[opus] [PATCH] Optimize silk_warped_autocorrelation_FIX() for ARM NEON
jmvalin at jmvalin.ca
Thu Feb 2 22:39:58 UTC 2017
I've not yet really looked into the details, but first here's a few
comments and questions:
1) Why does the patch need to define SKIP_CONFIG_H and CUSTOM_MODES at
the beginning? I can't see a reason for that.
2) The whole code is inside an #ifdef FIXED_POINT. It seems like it the
file shouldn't be compiled at all for float, so that #ifdef would be
unnecessary. Or did I miss something?
3) The code as it is written is pretty hard to follow. Can you explain
at a high level how you're vectorizing this code, i.e. which loop(s)
gets unrolled and the general strategy. That should make it easier to
4) In general I'm a bit skeptical that so much unrolled prolog/epilog
code is needed. Did you try having less unrolling for the prolog/epilog?
That would be nicer to the I-cache (if possible).
On 31/01/17 12:30 PM, Felicia Lim wrote:
> Attached is a patch with arm neon optimizations for
> silk_warped_autocorrelation_FIX(). Please review.
> opus mailing list
> opus at xiph.org
More information about the opus