aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlloyd <[email protected]>2006-05-28 04:34:36 +0000
committerlloyd <[email protected]>2006-05-28 04:34:36 +0000
commit62b8a5a6e802db6a8fbaadd7bf4d7a74c93dcc47 (patch)
treeeae84e338c447dc9ad46995fdc582af406cdaae9
parentc4204430b1c050c54a464b677c4a90a785542b1a (diff)
The implementation of word8_madd3 had the wrong signature in the
Visual C++ version of the x86 assembler module.
-rw-r--r--modules/mp_ia32_msvc/mp_asmi.h19
1 files changed, 10 insertions, 9 deletions
diff --git a/modules/mp_ia32_msvc/mp_asmi.h b/modules/mp_ia32_msvc/mp_asmi.h
index ad1451010..d0f7d7bb6 100644
--- a/modules/mp_ia32_msvc/mp_asmi.h
+++ b/modules/mp_ia32_msvc/mp_asmi.h
@@ -467,16 +467,17 @@ __forceinline word word8_linmul3(word z[4], const word x[4], word y, word carry)
/*************************************************
* Eight Word Block Multiply-Add *
*************************************************/
-inline void word8_madd3(word z[], word x, const word y[], word* carry)
+inline word word8_madd3(word z[8], const word x[8], word y, word carry)
{
- word_madd(x, y[0], z[0], *carry, z + 0, carry);
- word_madd(x, y[1], z[1], *carry, z + 1, carry);
- word_madd(x, y[2], z[2], *carry, z + 2, carry);
- word_madd(x, y[3], z[3], *carry, z + 3, carry);
- word_madd(x, y[4], z[4], *carry, z + 4, carry);
- word_madd(x, y[5], z[5], *carry, z + 5, carry);
- word_madd(x, y[6], z[6], *carry, z + 6, carry);
- word_madd(x, y[7], z[7], *carry, z + 7, carry);
+ z[0] = word_madd3(x[0], y, z[0], carry, &carry);
+ z[1] = word_madd3(x[1], y, z[1], carry, &carry);
+ z[2] = word_madd3(x[2], y, z[2], carry, &carry);
+ z[3] = word_madd3(x[3], y, z[3], carry, &carry);
+ z[4] = word_madd3(x[4], y, z[4], carry, &carry);
+ z[5] = word_madd3(x[5], y, z[5], carry, &carry);
+ z[6] = word_madd3(x[6], y, z[6], carry, &carry);
+ z[7] = word_madd3(x[7], y, z[7], carry, &carry);
+ return carry;
}
}