-
Notifications
You must be signed in to change notification settings - Fork 720
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AArch64: Inline StringUTF16.compress([CI[BII)I #20218
Conversation
Jenkins test sanity alinux64,amac jdk17 |
0d9d9b5
to
5d6b5fc
Compare
Jenkins test sanity alinux64,amac jdk11 |
5d6b5fc
to
9e1e82f
Compare
Jenkins test sanity alinux64,amac jdk17 |
Jenkins test sanity amac jdk11 |
This method is used only in Java 17+. |
The Java method copies elements of a The loop in the vectorized code loads 16 elements from the |
For Z we can borrow some logic / refactor code from [1] with some changes to handle return value, which was used to accelerate implEncode* intrinsics [2]. @knn-k Let me know if you want to take a crack at this / need some help from Z team. [1]. https://github.com/eclipse/omr/blob/9b3e65e264a66efca05c8ab283a81686ef03c876/compiler/z/codegen/OMRTreeEvaluator.cpp#L15390 |
This commit recognizes StringUTF16.compress([CI[BII)I, and generates inlined code for AArch64.
9e1e82f
to
8179967
Compare
Jenkins test sanity alinux64,amac jdk11,jdk17 |
I updated the code:
|
Jenkins compile alinux64 jdk8 |
Because My other comment is around testing and how you ensured the different sections (i.e., source array lengths) of your intrinsic were exercised. It's worth creating a unit test if one doesn't already exist. Otherwise, the actual logic itself looks fine. |
I wrote a program and used it for making sure that the |
This commit is superseded by #20406 and eclipse-omr/omr#7499 that implement arraytranslateTRTO255. |
This commit recognizes StringUTF16.compress([CI[BII)I, and generates inlined code for AArch64.