> This patch transforms '(x >>> rshift) + (x << lshift)' into
> 'RotateRight(x, rshift)' during GVN phase when both the shift exponents > are constants and their sum equals to the number of bits for the type > of shift base. > > This patch implements some new match rules for AArch64 instructions > which can take ROR as the optional shift. Such instructions are 'and', > 'or', 'eor', 'eon', 'bic' and 'orn'. > > ror w11, w2, #5 > eor w0, w1, w11 > > With this patch, above code could be optimized to below: > > eor w0, w1, w2, ror #5 > > Finally, the patch refactors TestRotate.java[1][2]. > > Tested jtreg TestRotate.java, hotspot::hotspot_all_no_apps, > jdk::jdk_core, langtools::tier1. > > [1] https://bugs.openjdk.java.net/browse/JDK-8252776 > [2] https://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2020-September/039911.html Eric Liu has updated the pull request incrementally with one additional commit since the last revision: Add null check Change-Id: I18dda4a01154bce72fd4025685fa0721263092ce ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/1858/files - new: https://git.openjdk.java.net/jdk/pull/1858/files/492f4ca4..93577236 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=1858&range=03 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=1858&range=02-03 Stats: 22 lines in 1 file changed: 4 ins; 0 del; 18 mod Patch: https://git.openjdk.java.net/jdk/pull/1858.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/1858/head:pull/1858 PR: https://git.openjdk.java.net/jdk/pull/1858 |
On Tue, 23 Feb 2021 08:24:58 GMT, Eric Liu <[hidden email]> wrote:
>> This patch transforms '(x >>> rshift) + (x << lshift)' into >> 'RotateRight(x, rshift)' during GVN phase when both the shift exponents >> are constants and their sum equals to the number of bits for the type >> of shift base. >> >> This patch implements some new match rules for AArch64 instructions >> which can take ROR as the optional shift. Such instructions are 'and', >> 'or', 'eor', 'eon', 'bic' and 'orn'. >> >> ror w11, w2, #5 >> eor w0, w1, w11 >> >> With this patch, above code could be optimized to below: >> >> eor w0, w1, w2, ror #5 >> >> Finally, the patch refactors TestRotate.java[1][2]. >> >> Tested jtreg TestRotate.java, hotspot::hotspot_all_no_apps, >> jdk::jdk_core, langtools::tier1. >> >> [1] https://bugs.openjdk.java.net/browse/JDK-8252776 >> [2] https://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2020-September/039911.html > > Eric Liu has updated the pull request incrementally with one additional commit since the last revision: > > Add null check > > Change-Id: I18dda4a01154bce72fd4025685fa0721263092ce Shared code looks good to me. ------------- Marked as reviewed by roland (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/1858 |
On Tue, 23 Feb 2021 08:46:10 GMT, Roland Westrelin <[hidden email]> wrote:
>> Eric Liu has updated the pull request incrementally with one additional commit since the last revision: >> >> Add null check >> >> Change-Id: I18dda4a01154bce72fd4025685fa0721263092ce > > Shared code looks good to me. Thanks for your review. I will integrate it after some tests were finished. ------------- PR: https://git.openjdk.java.net/jdk/pull/1858 |
Free forum by Nabble | Edit this page |