RFR: 8263058: Optimize vector shift with zero shift count [v3]
Tobias Hartmann
thartmann at openjdk.java.net
Tue Mar 16 09:27:10 UTC 2021
On Tue, 16 Mar 2021 07:27:29 GMT, Eric Liu <github.com+10482586+theRealELiu at openjdk.org> wrote:
>> Like scalar shift, vector shift could do nothing when shift count is
>> zero.
>>
>> This patch implements the 'Identity' method for all kinds of vector
>> shift nodes to optimize out 'ShiftVCntNode 0', which is typically a
>> redundant 'mov' in final generated code like below:
>>
>> add x17, x12, x14
>> ldr q16, [x17, #16]
>> mov v16.16b, v16.16b
>> add x14, x13, x14
>> str q16, [x14, #16]
>>
>> With this patch, the code above could be optimized as below:
>>
>> add x17, x12, x14
>> ldr q16, [x17, #16]
>> add x14, x13, x14
>> str q16, [x14, #16]
>>
>> [TESTS]
>> compiler/vectorapi/TestVectorShiftImm.java, jdk/incubator/vector,
>> hotspot::tier1 passed without new failure.
>
> Eric Liu has updated the pull request incrementally with one additional commit since the last revision:
>
> small fix
>
> Change-Id: I5f9bdfb9468263c2d13e240958fd68b8a3e0e7a9
Looks good to me.
-------------
Marked as reviewed by thartmann (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/2911
More information about the hotspot-compiler-dev
mailing list