[Flac-dev] A couple of points about flac 1.1.1 on ppc/linux/altivec

Brady Patterson brady at spaceship.com
Sat Jan 29 13:48:38 PST 2005

On Sat, 29 Jan 2005, Josh Coalson wrote:
> actually I think you're right, there are times when you want/
> need everything to be in assembler for the best performance.

I'll try to compare my assembly to compiled code. I went through several
iterations of code structure, some of which were not doable in C. But IIRC
what I ended up with is close to a switch statement without breaks (a construct
I have never expected to use!). If that's true, and assuming altivec.h gives
you direct access to the vector registers, I may be able to get similar
performance from C code. Plus gcc is probably smarter about instruction
ordering than I.

> also, the altivec.h stuff will work only with gcc I think,
> so the portability problem just shifts somewhere else.  but
> it does look useful when you just want to inline parts of a
> function.

Good point; however, does anybody use a non-gcc compiler for PPC?

> since it is going to take me a while to sort this out, and since
> we need to get a release out to fix the sonames problem, I have
> disabled PPC asm functions for now and will get back to it after
> the release.  the static binaries I make for the darwin binary
> release will have them though, because it's easy for me to
> compile the right one.

That sounds prudent. I don't think it would hurt to have a configure option
to enable it though.

Brady Patterson (brady at spaceship.com)

More information about the Flac-dev mailing list