summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2018-11-05 10:32:49 +0000
committerPeter Maydell <peter.maydell@linaro.org>2018-11-05 10:32:49 +0000
commitb2f7a038bb4c4fc5ce6b8486e8513dfd97665e2a (patch)
tree5e16d64060c9341aba4725eea253d53ba1b969ab
parent7d56239f159afc2e7bd42623947e56ba48f37836 (diff)
parent7370981bd1ef58b3c20ba8b83cc342d1c61bc773 (diff)
downloadfocaccia-qemu-b2f7a038bb4c4fc5ce6b8486e8513dfd97665e2a.tar.gz
focaccia-qemu-b2f7a038bb4c4fc5ce6b8486e8513dfd97665e2a.zip
Merge remote-tracking branch 'remotes/rth/tags/pull-softfloat-20181104' into staging
Only use divdeu insn with Power7 and later.

# gpg: Signature made Sun 04 Nov 2018 10:05:50 GMT
# gpg:                using RSA key 64DF38E8AF7E215F
# gpg: Good signature from "Richard Henderson <richard.henderson@linaro.org>"
# Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A  05C0 64DF 38E8 AF7E 215F

* remotes/rth/tags/pull-softfloat-20181104:
  softfloat: Don't execute divdeu without power7

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r--include/fpu/softfloat-macros.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/fpu/softfloat-macros.h b/include/fpu/softfloat-macros.h
index c86687fa5e..b1d772e6d4 100644
--- a/include/fpu/softfloat-macros.h
+++ b/include/fpu/softfloat-macros.h
@@ -647,8 +647,8 @@ static inline uint64_t udiv_qrnnd(uint64_t *r, uint64_t n1,
     asm("dlgr %0, %1" : "+r"(n) : "r"(d));
     *r = n >> 64;
     return n;
-#elif defined(_ARCH_PPC64)
-    /* From Power ISA 3.0B, programming note for divdeu.  */
+#elif defined(_ARCH_PPC64) && defined(_ARCH_PWR7)
+    /* From Power ISA 2.06, programming note for divdeu.  */
     uint64_t q1, q2, Q, r1, r2, R;
     asm("divdeu %0,%2,%4; divdu %1,%3,%4"
         : "=&r"(q1), "=r"(q2)