RFR: 8310190: C2 SuperWord: AlignVector is broken, generates misaligned packs [v21]

Emanuel Peter epeter at openjdk.org
Wed Dec 6 09:39:46 UTC 2023


On Wed, 6 Dec 2023 02:48:31 GMT, Fei Gao <fgao at openjdk.org> wrote:

>> Emanuel Peter has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Suggestions by Christian for naming
>
> src/hotspot/share/opto/superword.cpp line 1824:
> 
>> 1822:   //   C_invar % abs(C_pre) = 0                                          (3b*)
>> 1823:   //
>> 1824:   // to ensure that the variable term for init and invar can be aligned with the C_pre term.
> 
> How about illustrating it more directly? Like:
> 
>    // Only when the variable terms for init and invar are aligned with the C_pre term, i.e.,
>   //   C_init  % abs(C_pre) = 0                                          (3a*)
>   //   C_invar % abs(C_pre) = 0                                          (3b*)
>   // in what follows, we can ensure that the C_pre term can align the C_const, C_init and C_invar terms,
>   // by adjusting the pre-loop limit (pre_iter).

Your comment prompted me to rewrite the proof a bit all the way down. I think things are now a bit more explicit. Let me know what you think!

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

PR Review Comment: https://git.openjdk.org/jdk/pull/14785#discussion_r1416999976


More information about the hotspot-compiler-dev mailing list