This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: Altivec patches for glibc
- From: Steve Munroe <sjmunroe at us dot ibm dot com>
- To: Konstantinos Margaritis <markos at debian dot gr>
- Cc: libc-alpha at sources dot redhat dot com
- Date: Tue, 16 Nov 2004 15:56:50 -0600
- Subject: Re: Altivec patches for glibc
Steven J. Munroe
Linux on Power Toolchain Architect
IBM Corporation, Linux Technology Center
Konstantinos Margaritis <markos@debian.gr> wrote on 11/16/2004 02:12:47
PM:
>
> So here is the deal:
> Freescale has made available some optimized routines for the PowerPC
> architecture, that take advantage of the Altivec unit commonly found
> in processors such as 74xx (G4) or the 970 (G5) (but not in the G3).
> In some cases the performance gain is amazing, from 4x to even >20x.
You also have to address a world where GLIBC is shared with many PowerPC
implementations, most of which don't have Altivec (VMX) extensions. So
what ever changes are made glibc has to continue to run correctly on
POWER3/POWER4/POWER5 and many imbedded systems. This applies to both 32-
and 64-bit ABIs.
Please review the implementation of setjmp/__longjmp for powerpc in
current cvs where I addressed this issue using AT_HWCAP and
PPC_FEATURE_HAS_ALTIVEC.
There is also the complex issue of performance comparison which gets
tricky when a single code base is shared across processors from 4XX
imbedded chips to 64-Way POWER5 systems. Comparing hand coded VMX to the
code generated by current (GCC-3.3) GCC can lead to false conclusions. The
code generation issue is also changing with GCC-4.x which will support
more aggressive optimization in addition to auto vectorization. And
finally the relative advantage of VMX in reduced in 64-bit mode by
comparison to 32-bit.