On 26/07/16 14:31, Warren D Smith wrote: > However, why not provide access to double-precision multiply and > add-with-carry (subtract with borrow? shift-left?) in the same fashion? > twofer x = mul(a,b); would cause x.hi and x.lo to be computed. > twofer x = addwithcarry(a,b) ditto.
unsigned __int128 poo(unsigned long a, unsigned long b) { return (__int128)a * b; } unsigned __int128 bar(unsigned __int128 a, unsigned long b) { return a + b; } Andrew.