[ardour-dev] AMD64 SSE optimisation

John Rigg ardev at sound-man.co.uk
Sat Dec 31 10:04:42 PST 2005


On Wed, Dec 28, 2005 at 08:36:28PM +0000, John Rigg wrote:
> Now I'm finding that my original patch
> was indeed an over-simplification. On single stepping through the code
> with gdb to diagnose some strange behaviour, I've found that x86_64 uses
> different registers for some variables compared to i386, so there's a bit
> more work to do yet.

I've worked out what's happening. The variables get optimised out,
even with only -O (this is with gcc-4.0), and are stored in registers.

For example, in x86_compute_peak in the sandbox tester:
%rdi	&buf[0] (also stored at 32(%rbp))
%rsi	nframes
%rbx	ITERATIONS
%xmm0	peak

This should make the code simpler and faster. I've started reworking it
and hope to have some results in the next week or so.

John



More information about the Ardour-Dev mailing list