19 lines
699 B
Diff
19 lines
699 B
Diff
|
Backport of:
|
||
|
|
||
|
https://github.com/php/php-src/commit/8c8679207ae5ada8751288e75b78c928a4d34d1d
|
||
|
|
||
|
diff -u -r ../php-7.1.7/Zend/zend_multiply.h ./Zend/zend_multiply.h
|
||
|
--- ../php-7.1.7/Zend/zend_multiply.h 2017-07-06 11:30:11.000000000 +0200
|
||
|
+++ ./Zend/zend_multiply.h 2017-07-10 00:54:43.550300703 +0200
|
||
|
@@ -53,8 +53,8 @@
|
||
|
__asm__("mul %0, %2, %3\n" \
|
||
|
"smulh %1, %2, %3\n" \
|
||
|
"sub %1, %1, %0, asr #63\n" \
|
||
|
- : "=X"(__tmpvar), "=X"(usedval) \
|
||
|
- : "X"(a), "X"(b)); \
|
||
|
+ : "=&r"(__tmpvar), "=&r"(usedval) \
|
||
|
+ : "r"(a), "r"(b)); \
|
||
|
if (usedval) (dval) = (double) (a) * (double) (b); \
|
||
|
else (lval) = __tmpvar; \
|
||
|
} while (0)
|