diff options
author | lloyd <[email protected]> | 2006-05-28 04:34:36 +0000 |
---|---|---|
committer | lloyd <[email protected]> | 2006-05-28 04:34:36 +0000 |
commit | 62b8a5a6e802db6a8fbaadd7bf4d7a74c93dcc47 (patch) | |
tree | eae84e338c447dc9ad46995fdc582af406cdaae9 | |
parent | c4204430b1c050c54a464b677c4a90a785542b1a (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.h | 19 |
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; } } |