summaryrefslogtreecommitdiff
path: root/gmp-h.in
diff options
context:
space:
mode:
authorKevin Ryde <user42@zip.com.au>2001-07-10 23:47:20 +0200
committerKevin Ryde <user42@zip.com.au>2001-07-10 23:47:20 +0200
commit2e2e689f14ffbde9ac3e337a657d9a86659cd6a7 (patch)
tree49d98c6c46b568b38c900d8b2cdbeb2de16ef170 /gmp-h.in
parent0f92b2b12113b87c8aa3c527eff4d88d612ce8f9 (diff)
downloadgmp-2e2e689f14ffbde9ac3e337a657d9a86659cd6a7.tar.gz
More of:
* gmp-h.in (__GMPN_COPY): Add form to help gcc on power and powerpc.
Diffstat (limited to 'gmp-h.in')
-rw-r--r--gmp-h.in7
1 files changed, 4 insertions, 3 deletions
diff --git a/gmp-h.in b/gmp-h.in
index 98d1ed3ad..29bd19264 100644
--- a/gmp-h.in
+++ b/gmp-h.in
@@ -1758,9 +1758,9 @@ mpf_size (mpf_srcptr f)
On ppc630 for instance this is optimal since it can sustain only 1 store
per cycle.
- gcc 2.95.x (for powerpc64 -maix64, or powerpc32) doesn't recognise the
- "for" loop in the generic code below can become ldu/stu/bdnz. The
- do/while here helps it get to that.
+ gcc 2.95.x (powerpc64 -maix64, or powerpc32) doesn't recognise the "for"
+ loop in the generic code below can become ldu/stu/bdnz. The do/while
+ here helps it get to that.
In gcc -mpowerpc64 mode, without -maix64, __size seems to want to be an
mp_limb_t to get into the ctr register, and even then the loop is a
@@ -1788,6 +1788,7 @@ mpf_size (mpf_srcptr f)
#define __GMPN_COPY(dst, src, size) \
do { \
/* ASSERT (MPN_SAME_OR_SEPARATE_P (dst, src, size)); */ \
+ __GMPN_COPY_INCR (dst, src, size); \
} while (0)
#endif