tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

mpi_amd64.c (725B)


      1 /* This Source Code Form is subject to the terms of the Mozilla Public
      2 * License, v. 2.0. If a copy of the MPL was not distributed with this
      3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      4 
      5 #ifndef MPI_AMD64
      6 #error This file only works on AMD64 platforms.
      7 #endif
      8 
      9 #include <mpi-priv.h>
     10 
     11 /*
     12 * MPI glue
     13 *
     14 */
     15 
     16 /* Presently, this is only used by the Montgomery arithmetic code. */
     17 /* c += a * b */
     18 void MPI_ASM_DECL
     19 s_mpv_mul_d_add_prop(const mp_digit *a, mp_size a_len,
     20                     mp_digit b, mp_digit *c)
     21 {
     22    mp_digit w;
     23    mp_digit d;
     24 
     25    d = s_mpv_mul_add_vec64(c, a, a_len, b);
     26    c += a_len;
     27    while (d) {
     28        w = c[0] + d;
     29        d = (w < c[0] || w < d);
     30        *c++ = w;
     31    }
     32 }