< prev index next >

test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Merge.java

Print this page
rev 55594 : tests and benchmark changes

*** 23,33 **** * questions. */ package benchmark.jdk.incubator.vector; import jdk.incubator.vector.*; ! import jdk.incubator.vector.IntVector.IntSpecies; import org.openjdk.jmh.annotations.*; import java.util.concurrent.TimeUnit; import static org.junit.jupiter.api.Assertions.*; --- 23,33 ---- * questions. */ package benchmark.jdk.incubator.vector; import jdk.incubator.vector.*; ! import jdk.incubator.vector.Vector.Species; import org.openjdk.jmh.annotations.*; import java.util.concurrent.TimeUnit; import static org.junit.jupiter.api.Assertions.*;
*** 83,111 **** @Benchmark public void merge64_512() { merge(I64, I256); } ! IntVector merge(IntSpecies from, IntSpecies to, int idx) { assert from.length() <= to.length(); int vlenFrom = from.length(); int vlenTo = to.length(); if (vlenFrom == vlenTo) { return IntVector.fromArray(from, in, idx); } else { ! var stepDown = (IntSpecies) narrow(to); int mid = stepDown.length(); var lo = merge(from, stepDown, idx); var hi = merge(from, stepDown, idx + mid); return join(stepDown, to, lo, hi); } } ! void merge(IntSpecies from, IntSpecies to) { int vlenTo = to.length(); for (int i = 0; i < in.length; i += vlenTo) { var r = merge(from, to, i); r.intoArray(out, i); } --- 83,111 ---- @Benchmark public void merge64_512() { merge(I64, I256); } ! IntVector merge(Species<Integer> from, Species<Integer> to, int idx) { assert from.length() <= to.length(); int vlenFrom = from.length(); int vlenTo = to.length(); if (vlenFrom == vlenTo) { return IntVector.fromArray(from, in, idx); } else { ! var stepDown = narrow(to); int mid = stepDown.length(); var lo = merge(from, stepDown, idx); var hi = merge(from, stepDown, idx + mid); return join(stepDown, to, lo, hi); } } ! void merge(Species<Integer> from, Species<Integer> to) { int vlenTo = to.length(); for (int i = 0; i < in.length; i += vlenTo) { var r = merge(from, to, i); r.intoArray(out, i); }
< prev index next >