RFR (XS): 8022993: Convert MAX_UNROLL constant to LoopMaxUnroll C2 flag

Vladimir Kozlov vladimir.kozlov at oracle.com
Thu Aug 15 12:26:32 PDT 2013


With AVX2 you can generate 32 byte vectors in loop but for that we need to unroll 32 times. But I don't want to do it by 
default because if we don't vectorize then a lot of iterations will be done in post-loop and we will get performance 
regression. The flag allows to to adjust unrolling according to your application.

Vladimir

On 8/15/13 12:13 PM, Christian Thalinger wrote:
> I know you've already pushed this but what is the purpose of having a flag for this?  When do we change it?
>
> -- Chris
>
> On Aug 13, 2013, at 5:07 PM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
>
>> http://cr.openjdk.java.net/~kvn/8022993/webrev/
>>
>> C2 has loop max unroll limit hard coded. It limits size of vectors (byte vectors) which are used in AVX instructions.
>> Replace MAX_UNROLL constant with new C2 LoopMaxUnroll flag.
>>
>> Thanks,
>> Vladimir
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>


More information about the hotspot-compiler-dev mailing list