RFR: 8342393: Promote commutative vector IR node sharing [v18]

Jatin Bhateja jbhateja at openjdk.org
Fri Jan 31 07:10:51 UTC 2025


On Mon, 27 Jan 2025 14:40:01 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

>> Jatin Bhateja has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Review comments resolutions.
>
> I'm getting failed IR rules now:
> 
> Failed IR Rules (1) of Methods (1)
> ----------------------------------
> 1) Method "public void compiler.vectorapi.VectorCommutativeOperSharingTest.testVectorIRSharing1(int)" - [Failed IR rules: 1]:
>    * @IR rule 1: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={}, counts={"_#V#ADD_VI#_", "_ at any", " 2 ", "_#V#MUL_VI#_", "_ at any", " 2 ", "_#V#MAX_VI#_", "_ at any", " 2 ", "_#V#MIN_VI#_", "_ at any", " 2 "}, failOn={}, applyIfPlatform={}, applyIfPlatformOr={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
>      > Phase "PrintIdeal":
>        - counts: Graph contains wrong number of nodes:
>          * Constraint 2: "(\\d+(\\s){2}(MulVI.*)+(\\s){2}===.*vector[A-Za-z]<I,\\d+>)"
>            - Failed comparison: [found] 0 = 2 [given]
>            - No nodes matched!
>          * Constraint 3: "(\\d+(\\s){2}(MaxV.*)+(\\s){2}===.*vector[A-Za-z]<I,\\d+>)"
>            - Failed comparison: [found] 0 = 2 [given]
>            - No nodes matched!
>          * Constraint 4: "(\\d+(\\s){2}(MinV.*)+(\\s){2}===.*vector[A-Za-z]<I,\\d+>)"
>            - Failed comparison: [found] 0 = 2 [given]
>            - No nodes matched!
> 
> With flags: `-XX:UseAVX=0 -XX:UseSSE=3`. Machine has `AVX2`. I suspect you need to add some CPU feature restriction on the IR rule.

Hi @eme64 , I have lowered the feature check to IR annotation for now.

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

PR Comment: https://git.openjdk.org/jdk/pull/22863#issuecomment-2626454032


More information about the hotspot-compiler-dev mailing list