[ardour-dev] AMD64 SSE optimisation

John Rigg ardev at sound-man.co.uk
Wed Dec 28 12:36:28 PST 2005


On Wed, Dec 28, 2005 at 01:40:16PM -0500, Jesse Chappell wrote:
> On 12/28/05, John Rigg wrote:
> > > Looks like just changing the 32-bit registers to 64-bit might be an
> > > over-simplification. Back to debugging...
> >
> > This is actually quite complicated. In the sandbox tester nframes
> > is a long, which is 64 bits on x86_64, not 32 bits like on i386.
> > In ardour it looks like nframes is jack_nframes_t, which is 32 bit
> > unsigned int on both i386 and x86_64.
> >
> > I'm trying to fix the data alignment errors introduced by
> > the tester but it's going to take a while.
> 
> If it helps just change any data types in the tester to be
> specifically 32 bit frame counts (uint32_t) if that helps.
> 
> jlc

I changed them to unsigned int. 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.

John



More information about the Ardour-Dev mailing list