From 62b8a5a6e802db6a8fbaadd7bf4d7a74c93dcc47 Mon Sep 17 00:00:00 2001 From: lloyd Date: Sun, 28 May 2006 04:34:36 +0000 Subject: The implementation of word8_madd3 had the wrong signature in the Visual C++ version of the x86 assembler module. --- modules/mp_ia32_msvc/mp_asmi.h | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'modules') 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; } } -- cgit v1.2.3