RFR: 8263058: Optimize vector shift with zero shift count
Eric Liu
github.com+10482586+therealeliu at openjdk.java.net
Wed Mar 10 10:50:20 UTC 2021
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.
-------------
Commit messages:
- 8263058: Optimize vector shift with zero shift count
Changes: https://git.openjdk.java.net/jdk/pull/2911/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2911&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8263058
Stats: 73 lines in 4 files changed: 21 ins; 26 del; 26 mod
Patch: https://git.openjdk.java.net/jdk/pull/2911.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/2911/head:pull/2911
PR: https://git.openjdk.java.net/jdk/pull/2911
More information about the hotspot-dev
mailing list