RFR: 8268276: Base64 Decoding optimization for x86 using AVX-512 [v3]

Jatin Bhateja jbhateja at openjdk.java.net
Tue Jun 8 14:17:18 UTC 2021


On Tue, 8 Jun 2021 13:25:00 GMT, Scott Gibbons <github.com+6704669+asgibbons at openjdk.org> wrote:

>> src/hotspot/cpu/x86/stubGenerator_x86_64.cpp line 6239:
>> 
>>> 6237: 
>>> 6238:       __ align(32);
>>> 6239:       __ BIND(L_bruteForce);
>> 
>> Is this alignment needed ? Given that brute force loop is already aligned.
>
> I must be missing something.  How is the brute force loop aligned if not by this directive?  I don't see an alignment anywhere else that could force it.  After the entry(), there are pushes and length comparisons followed by the conditional on VBMI.  The only thing I can guess would be that the jmp aligns, but I see no indication that that occurs.
> 
> Perhaps what you missed was that L_forceLoop is aligned (line 6288).  This is not the same label as L_bruteForce, which is a jump target from within the VBMI conditional (which should be aligned)?  Otherwise, I don't see how L_bruteForce could possibly already be aligned.

Yes, I meant force loop already has alignment so earlier one can  be removed.

-------------

PR: https://git.openjdk.java.net/jdk/pull/4368


More information about the hotspot-compiler-dev mailing list