summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSascha Schumann <sas@php.net>2003-06-06 12:12:25 +0000
committerSascha Schumann <sas@php.net>2003-06-06 12:12:25 +0000
commit3d5ecc112b574bd82f677cf15d044098770d2c52 (patch)
tree2e80a7ff941ebd25981021ce8442aa9bccdd572e
parentc8c45d14dac9fffc3c2dcd9130e513f302aaea73 (diff)
downloadphp-git-3d5ecc112b574bd82f677cf15d044098770d2c52.tar.gz
mfb #24025 fix
-rw-r--r--Zend/zend_multiply.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/Zend/zend_multiply.h b/Zend/zend_multiply.h
index be41e588c3..30433d77d8 100644
--- a/Zend/zend_multiply.h
+++ b/Zend/zend_multiply.h
@@ -19,11 +19,13 @@
#if defined(__i386__) && defined(__GNUC__)
#define ZEND_SIGNED_MULTIPLY_LONG(a, b, lval, dval, usedval) do { \
+ long __tmpvar; \
__asm__ ("imul %3,%0\n" \
"adc $0,%1" \
- : "=r"(lval),"=r"(usedval) \
+ : "=r"(__tmpvar),"=r"(usedval) \
: "0"(a), "r"(b), "1"(0)); \
if (usedval) (dval) = (double) (a) * (double) (b); \
+ else (lval) = __tmpvar; \
} while (0)
#else