1005-fix-asm-constraints-in-aarch64-multiply-macro.patch 939 B

1234567891011121314151617181920212223242526272829
  1. From 6cbb9f4c247c5361b8c165fbb40b4118d5d7c0e5 Mon Sep 17 00:00:00 2001
  2. From: Andreas Schwab <schwab@linux-m68k.org>
  3. Date: Mon, 25 Apr 2016 11:59:14 +0200
  4. Subject: [PATCH] Fix asm constraints in aarch64 multiply macro
  5. All operands must be register operands and the output operands are early
  6. clobbered.
  7. ---
  8. Zend/zend_multiply.h | 4 ++--
  9. 1 file changed, 2 insertions(+), 2 deletions(-)
  10. diff --git a/Zend/zend_multiply.h b/Zend/zend_multiply.h
  11. index dfd21f7..651dd43 100644
  12. --- a/Zend/zend_multiply.h
  13. +++ b/Zend/zend_multiply.h
  14. @@ -53,8 +53,8 @@
  15. __asm__("mul %0, %2, %3\n" \
  16. "smulh %1, %2, %3\n" \
  17. "sub %1, %1, %0, asr #63\n" \
  18. - : "=X"(__tmpvar), "=X"(usedval) \
  19. - : "X"(a), "X"(b)); \
  20. + : "=&r"(__tmpvar), "=&r"(usedval) \
  21. + : "r"(a), "r"(b)); \
  22. if (usedval) (dval) = (double) (a) * (double) (b); \
  23. else (lval) = __tmpvar; \
  24. } while (0)
  25. --
  26. 2.8.0