John Steele Scott
2005-Jan-27 01:50 UTC
[Flac-dev] A couple of points about flac 1.1.1 on ppc/linux/altivec
Luca Barbato <lu_zero@gentoo.org> writes:> Josh Coalson wrote: >>>Probably a version check could help. >> how about this logic: >> if cpu is ppc >> if as exists >> if as is apple version >> use as >> else if as is gnu version >> use as to assemble but src/libFLAC/ppc/gas directory >> else >> no asm >> else if gas exists >> use gas >> else >> no asm >> > Seems working to meThat looks fine to me as well. However, the best solution is something which Luca suggested a few months ago, which is to use the functions defined in altivec.h. These are C functions which map directly to Altivec machine instructions. I am willing to help out, but I don't find the current lpc_asm.s very easy to follow, and my time is quite limited (my last patch to a free software project took almost three months to get into decent shape!). It would help to hear from Chris, I think.>> could you also send me version strings for your versions of >> as/gas for whatever combination of PPC,OS that you have?Mine is the same as Luca's. cheers, John -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 282 bytes Desc: not available Url : http://lists.xiph.org/pipermail/flac-dev/attachments/20050127/6cd4271f/attachment.pgp
Brady Patterson
2005-Jan-29 06:41 UTC
[Flac-dev] A couple of points about flac 1.1.1 on ppc/linux/altivec
On Thu, 27 Jan 2005, John Steele Scott wrote:> That looks fine to me as well. However, the best solution is something which > Luca suggested a few months ago, which is to use the functions defined in > altivec.h. These are C functions which map directly to Altivec machine > instructions. I am willing to help out, but I don't find the current lpc_asm.s > very easy to follow, and my time is quite limited (my last patch to a free > software project took almost three months to get into decent shape!).Is this still my code? IIRC I commented it extensively, but the structure is certainly non-intuitive. I'll take a look at it. At the time, I thought I wanted control logic that was impossible in C, but that may not be the case. It didn't occur to me that Linux and Apple would use different assemblers; elsewhere Apple uses the GNU tools. I'm also a bit surprised that people are using flac on an Altivecful Linux/PPC system (but I did attempt for such a system to fall back to the non-altivec C code). End digression. Can you point me to a good reference on altivec.h? -- Brady Patterson (brady@spaceship.com) RLRR LRLL RLLR LRRL RRLR LLRL
Luca Barbato
2005-Feb-11 06:21 UTC
[Flac-dev] A couple of points about flac 1.1.1 on ppc/linux/altivec
Josh Coalson wrote:> --- Luca Barbato <lu_zero@gentoo.org> wrote: > >>Josh Coalson wrote: >> >>>since I don't know how to resolve this, in current CVS I have >>>checked in a system where there are src/libFLAC/ppc/as and >>>src/libFLAC/ppc/gas selected by configure. I have also checked >>>in as many patches as I could make sense of (the cpu.c detection >>>stuff and the configure.in stuff). can you guys take a look at >>>current CVS and help me get something that will build both ways? >>>after that it will be much easier for me to start looking at >>>correctness. >> >>There is a problem: the AC_CHECK_PROGS() just tests existence and I'm >> >>afraid both osx and linux/ppc have both as and gas executables. >>running the configure as is will always turn on the "as" path. >>--with-gas doesn't work to force it. >>Probably a version check could help. > > > how about this logic: > > if cpu is ppc > if as exists > if as is apple version > use as > else if as is gnu version > use as to assemble but src/libFLAC/ppc/gas directory > else > no asm > else if gas exists > use gas > else > no asm >Seems working to me> ? > > could you also send me version strings for your versions of > as/gas for whatever combination of PPC,OS that you have?as (gnu as) is provided by binutils. as --version GNU assembler 2.15.90.0.3 20040415 Copyright 2002 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License. This program has absolutely no warranty. This assembler was configured for a target of `powerpc-unknown-linux-gnu'. I hope it helps lu -- Luca Barbato Gentoo/linux Developer Gentoo/PPC Operational Manager http://dev.gentoo.org/~lu_zero
I spent a bit of time trying to make the configure behave. that's the result, I didn't check if the asm output runs correctly (looks forcefully disabled) but at least builds as should. lu -- Luca Barbato Gentoo/linux Developer Gentoo/PPC Operational Manager http://dev.gentoo.org/~lu_zero -------------- next part -------------- A non-text attachment was scrubbed... Name: flac-1.1.2-gas.patch Type: text/x-patch Size: 735 bytes Desc: not available Url : http://lists.xiph.org/pipermail/flac-dev/attachments/20050219/cb731522/flac-1.1.2-gas.bin -------------- next part -------------- A non-text attachment was scrubbed... Name: flac-1.1.2-makefile.patch Type: text/x-patch Size: 511 bytes Desc: not available Url : http://lists.xiph.org/pipermail/flac-dev/attachments/20050219/cb731522/flac-1.1.2-makefile.bin