8213754: PPC64: Add Intrinsics for isDigit/isLowerCase/isUpperCase/isWhitespace
Doerr, Martin
martin.doerr at sap.com
Mon Nov 19 16:47:28 UTC 2018
Hi Michihiro,
first of all, thanks for working on Power9 optimizations. Please note that we don't have a machine, yet. So other people will have to test.
I think it may be problematic to insert a slow path by "generate_method_call_static". This may be a performance disadvantage for some users of other encodings because your intrinsics prevent inlining and further optimizations.
Would it be possible to introduce more fine-grained intrinsics such that the "slow" path is outside of them?
Maybe you can factor out as in the following example?
if (latin1) return isLatin1Digit(codePoint);
with isLatin1Digit as HotSpotIntrinsicCandidate.
I can't judge if this is needed, but I think this should be discussed first before going into the details.
Best regards,
Martin
From: Michihiro Horie <HORIE at jp.ibm.com>
Sent: Freitag, 16. November 2018 12:53
To: hotspot-compiler-dev at openjdk.java.net; ppc-aix-port-dev at openjdk.java.net
Cc: Doerr, Martin <martin.doerr at sap.com>; Simonis, Volker <volker.simonis at sap.com>; Lindenmaier, Goetz <goetz.lindenmaier at sap.com>; Gustavo Romero <gromero at linux.vnet.ibm.com>
Subject: RFR: 8213754: PPC64: Add Intrinsics for isDigit/isLowerCase/isUpperCase/isWhitespace
Dear all,
Would you please review following change?
Bug: https://bugs.openjdk.java.net/browse/JDK-8213754
Webrev: http://cr.openjdk.java.net/~mhorie/8213754/webrev.00
This change includes the intrinsics of Character isDigit, isLowerCase, isUpperCase, and isWhitespace to support the Latin1 block using POWER9's instructions cmprb and cmpeqb. The cmprb enables to compare a character with 1 or 2 ranged bytes, while the cmpeqb compares one with 1 to 8 values. Simple micro benchmark attached showed improvements by 20-40%.
(See attached file: Latin1Test.java)
Best regards,
--
Michihiro,
IBM Research - Tokyo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20181119/55ec5c92/attachment.html>
More information about the ppc-aix-port-dev
mailing list