RFR: 8277793: Support vector F2I and D2L cast operations for X86
Jatin Bhateja
jbhateja at openjdk.java.net
Wed Nov 24 18:57:22 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
-------------
Commit messages:
- 8277793: Support vector F2I and D2L cast operations for X86
Changes: https://git.openjdk.java.net/jdk/pull/6544/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=6544&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8277793
Stats: 172 lines in 5 files changed: 166 ins; 1 del; 5 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