version 1.1.1.2, 2012/05/29 12:34:36
|
version 1.1.1.3, 2013/07/22 01:32:16
|
Line 2
|
Line 2
|
+----------------------------------------------------------------------+ |
+----------------------------------------------------------------------+ |
| Zend Engine | |
| Zend Engine | |
+----------------------------------------------------------------------+ |
+----------------------------------------------------------------------+ |
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) | | | Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) | |
+----------------------------------------------------------------------+ |
+----------------------------------------------------------------------+ |
| This source file is subject to version 2.00 of the Zend license, | |
| This source file is subject to version 2.00 of the Zend license, | |
| that is bundled with this package in the file LICENSE, and is | |
| that is bundled with this package in the file LICENSE, and is | |
Line 35
|
Line 35
|
|
|
#define ZEND_SIGNED_MULTIPLY_LONG(a, b, lval, dval, usedval) do { \ |
#define ZEND_SIGNED_MULTIPLY_LONG(a, b, lval, dval, usedval) do { \ |
long __tmpvar; \ |
long __tmpvar; \ |
__asm__ ("imulq %3,%0\n" \ | __asm__ ("imul %3,%0\n" \ |
"adcq $0,%1" \ | "adc $0,%1" \ |
: "=r"(__tmpvar),"=r"(usedval) \ |
: "=r"(__tmpvar),"=r"(usedval) \ |
: "0"(a), "r"(b), "1"(0)); \ |
: "0"(a), "r"(b), "1"(0)); \ |
if (usedval) (dval) = (double) (a) * (double) (b); \ |
if (usedval) (dval) = (double) (a) * (double) (b); \ |