RFR: 8309893: Integrate ReplicateB/S/I/L/F/D nodes to Replicate node [v2]
Emanuel Peter
epeter at openjdk.org
Wed Oct 25 09:51:45 UTC 2023
On Wed, 25 Oct 2023 09:37:37 GMT, Emanuel Peter <epeter at openjdk.org> wrote:
>> Eric Liu has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains three commits:
>>
>> - small fix
>>
>> Change-Id: I121a8c1ad75e88c0af41f2c1ef00289a3d61f400
>> - Merge jdk:master
>>
>> Change-Id: I4df10ba7290e9af02deeac5a931234a07be7c207
>> - 8309893: Integrate ReplicateB/S/I/L/F/D nodes to Replicate node
>>
>> This patch creates ReplicateNode to replace ReplicateB/S/I/L/F/DNode,
>> like other vector nodes introduced recently, e.g., PopulateIndexNode and
>> ReverseVNode, etc. This refers from:
>> https://mail.openjdk.org/pipermail/panama-dev/2020-April/008484.html
>>
>> After merging these nodes, code will be easier to maintain. E.g.,
>> matching rules can be simplified.
>>
>> Besides AArch64, this patch tries to keep other ad files as the same
>> before, only supplies some necessary predicate. E.g., for matching rules
>> using ReplicateB before, they are now matching Replicate with a new
>> predicate "Matcher::vector_element_basic_type(n) == T_BYTE". This would
>> be easy for review and lower risks.
>>
>> [TEST]
>> x86: Tested with option "-XX:UseAVX=0/1/2/3".
>> AArch64: Tested on SVE machine and Neon machine.
>>
>> Full jtreg passed without new issue.
>>
>> Change-Id: Icb16084e3909177ab302f0ba33c2216c860a5da6
>
> test/hotspot/jtreg/compiler/vectorapi/VectorCompareWithImmTest.java line 130:
>
>> 128:
>> 129: @Test
>> 130: @IR(counts = { IRNode.VMASK_CMP_IMM_I_SVE, ">= 1" })
>
> Is this ok, or rather a downgrade?
> Or maybe you should remove the `I` for int in the name?
What would happen if I were to compare with a type that is larger? For example if I compared the bytes here with the value `1000`?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/14830#discussion_r1371466402
More information about the hotspot-compiler-dev
mailing list