Inefficient ia64 system call implementation in glibc

Grant Grundler iod00d@hp.com
Fri Sep 19 17:29:00 GMT 2003


On Fri, Sep 19, 2003 at 09:32:18AM -0700, H. J. Lu wrote:
> The inline ia64 system call assumes all values passed to kernel are
> signed 64bit. It does sign extension if the incoming arg is not signed
> 64bit.

AFAIK, All compilers do this. The HPUX performance team was on a rampage
to replace signed variables with "unsigned" whereever possible just for
this reason.

See example 2 in section "4.5.1 Data Types" (page 16 of 17):
	http://devresource.hp.com/STK/partner/PA_PerfGuide_vs2.pdf

BTW, don't dismiss this just because it talks about parisc.
I'd guess +90% of this paper applies to ia64 as well.

grant



More information about the Libc-alpha mailing list