summaryrefslogtreecommitdiff
path: root/src/cairo-wideint-private.h
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian.droege@collabora.co.uk>2009-09-15 17:26:59 +0200
committerChris Wilson <chris@chris-wilson.co.uk>2009-09-15 18:19:08 +0100
commit56c9b2de7a2b93b2e0c59cf98326d8c0d4d508ba (patch)
tree2c4bf3988fa523e971089654ee604a7785cd106f /src/cairo-wideint-private.h
parentccf84a8883ebb8d2ee8f55eb53da4dfc96887de0 (diff)
downloadcairo-56c9b2de7a2b93b2e0c59cf98326d8c0d4d508ba.tar.gz
Use __uint128_t and __int128_t if available
GCC uses a peculiar name for a real 128-bit integer on x86-64. Speedups, xlib on a gm45 ======================== poppler 41246.56 -> 35102.82: 1.18x speedup swfdec-youtube 12623.01 -> 11936.79: 1.06x speedup Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/cairo-wideint-private.h')
-rw-r--r--src/cairo-wideint-private.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/cairo-wideint-private.h b/src/cairo-wideint-private.h
index ec7fa1f6e..d3b01cb0e 100644
--- a/src/cairo-wideint-private.h
+++ b/src/cairo-wideint-private.h
@@ -272,6 +272,7 @@ int I _cairo_int128_cmp (cairo_int128_t a, cairo_int128_t b);
#define _cairo_int128_sub(a,b) ((a) - (b))
#define _cairo_int128_mul(a,b) ((a) * (b))
#define _cairo_int64x64_128_mul(a,b) ((int128_t) (a) * (b))
+#define _cairo_int64x32_128_mul(a, b) _cairo_int64x64_128_mul(a, _cairo_int32_to_int64(b))
#define _cairo_int128_lt(a,b) ((a) < (b))
#define _cairo_int128_cmp(a,b) ((a) == (b) ? 0 : (a) < (b) ? -1 : 1)
#define _cairo_int128_is_zero(a) ((a) == 0)