Request for reviews (M): 7121648: Use 3-operands SIMD instructions on x86 with AVX
Tom Rodriguez
tom.rodriguez at oracle.com
Thu Dec 15 11:54:03 PST 2011
On Dec 15, 2011, at 11:42 AM, Vladimir Kozlov wrote:
> 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.
I just think if we're going to start down this path I want to make it more consistent instead of papering over the difference. So I'm ok with the changes since for the most part it will be pure text replacement. You'll probably need to rename things like immXF and immF to be consistent.
tom
>
>> 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