c++ patch
Torbjorn Granlund
tege at swox.com
Mon May 22 17:03:18 CEST 2006
Marc Glisse <marc.glisse at normalesup.org> writes:
> For SPARC, since there aren't any very useful 64-bit integer
> operations, the 32-bit ABI isn't terribly much slower than the 64-bit
> ABI. We use floating-point operations anyway.
> But the 64-bit ABI is currently about 50% faster anyway.
> (and I know you are not a huge fan of sparc...)
> Indeed. I am more into fast and cheap computers, than expensive and
> slow. :-)
I hope someone at Sun has read all the comments in the sparc32 and
sparc64 subdirectories of gmp/mpn (and maybe someone will update it for
more recent hardware).
What are the problems wrt recent hardware?
I know the ultrasparc T1 isn't too happy with the floating-point
addmul_1 and addmul_2, but I doubt anything else would be much faster.
The current code runs OK on ultrasparc 1-4, I think.
> As for using 64-bit operations internally under a 32-bit ABI, that's
> not usually allowed, and if allowed it is inconvenient.
I just meant that the 64-bit type called long in 64-bit is probably the
same that is called long long in 32-bit mode. But that may be completely
unrelated to what gmp uses, and I may be saying something stupid...
The type is one thing, the available instructions is another.
And then we have alignment, and other factors.
All-in-all, a 32-bit ABI is generally a lot slowed for GMP than
a 64-bit ABI. That's true even if you could use long long.
--
Torbjörn
More information about the gmp-bugs
mailing list