cvs: Zend(PHP_4_3) / zend_multiply.h
| From: | Sascha Schumann | Date: | Fri, 06 Jun 2003 11:48:48 +0000 |
| Subject: | cvs: Zend(PHP_4_3) / zend_multiply.h | ||
| Groups: | php.zend-engine.cvs | ||
| Request: | Send a blank email to php-zend-engine-cvs+get-1344@lists.php.net to get a copy of this message | ||
sas Fri Jun 6 07:48:48 2003 EDT
Modified files: (Branch: PHP_4_3)
/Zend zend_multiply.h
Log:
Allow result == operand trick here as well
PR: #24054
Index: Zend/zend_multiply.h
diff -u Zend/zend_multiply.h:1.1.2.4 Zend/zend_multiply.h:1.1.2.5
--- Zend/zend_multiply.h:1.1.2.4 Tue Apr 29 11:04:24 2003
+++ Zend/zend_multiply.h Fri Jun 6 07:48:48 2003
@@ -22,11 +22,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