Improving gcc for gmp

Kevin Ryde user42 at
Fri Mar 19 23:55:50 CET 2004

Patrick Pelissier <Patrick.Pelissier at> writes:
> unsigned long long f(unsigned long x, unsigned long y)
> {
>   return (unsigned long long) x*y;
> }

longlong is not always well handled by gcc, in the past and perhaps
still it has silly ideas about wanting the two halves in adjacent
registers.  And if you try code like that taking just the high half on
an old gcc like 2.7.2 it comes out pretty awful.  Perhaps in newish
gcc though, if it can be investigated to see that it comes out ok.

More information about the gmp-devel mailing list