Request for reviews (M): 7121648: Use 3-operands SIMD instructions on x86 with AVX

Vladimir Kozlov vladimir.kozlov at oracle.com
Thu Dec 15 11:42:47 PST 2011


Thank you, Tom

Tom Rodriguez wrote:
> On Dec 15, 2011, at 10:36 AM, Vladimir Kozlov wrote:
> 
>> http://cr.openjdk.java.net/~kvn/7121648/webrev
>>
>> 7121648: Use 3-operands SIMD instructions on x86 with AVX
> 
> adlc.make:
> 
> Can you use $(Platform_arch) instead of $(ARCH)?  I know it's the same but names are more obviously parallel.

Done.

> 
>> VEX prefix converts legacy SSE instructions into 3 operands instructions. Use such instructions in C2 generated code for machines with AVX:
>>
>> vaddsd   XMM2, XMM0, [RSI + #8 + RCX << #3]
>>
>> I also did go ahead and created x86.ad file to collect common 32- and 64-bit mach instructions definitions.
> 
> Instead of duplicating regX and regXD why not just rename regX and refXD to regF and regD and come up with a new name for the FPU regs.  Maybe regFPRF and regFPRD? 

I am fine with renaming FPU registers to regFPRF and regFPRD but it will be a 
lot places in x86_32.ad. If you fine with it I will do renaming.

> Also can you correct the formatting in the new file to have the %{ on the same line?  And remove the // XXX's after the ins_cost.

Done.

> 
> Otherwise it looks fine.

Thanks,
Vladimir

> 
> tom
> 
>> There is slight improvement in performance on AVX machine (full result in bug report):
>>
>>  Benchmark        Samples       Mean     Stdev   %Diff    P   Significant
>>  scimark_small        20     1031.87      4.68    2.85 0.000          Yes
>>    LU                 20     1966.82     21.36    6.18 0.000          Yes
>>    FFT                20      658.28     10.33    4.91 0.000          Yes
>>    Monte              20      545.31      2.93   -0.37 0.179            *
>>    SOR                20      994.96      0.67   -0.00 0.910            *
>>    Sparse             20      993.99      1.49   -0.02 0.629            *
>>
>> Thanks,
>> Vladimir
> 


More information about the hotspot-compiler-dev mailing list