This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[RFC] Provide SSE ABI/implementation of (some) libm routines on i386


This patch provides libm on i386 with an extra set of libm routines
using SSE register calling conventions for float and double arguments.
This is useful together with GCC emitting calls to these functions
if compiling for an SSE2 machine with SSE math turned on (-fpmath=sse).
It hereby avoids costly moves between SSE registers and the i387 FP stack.

Of course the actual SSE implementation of the routines is lame at
the moment (just compile the generic ieee754 stuff with -fpmath=sse),
but libimf shipped with the Intel compiler shows you can get quite a
runtime speedup with proper implementations.

The patch depends on the gcc patch also provided here by reference
and is for general commenting only as if you like me to rather push
this into some internal gcc place like libgcc.

Thanks,
Richard.

Attachment: patch-libc-sselibm
Description: Text document

Attachment: msseregparm
Description: gcc patch


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]