summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
d4cd2cd)
git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12308
d7cf8633-e32d-0410-b094-
e92efae38249
static void mul128(const unsigned int a[], const unsigned int b[], unsigned int dest[4])
{
static void mul128(const unsigned int a[], const unsigned int b[], unsigned int dest[4])
{
+#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;
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;