diff options
author | tege <tege@gmplib.org> | 2004-10-08 18:49:32 +0200 |
---|---|---|
committer | tege <tege@gmplib.org> | 2004-10-08 18:49:32 +0200 |
commit | a350df66f692d63b1a3135a747fde9a2a25d61c7 (patch) | |
tree | 5ab49a5b54a08bf74bbe669ea10f4942ba26d68f /gmp-h.in | |
parent | 672bc0edd874f0d1f4206be03687f8a8d5e7217f (diff) | |
download | gmp-a350df66f692d63b1a3135a747fde9a2a25d61c7.tar.gz |
Remove PPC MPN_COPY variants.
Diffstat (limited to 'gmp-h.in')
-rw-r--r-- | gmp-h.in | 38 |
1 files changed, 0 insertions, 38 deletions
@@ -1977,44 +1977,6 @@ mpq_neg (mpq_ptr __gmp_w, mpq_srcptr __gmp_u) } while (0) -/* For power and powerpc we want an inline ldu/stu/bdnz loop for copying. - On ppc630 for instance this is optimal since it can sustain only 1 store - per cycle. - - 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 - curious ldu/stu/bdz/b. But let's not worry about that unless there's a - system using this. An asm block could force what we want if necessary. - - xlc 3.1 already generates ldu/stu/bdnz from the generic C, and does so - from this loop too. */ - -#if __GMP_HAVE_HOST_CPU_FAMILY_power || __GMP_HAVE_HOST_CPU_FAMILY_powerpc -#define __GMPN_COPY_INCR(dst, src, size) \ - do { \ - /* ASSERT ((size) >= 0); */ \ - /* ASSERT (MPN_SAME_OR_INCR_P (dst, src, size)); */ \ - if ((size) != 0) \ - { \ - mp_ptr __gmp_copy_incr_dst = (dst) - 1; \ - mp_srcptr __gmp_copy_incr_src = (src) - 1; \ - mp_size_t __gmp_copy_incr_size = (size); \ - do \ - *++__gmp_copy_incr_dst = *++__gmp_copy_incr_src; \ - while (--__gmp_copy_incr_size != 0); \ - } \ - } while (0) -#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 - #if defined (__GMPN_COPY) && ! defined (__GMPN_COPY_REST) #define __GMPN_COPY_REST(dst, src, size, start) \ do { \ |