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

Emanuel Peter epeter at openjdk.org
Thu Oct 12 08:54:15 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 incrementally with three additional commits since the last revision:
>> 
>>  - replace ifdef with Matcher::has_match_rule
>>  - fix whitespace
>>  - Disable VerifyAlignVector with warning if AlignVector is disabled
>
> 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 it seems that if I wrap it into `#ifdef ASSERT`, then it is no longer available for `Matcher::has_match_rule(Op_VerifyAlignment)`, both for slowdebug and debug. That's quite confusing. Is it somehow not correctly parsed by whatever processes the AD files?

> src/hotspot/share/opto/compile.cpp line 3670:
> 
>> 3668:   case Op_StoreVector:
>> 3669: #ifdef ASSERT
>> 3670: #ifdef AMD64
> 
> Instead of #ifdef AMD64 you can check `Matcher::has_match_rule(Op_VerifyAlignmen)`

Done

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

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


More information about the hotspot-compiler-dev mailing list