Portable "add with carry" loop for arbitrary precision arithmetic

Ian Lance Taylor iant@google.com
Mon Jun 23 13:49:00 GMT 2008


"Alexander Konovalenko" <alexkon@gmail.com> writes:

> There is an "add with carry" instruction on some architectures which
> enables efficient implementation of arbitrary precision (bignum)
> integer addition. Is it possible to make gcc generate efficient
> machine code from pure C or C++ code for bignum addition on those
> architectures?
>
> It looks like the popular libraries like GMP and CLN use hand-coded
> assembly for that. I wonder if gcc can help rewrite that kind of code
> in a more portable way.

In general, no, except for the limiting case of the "long long" type.
gcc doesn't provide any machine independent access to the carry flag.

Ian



More information about the Gcc-help mailing list