aboutsummaryrefslogtreecommitdiff
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)
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)