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

Emanuel Peter epeter at openjdk.org
Thu Oct 12 14:10:21 UTC 2023


On Fri, 6 Oct 2023 23:29:53 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:

>> Emanuel Peter has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 58 commits:
>> 
>>  - Merge branch 'master' into JDK-8311586
>>  - add comments for must_verify_alignment
>>  - fixed up verify_vector_alignment in ad file
>>  - rename VerifyAlignment with VerifyVectorAlignment
>>  - replace ifdef with Matcher::has_match_rule
>>  - fix whitespace
>>  - Disable VerifyAlignVector with warning if AlignVector is disabled
>>  - fix up TestVectorizationMismatchedAccess.java
>>  - allow/handle varialbe init and invar for AlignVector
>>  - manual merge
>>  - ... and 48 more: https://git.openjdk.org/jdk/compare/7633a766...598dbea9
>
> src/hotspot/cpu/x86/x86.ad line 8974:
> 
>> 8972: 
>> 8973: #ifdef _LP64
>> 8974: instruct verify_alignment(rRegP r, rRegL mask, rRegP tmp) %{
> 
> this should be also under #ifdef ASSERT

@vnkozlov @TobiHartmann As we just found out: adlc is never passed the `ASSERT` flag in its input.
It seems we would have to set it in `make/hotspot/gensrc/GensrcAdlc.gmk` just like `ADLCFLAGS += -DLINUX=1 -D_GNU_SOURCE=1`.

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

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


More information about the hotspot-compiler-dev mailing list