From: havoc Date: Sat, 10 Dec 2016 20:17:30 +0000 (+0000) Subject: only use __int128 math on x86_64 X-Git-Tag: xonotic-v0.8.5~88^2~14 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=569bdf4312b50327055406243ec991c42cf06563;p=xonotic%2Fdarkplaces.git only use __int128 math on x86_64 git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12308 d7cf8633-e32d-0410-b094-e92efae38249 --- diff --git a/mathlib.c b/mathlib.c index 663c6f43..69203a33 100644 --- a/mathlib.c +++ b/mathlib.c @@ -907,7 +907,7 @@ static unsigned int mul_Lecuyer[4] = { 0x12e15e35, 0xb500f16e, 0x2e714eb2, 0xb37 static void mul128(const unsigned int a[], const unsigned int b[], unsigned int dest[4]) { -#ifdef __GNUC__ +#if defined(__GNUC__) && defined(__x86_64__) unsigned __int128 ia = ((__int128)a[0] << 96) | ((__int128)a[1] << 64) | ((__int128)a[2] << 32) | (a[3]); unsigned __int128 ib = ((__int128)b[0] << 96) | ((__int128)b[1] << 64) | ((__int128)b[2] << 32) | (b[3]); unsigned __int128 id = ia * ib;