RFR: 8277793: Support vector F2I and D2L cast operations for X86 [v4]

Jatin Bhateja jbhateja at openjdk.java.net
Wed Dec 1 18:06:58 UTC 2021


> - JDK-8275317 extended auto-vectorizer to infer Vector Cast operations if source and destination primitive type have same size.
> - This patch adds the backend support for vector CastF2I and CaseD2L on X86 AVX512 and legacy targets.
> 
> Following are the performance measurements of an existing JMH benchmark (test/micro/org/openjdk/bench/vm/compiler/TypeVectorOperations.java)
> 
> System Configuration :  Intel(R) Xeon(R) Platinum 8380 CPU @ 2.30GHz (40C 2S Icelake Server)
> 
> BENCHMARK | SIZE | BASELINE (AVX3) ns/op | WithOpt (AVX3) ns/op | Gain AVX3(baseline/opt) | BASELINE (AVX2) ns/op | WithOpt (AVX2) ns/op | Gain AVX2 (baseline/opt)
> -- | -- | -- | -- | -- | -- | -- | --
> TypeVectorOperations.TypeVectorOperationsSuperWord.convert_d2l | 512.00 | 256.26 | 77.50 | 3.31 | 275.49 | 275.65 | 1.00
> TypeVectorOperations.TypeVectorOperationsSuperWord.convert_d2l | 1024.00 | 501.87 | 150.35 | 3.34 | 540.47 | 541.22 | 1.00
> TypeVectorOperations.TypeVectorOperationsSuperWord.convert_d2l | 2048.00 | 993.05 | 293.23 | 3.39 | 1070.56 | 1070.14 | 1.00
> TypeVectorOperations.TypeVectorOperationsSuperWord.convert_f2i | 512.00 | 227.83 | 39.36 | 5.79 | 248.25 | 45.01 | 5.52
> TypeVectorOperations.TypeVectorOperationsSuperWord.convert_f2i | 1024.00 | 449.70 | 77.88 | 5.77 | 487.33 | 86.15 | 5.66
> TypeVectorOperations.TypeVectorOperationsSuperWord.convert_f2i | 2048.00 | 884.95 | 149.58 | 5.92 | 956.58 | 152.45 | 6.27
> 
> Kindly review and share your feedback.
> 
> Best Regards,
> Jatin

Jatin Bhateja has updated the pull request incrementally with one additional commit since the last revision:

  8277793: Review comments resolution.

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/6544/files
  - new: https://git.openjdk.java.net/jdk/pull/6544/files/9f784eb9..95ea1812

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

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

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


More information about the hotspot-compiler-dev mailing list