aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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;
}
}