RFR: 8287697: Limit auto vectorization to 32-byte vector on Cascade Lake [v4]

Sandhya Viswanathan sviswanathan at openjdk.java.net
Thu Jun 2 17:49:04 UTC 2022


> We observe ~20% regression in SPECjvm2008 mpegaudio sub benchmark on Cascade Lake with Default vs -XX:UseAVX=2.
> The performance of all the other non-startup sub benchmarks of SPECjvm2008 is within +/- 5%. 
> The performance regression is due to auto-vectorization of small loops. 
> We don’t have AVX3Threshold consideration in auto-vectorization. 
> The performance regression in mpegaudio can be recovered by limiting auto-vectorization to 32-byte vectors.
> 
> This PR limits auto-vectorization to 32-byte vectors by default on Cascade Lake. Users can override this by either setting -XX:UseAVX=3 or -XX:SuperWordMaxVectorSize=64 on JVM command line.
> 
> Please review.
> 
> Best Regard,
> Sandhya

Sandhya Viswanathan has updated the pull request incrementally with one additional commit since the last revision:

  Review comment resolution

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/8877/files
  - new: https://git.openjdk.java.net/jdk/pull/8877/files/e8ea837a..42085160

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

  Stats: 8 lines in 2 files changed: 0 ins; 3 del; 5 mod
  Patch: https://git.openjdk.java.net/jdk/pull/8877.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/8877/head:pull/8877

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


More information about the hotspot-dev mailing list