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

Christian Thalinger christian.thalinger at oracle.com
Thu Aug 15 19:40:08 PDT 2013


Do you plan to bump LoopMaxUnroll for AVX2?

-- Chris

On Aug 15, 2013, at 12:26 PM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:

> 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