mirror of
https://github.com/php/php-src.git
synced 2026-04-25 17:08:14 +02:00
Fix ZEND_SIGNED_MULTIPLY_LONG for AArch64
Register operands are required in this context.
This is a backport of 8c8679207a
to PHP 7.0+. The current code caused incorrect behavior on AArch64
when compiling with clang.
This commit is contained in:
committed by
Nikita Popov
parent
958fdc997c
commit
d6d4f2a9b3
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user