On Thu, 29 Apr 2021 21:29:03 GMT, Sandhya Viswanathan <sviswanat...@openjdk.org> wrote:
> All the slice and unslice variants that take more than one argument can > benefit from already intrinsic methods on similar lines as slice(origin) and > unslice(origin). > > Changes include: > * Rewrite Vector API slice/unslice using already intrinsic methods > * Fix in library_call.cpp:inline_preconditions_checkIndex() to not modify > control if intrinsification fails > * Vector API conversion tests thresholds adjustment > > Base Performance: > Benchmark (size) Mode Cnt Score Error Units > TestSlice.vectorSliceOrigin 1024 thrpt 5 11763.372 ± 254.580 ops/ms > TestSlice.vectorSliceOriginVector 1024 thrpt 5 599.286 ± 326.770 ops/ms > TestSlice.vectorSliceUnsliceOrigin 1024 thrpt 5 6627.601 ± 22.060 ops/ms > TestSlice.vectorSliceUnsliceOriginVector 1024 thrpt 5 401.858 ± 220.340 ops/ms > TestSlice.vectorSliceUnsliceOriginVectorPart 1024 thrpt 5 421.993 ± 231.703 > ops/ms > > Performance with patch: > Benchmark (size) Mode Cnt Score Error Units > TestSlice.vectorSliceOrigin 1024 thrpt 5 11792.091 ± 37.296 ops/ms > TestSlice.vectorSliceOriginVector 1024 thrpt 5 8388.174 ± 115.886 ops/ms > TestSlice.vectorSliceUnsliceOrigin 1024 thrpt 5 6662.159 ± 8.203 ops/ms > TestSlice.vectorSliceUnsliceOriginVector 1024 thrpt 5 5206.300 ± 43.637 ops/ms > TestSlice.vectorSliceUnsliceOriginVectorPart 1024 thrpt 5 5194.278 ± 13.376 > ops/ms This pull request has now been integrated. Changeset: 23446f1f Author: Sandhya Viswanathan <sviswanat...@openjdk.org> URL: https://git.openjdk.java.net/jdk/commit/23446f1f5ee087376bc1ab89413a011fc52bde1f Stats: 881 lines in 43 files changed: 172 ins; 518 del; 191 mod 8265128: [REDO] Optimize Vector API slice and unslice operations Reviewed-by: psandoz, vlivanov ------------- PR: https://git.openjdk.java.net/jdk/pull/3804