RFR: 8257436: [aarch64] Regressions in ArrayCopyUnalignedDst.testByte/testChar for 65-78 bytes when UseSIMDForMemoryOps is on [v3]

Evgeny Astigeevich github.com+42899633+eastig at openjdk.java.net
Wed Dec 2 15:02:09 UTC 2020


> Copying data in range 65 - 80 bytes with
> ldpq
> ldpq 
> ldp
> stpq
> stpq
> stp
> is faster than with
> ldpq
> ldpq
> ldpq
> stpq
> stpq
> stpq
> when pointers involved are not properly aligned. This mostly affects byte and char arraycopy. 
> This patch fixes regressions of ArrayCopyUnalignedDst.testByte/testChar when UseSIMDForMemoryOps is on.
> See the attached results for performance data
> [test_byte_results.txt](https://github.com/openjdk/jdk/files/5629676/test_byte_results.txt)
> [test_char_results.txt](https://github.com/openjdk/jdk/files/5629673/test_char_results.txt)

Evgeny Astigeevich has refreshed the contents of this pull request, and previous commits have been removed. The incremental views will show differences compared to the previous content of the PR. The pull request contains one new commit since the last revision:

  8257436: [aarch64] Regressions in ArrayCopyUnalignedDst.testByte/testChar for 65-78 bytes when UseSIMDForMemoryOps is on
  
  On Graviton 2 arraycopy of data range 65 - 78 bytes with the sequence
  of 'ldpq,ldpq,ldp,stpq,stpq,stp' is faster than with the sequence of
  'ldpq,ldpq,ldpq,stpq,stpq,stpq' for ArrayCopyUnaligned.

-------------

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/1558/files
  - new: https://git.openjdk.java.net/jdk/pull/1558/files/3d9d9195..a9019cc4

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=1558&range=02
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=1558&range=01-02

  Stats: 7 lines in 1 file changed: 7 ins; 0 del; 0 mod
  Patch: https://git.openjdk.java.net/jdk/pull/1558.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/1558/head:pull/1558

PR: https://git.openjdk.java.net/jdk/pull/1558


More information about the hotspot-compiler-dev mailing list