summaryrefslogtreecommitdiff
path: root/numpy/core/setup_common.py
diff options
context:
space:
mode:
authorJulian Taylor <jtaylor.debian@googlemail.com>2014-11-20 23:58:22 +0100
committerJulian Taylor <jtaylor.debian@googlemail.com>2014-11-21 00:00:33 +0100
commit668668600d0097d26b41861f9dd3cdbe24cf7472 (patch)
tree6d3ce39dc24e3d4c4445a74c47c53e186e31c31e /numpy/core/setup_common.py
parent31b94e85a99db998bd6156d2b800386973fef3e1 (diff)
downloadnumpy-668668600d0097d26b41861f9dd3cdbe24cf7472.tar.gz
ENH: use gcc intrinsic for overflow checked multiplication
More efficient as it uses processor overflow flags if available.
Diffstat (limited to 'numpy/core/setup_common.py')
-rw-r--r--numpy/core/setup_common.py1
1 files changed, 1 insertions, 0 deletions
diff --git a/numpy/core/setup_common.py b/numpy/core/setup_common.py
index e51797c03..0b18bc6c6 100644
--- a/numpy/core/setup_common.py
+++ b/numpy/core/setup_common.py
@@ -118,6 +118,7 @@ OPTIONAL_INTRINSICS = [("__builtin_isnan", '5.'),
("__builtin_bswap32", '5u'),
("__builtin_bswap64", '5u'),
("__builtin_expect", '5, 0'),
+ ("__builtin_mul_overflow", '5, 5, (int*)5'),
("_mm_load_ps", '(float*)0', "xmmintrin.h"), # SSE
("_mm_load_pd", '(double*)0', "emmintrin.h"), # SSE2
]