[8u] RFR 8130150: Implement BigInteger.montgomeryMultiply intrinsic

Vladimir Kempik vladimir.kempik at oracle.com
Wed Feb 17 18:19:35 UTC 2016


I have replaced sub, MACC and MACC2 by c++ version (also changed MACC 
from defines to inline functions, so changed call to MACC and t0,t1,t2 
passed by reference) and getting same result, except linux amd64 is 
failing same way now. So it's probably not asm code that's an issue.

I think my C code works because another test we use to measure speed of 
BigInteger operations still has 3x improvement in time and it supposed 
to check the result.


Could it be alloca failing?

btw, Andrew, in sub asm inline, you modify CF (with clc) but didnt use 
"cc" at end of asm to notify compiler about it, not sure if that needed tho.

On 17.02.2016 16:26, Andrew Haley wrote:
> On 02/17/2016 01:22 PM, Vladimir Kempik wrote:
>> It's slightly newer c++ compiler compiling same c++ source.
>> Only obvious difference  is how they process asm inlines. solaris studio
>> compiler is compatible with gcc asm inlines, but some caveats might exist.
> Okay.  I did test this pretty carefully on Solaris studio when I wrote
> it, but I suppose there might have been a compiler-related regression.
>> Right now I plan to replace asm inlines with slower c++ code to see if
>> it matters.
> Fair enough.  Please keep me in the loop.
> Andrew.

More information about the hotspot-compiler-dev mailing list