Blob Blame History Raw
Index: mozilla/security/nss/lib/freebl/mpi/mp_comba.c
===================================================================
RCS file: /cvsroot/mozilla/security/nss/lib/freebl/mpi/mp_comba.c,v
retrieving revision 1.2
diff -u -u -8 -p -r1.2 mp_comba.c
--- mozilla/security/nss/lib/freebl/mpi/mp_comba.c	16 Aug 2005 19:25:48 -0000	1.2
+++ mozilla/security/nss/lib/freebl/mpi/mp_comba.c	14 Feb 2008 22:36:54 -0000
@@ -87,22 +87,22 @@ __asm__ (                               
      "adcq  $0,%2        \n\t"                            \
      "addq  %%rax,%0     \n\t"                            \
      "adcq  %%rdx,%1     \n\t"                            \
      "adcq  $0,%2        \n\t"                            \
      :"=r"(c0), "=r"(c1), "=r"(c2): "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j)  :"%rax","%rdx","%cc");
 
 #define SQRADDSC(i, j)                                    \
 __asm__ (                                                     \
-     "movq  %6,%%rax     \n\t"                            \
-     "mulq  %7           \n\t"                            \
+     "movq  %3,%%rax     \n\t"                            \
+     "mulq  %4           \n\t"                            \
      "movq  %%rax,%0     \n\t"                            \
      "movq  %%rdx,%1     \n\t"                            \
      "xorq  %2,%2        \n\t"                            \
-     :"=r"(sc0), "=r"(sc1), "=r"(sc2): "0"(sc0), "1"(sc1), "2"(sc2), "g"(i), "g"(j) :"%rax","%rdx","%cc");
+     :"=r"(sc0), "=r"(sc1), "=r"(sc2): "g"(i), "g"(j) :"%rax","%rdx","%cc");
 
 #define SQRADDAC(i, j)                                                         \
 __asm__ (                                                     \
      "movq  %6,%%rax     \n\t"                            \
      "mulq  %7           \n\t"                            \
      "addq  %%rax,%0     \n\t"                            \
      "adcq  %%rdx,%1     \n\t"                            \
      "adcq  $0,%2        \n\t"                            \
@@ -111,17 +111,17 @@ __asm__ (                               
 #define SQRADDDB                                                               \
 __asm__ (                                                     \
      "addq %3,%0         \n\t"                            \
      "adcq %4,%1         \n\t"                            \
      "adcq %5,%2         \n\t"                            \
      "addq %3,%0         \n\t"                            \
      "adcq %4,%1         \n\t"                            \
      "adcq %5,%2         \n\t"                            \
-     :"=r"(c0), "=r"(c1), "=r"(c2), "=r"(sc0), "=r"(sc1), "=r"(sc2) : "0"(c0), "1"(c1), "2"(c2), "3"(sc0), "4"(sc1), "5"(sc2) : "%cc");
+     :"=&r"(c0), "=&r"(c1), "=&r"(c2) : "r"(sc0), "r"(sc1), "r"(sc2), "0"(c0), "1"(c1), "2"(c2) : "%cc");
 
 
 
 
 
 void s_mp_mul_comba_4(const mp_int *A, const mp_int *B, mp_int *C)
 {
    mp_digit c0, c1, c2, at[8];
@@ -645,19 +645,17 @@ void s_mp_mul_comba_32(const mp_int *A, 
    mp_clamp(C);
    COMBA_FINI;
 }
 
 
 
 void s_mp_sqr_comba_4(const mp_int *A, mp_int *B)
 {
-   mp_digit *a, b[8], c0, c1, c2, sc0, sc1, sc2;
-   /* get rid of some compiler warnings */
-   sc0 = 0; sc1 = 0; sc2 = 0;
+   mp_digit *a, b[8], c0, c1, c2;
 
    a = A->dp;
    COMBA_START; 
 
    /* clear carries */
    CLEAR_CARRY;
 
    /* output 0 */
@@ -700,18 +698,16 @@ void s_mp_sqr_comba_4(const mp_int *A, m
    B->sign = ZPOS;
    memcpy(B->dp, b, 8 * sizeof(mp_digit));
    mp_clamp(B);
 }
 
 void s_mp_sqr_comba_8(const mp_int *A, mp_int *B)
 {
    mp_digit *a, b[16], c0, c1, c2, sc0, sc1, sc2;
-   /* get rid of some compiler warnings */
-   sc0 = 0; sc1 = 0; sc2 = 0;
 
    a = A->dp;
    COMBA_START; 
 
    /* clear carries */
    CLEAR_CARRY;
 
    /* output 0 */
@@ -794,18 +790,16 @@ void s_mp_sqr_comba_8(const mp_int *A, m
    B->sign = ZPOS;
    memcpy(B->dp, b, 16 * sizeof(mp_digit));
    mp_clamp(B);
 }
 
 void s_mp_sqr_comba_16(const mp_int *A, mp_int *B)
 {
    mp_digit *a, b[32], c0, c1, c2, sc0, sc1, sc2;
-   /* get rid of some compiler warnings */
-   sc0 = 0; sc1 = 0; sc2 = 0;
 
    a = A->dp;
    COMBA_START; 
 
    /* clear carries */
    CLEAR_CARRY;
 
    /* output 0 */
@@ -969,18 +963,16 @@ void s_mp_sqr_comba_16(const mp_int *A, 
    memcpy(B->dp, b, 32 * sizeof(mp_digit));
    mp_clamp(B);
 }
 
 
 void s_mp_sqr_comba_32(const mp_int *A, mp_int *B)
 {
    mp_digit *a, b[64], c0, c1, c2, sc0, sc1, sc2;
-   /* get rid of some compiler warnings */
-   sc0 = 0; sc1 = 0; sc2 = 0;
 
    a = A->dp;
    COMBA_START; 
 
    /* clear carries */
    CLEAR_CARRY;
 
    /* output 0 */