Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(55)

Unified Diff: gcc/gmp/mpn/generic/submul_1.c

Issue 3050029: [gcc] GCC 4.5.0=>4.5.1 (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/nacl-toolchain.git
Patch Set: Created 10 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « gcc/gmp/mpn/generic/sub_n.c ('k') | gcc/gmp/mpn/generic/toom22_mul.c » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gcc/gmp/mpn/generic/submul_1.c
diff --git a/gcc/gmp/mpn/generic/submul_1.c b/gcc/gmp/mpn/generic/submul_1.c
deleted file mode 100644
index 3e8e74302d56ce467825a2f8b1bb2e208c222d6d..0000000000000000000000000000000000000000
--- a/gcc/gmp/mpn/generic/submul_1.c
+++ /dev/null
@@ -1,129 +0,0 @@
-/* mpn_submul_1 -- multiply the N long limb vector pointed to by UP by VL,
- subtract the N least significant limbs of the product from the limb
- vector pointed to by RP. Return the most significant limb of the
- product, adjusted for carry-out from the subtraction.
-
-Copyright 1992, 1993, 1994, 1996, 2000, 2002, 2004 Free Software Foundation,
-Inc.
-
-This file is part of the GNU MP Library.
-
-The GNU MP Library is free software; you can redistribute it and/or modify
-it under the terms of the GNU Lesser General Public License as published by
-the Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The GNU MP Library is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
-License for more details.
-
-You should have received a copy of the GNU Lesser General Public License
-along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
-
-#include "gmp.h"
-#include "gmp-impl.h"
-#include "longlong.h"
-
-
-#if GMP_NAIL_BITS == 0
-
-mp_limb_t
-mpn_submul_1 (mp_ptr rp, mp_srcptr up, mp_size_t n, mp_limb_t vl)
-{
- mp_limb_t ul, cl, hpl, lpl, rl;
-
- ASSERT (n >= 1);
- ASSERT (MPN_SAME_OR_SEPARATE_P (rp, up, n));
-
- cl = 0;
- do
- {
- ul = *up++;
- umul_ppmm (hpl, lpl, ul, vl);
-
- lpl += cl;
- cl = (lpl < cl) + hpl;
-
- rl = *rp;
- lpl = rl - lpl;
- cl += lpl > rl;
- *rp++ = lpl;
- }
- while (--n != 0);
-
- return cl;
-}
-
-#endif
-
-#if GMP_NAIL_BITS == 1
-
-mp_limb_t
-mpn_submul_1 (mp_ptr rp, mp_srcptr up, mp_size_t n, mp_limb_t vl)
-{
- mp_limb_t shifted_vl, ul, rl, lpl, hpl, prev_hpl, cl, xl, c1, c2, c3;
-
- ASSERT (n >= 1);
- ASSERT (MPN_SAME_OR_SEPARATE_P (rp, up, n));
- ASSERT_MPN (rp, n);
- ASSERT_MPN (up, n);
- ASSERT_LIMB (vl);
-
- shifted_vl = vl << GMP_NAIL_BITS;
- cl = 0;
- prev_hpl = 0;
- do
- {
- ul = *up++;
- rl = *rp;
- umul_ppmm (hpl, lpl, ul, shifted_vl);
- lpl >>= GMP_NAIL_BITS;
- SUBC_LIMB (c1, xl, rl, prev_hpl);
- SUBC_LIMB (c2, xl, xl, lpl);
- SUBC_LIMB (c3, xl, xl, cl);
- cl = c1 + c2 + c3;
- *rp++ = xl;
- prev_hpl = hpl;
- }
- while (--n != 0);
-
- return prev_hpl + cl;
-}
-
-#endif
-
-#if GMP_NAIL_BITS >= 2
-
-mp_limb_t
-mpn_submul_1 (mp_ptr rp, mp_srcptr up, mp_size_t n, mp_limb_t vl)
-{
- mp_limb_t shifted_vl, ul, rl, lpl, hpl, prev_hpl, xw, cl, xl;
-
- ASSERT (n >= 1);
- ASSERT (MPN_SAME_OR_SEPARATE_P (rp, up, n));
- ASSERT_MPN (rp, n);
- ASSERT_MPN (up, n);
- ASSERT_LIMB (vl);
-
- shifted_vl = vl << GMP_NAIL_BITS;
- cl = 0;
- prev_hpl = 0;
- do
- {
- ul = *up++;
- rl = *rp;
- umul_ppmm (hpl, lpl, ul, shifted_vl);
- lpl >>= GMP_NAIL_BITS;
- xw = rl - (prev_hpl + lpl) + cl;
- cl = (mp_limb_signed_t) xw >> GMP_NUMB_BITS; /* FIXME: non-portable */
- xl = xw & GMP_NUMB_MASK;
- *rp++ = xl;
- prev_hpl = hpl;
- }
- while (--n != 0);
-
- return prev_hpl - cl;
-}
-
-#endif
« no previous file with comments | « gcc/gmp/mpn/generic/sub_n.c ('k') | gcc/gmp/mpn/generic/toom22_mul.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698