jdk icon indicating copy to clipboard operation
jdk copied to clipboard

8328264: AArch64: remove UseNeon condition in CRC32 intrinsic

Open Hamlin-Li opened this issue 11 months ago • 4 comments

Hi, Can you review the simple patch? Thanks

FYI: Discussed https://github.com/openjdk/jdk/pull/18294#issuecomment-1997727704, this usage of UseNeon flag should be removed, as neon is working by default, and UseNeon could be false, so this means the intrinsic code of Neon can be skipped unexpected.

Performance

Tested jmh TestCRC32 with "-XX:-UseCRC32 -XX:-UseCryptoPmullForCRC32" Before

Benchmark                    (count)  Mode  Cnt      Score   Error  Units
TestCRC32.testCRC32Update         64  avgt    2     53.696          ns/op
TestCRC32.testCRC32Update        128  avgt    2    104.942          ns/op
TestCRC32.testCRC32Update        256  avgt    2    207.147          ns/op
TestCRC32.testCRC32Update        512  avgt    2    411.179          ns/op
TestCRC32.testCRC32Update       2048  avgt    2   1608.388          ns/op
TestCRC32.testCRC32Update      16384  avgt    2  12763.513          ns/op
TestCRC32.testCRC32Update      65536  avgt    2  51024.246          ns/op

After

Benchmark                    (count)  Mode  Cnt      Score   Error  Units
TestCRC32.testCRC32Update         64  avgt    2     40.172          ns/op
TestCRC32.testCRC32Update        128  avgt    2     56.754          ns/op
TestCRC32.testCRC32Update        256  avgt    2     89.743          ns/op
TestCRC32.testCRC32Update        512  avgt    2    156.726          ns/op
TestCRC32.testCRC32Update       2048  avgt    2    579.776          ns/op
TestCRC32.testCRC32Update      16384  avgt    2   4624.023          ns/op
TestCRC32.testCRC32Update      65536  avgt    2  18505.180          ns/op

Progress

  • [ ] Change must be properly reviewed (1 review required, with at least 1 Reviewer)
  • [x] Change must not contain extraneous whitespace
  • [x] Commit message must refer to an issue

Issue

  • JDK-8328264: AArch64: remove UseNeon condition in CRC32 intrinsic (Enhancement - P4)

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/18328/head:pull/18328
$ git checkout pull/18328

Update a local copy of the PR:
$ git checkout pull/18328
$ git pull https://git.openjdk.org/jdk.git pull/18328/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 18328

View PR using the GUI difftool:
$ git pr show -t 18328

Using diff file

Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/18328.diff

Webrev

Link to Webrev Comment

Hamlin-Li avatar Mar 15 '24 15:03 Hamlin-Li

:wave: Welcome back mli! A progress list of the required criteria for merging this PR into master will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.

bridgekeeper[bot] avatar Mar 15 '24 15:03 bridgekeeper[bot]

@Hamlin-Li This change now passes all automated pre-integration checks.

ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details.

After integration, the commit message for the final commit will be:

8328264: AArch64: remove UseNeon condition in CRC32 intrinsic

Reviewed-by: aph

You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed.

At the time when this comment was updated there had been 79 new commits pushed to the master branch:

  • 9214a62f26917162b3ff2144a1f3f9cde3b808fa: 8328341: Remove deprecated per-thread compiler stats in sun.management
  • 132921683bc9860ce2ba89729dcd989b10b89aa2: 8328261: public lookup fails with IllegalAccessException when used while module system is being initialized
  • 3b305d502b84b7f1cfa378a9c274ef0b9ee52524: 8313306: More sensible memory reservation logging
  • f140eb4c3a47e1479d62fe1eef16bbbea92892bc: 8297879: javadoc link to preview JEP 1000 has grouping character comma
  • 5f2a92d954ce485d372c3cb3e5118556b1d076c3: 8328244: Convert javax/swing/JSlider/6742358/bug6742358.java applet test to main
  • 2094ff3c7ad829355bf13760d9a19b37649b3517: 8328279: Convert java/awt/Cursor/CursorOverlappedPanelsTest test to main
  • db4842c9d9696af311762cb9c809952c55b34623: 8328364: Remove redundant fields in 'BOTConstants'
  • c01095c0c9d4de1995d079be3356468196d9a25e: 8328262: Convert javax/swing/JSplitPane/8132123/bug8132123.java applet test to main
  • f1c69ccadb83306d1bb4860ff460a253af99643c: 8289822: G1: Make concurrent mark code owner of TAMSes
  • 5b6b514441fcbbaa210e2cad08ce2704fdf38191: 8325362: Allow to create a simple in-memory input JavaFileObject
  • ... and 69 more: https://git.openjdk.org/jdk/compare/c879627dbd7e9295d44f19ef237edb5de10805d5...master

As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details.

➡️ To integrate this PR with the above commit message to the master branch, type /integrate in a new comment.

openjdk[bot] avatar Mar 15 '24 15:03 openjdk[bot]

@Hamlin-Li The following label will be automatically applied to this pull request:

  • hotspot

When this pull request is ready to be reviewed, an "RFR" email will be sent to the corresponding mailing list. If you would like to change these labels, use the /label pull request command.

openjdk[bot] avatar Mar 15 '24 15:03 openjdk[bot]

Webrevs

mlbridge[bot] avatar Mar 15 '24 15:03 mlbridge[bot]

Thanks @theRealAph for your reviewing!

/integrate

Hamlin-Li avatar Mar 19 '24 17:03 Hamlin-Li

Going to push as commit 9ca4ae3d3b746f1d75036d189ff98f02b73b948f. Since your change was applied there have been 79 commits pushed to the master branch:

  • 9214a62f26917162b3ff2144a1f3f9cde3b808fa: 8328341: Remove deprecated per-thread compiler stats in sun.management
  • 132921683bc9860ce2ba89729dcd989b10b89aa2: 8328261: public lookup fails with IllegalAccessException when used while module system is being initialized
  • 3b305d502b84b7f1cfa378a9c274ef0b9ee52524: 8313306: More sensible memory reservation logging
  • f140eb4c3a47e1479d62fe1eef16bbbea92892bc: 8297879: javadoc link to preview JEP 1000 has grouping character comma
  • 5f2a92d954ce485d372c3cb3e5118556b1d076c3: 8328244: Convert javax/swing/JSlider/6742358/bug6742358.java applet test to main
  • 2094ff3c7ad829355bf13760d9a19b37649b3517: 8328279: Convert java/awt/Cursor/CursorOverlappedPanelsTest test to main
  • db4842c9d9696af311762cb9c809952c55b34623: 8328364: Remove redundant fields in 'BOTConstants'
  • c01095c0c9d4de1995d079be3356468196d9a25e: 8328262: Convert javax/swing/JSplitPane/8132123/bug8132123.java applet test to main
  • f1c69ccadb83306d1bb4860ff460a253af99643c: 8289822: G1: Make concurrent mark code owner of TAMSes
  • 5b6b514441fcbbaa210e2cad08ce2704fdf38191: 8325362: Allow to create a simple in-memory input JavaFileObject
  • ... and 69 more: https://git.openjdk.org/jdk/compare/c879627dbd7e9295d44f19ef237edb5de10805d5...master

Your commit was automatically rebased without conflicts.

openjdk[bot] avatar Mar 19 '24 17:03 openjdk[bot]

@Hamlin-Li Pushed as commit 9ca4ae3d3b746f1d75036d189ff98f02b73b948f.

:bulb: You may see a message that your pull request was closed with unmerged commits. This can be safely ignored.

openjdk[bot] avatar Mar 19 '24 17:03 openjdk[bot]