Gilles Khouzam via RT
2014-09-23 15:13:14 UTC
When compiling OpenSSL optimized on ARM using the Microsoft compiler, the wrong code is being emitted for BN_nist_mod_521 (in bn_nist.c). The compiler seems to think that val and temp represent the same item when they are clearly one index apart. I've coded a fix that simply avoid using temporary variables and uses the indices into the t_d array directly. The code is simply a refactor of the existing code and does generate very effective neon instructions for the loop.
ectest test which was always failing before in ARM on Windows is now succeeding (as well as all the other tests).
Gilles Khouzam
Senior Development Lead
Microsoft OSG
ectest test which was always failing before in ARM on Windows is now succeeding (as well as all the other tests).
Gilles Khouzam
Senior Development Lead
Microsoft OSG