On Mon, 6 Jun 2022 10:40:45 GMT, Jatin Bhateja <jbhat...@openjdk.org> wrote:
>> Xiaohong Gong has updated the pull request with a new target base due to a >> merge or a rebase. The pull request now contains five commits: >> >> - Merge branch 'jdk:master' into JDK-8283667 >> - Use integer constant for offsetInRange all the way through >> - Rename "use_predicate" to "needs_predicate" >> - Rename the "usePred" to "offsetInRange" >> - 8283667: [vectorapi] Vectorization for masked load with IOOBE with >> predicate feature > > test/micro/org/openjdk/bench/jdk/incubator/vector/LoadMaskedIOOBEBenchmark.java > line 97: > >> 95: public void byteLoadArrayMaskIOOBE() { >> 96: for (int i = 0; i < inSize; i += bspecies.length()) { >> 97: VectorMask<Byte> mask = VectorMask.fromArray(bspecies, m, i); > > For other case "if (offset >= 0 && offset <= (a.length - species.length())) > )" we are anyways intrinsifying, should we limit this micro to work only for > newly optimized case. Yeah, thanks and it's really a good suggestion to limit this benchmark only for the IOOBE cases. I locally modified the tests to make sure only the IOOBE case happens and the results show good as well. But do you think it's better to keep as it is since we can also see the performance of the common cases to make sure no regressions happen? As the current benchmarks can also show the performance gain by this PR. ------------- PR: https://git.openjdk.java.net/jdk/pull/8035