--- old/test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Short256Vector.java 2019-04-26 14:57:31.547881200 -0700 +++ new/test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Short256Vector.java 2019-04-26 14:57:30.959380700 -0700 @@ -24,6 +24,7 @@ package benchmark.jdk.incubator.vector; import jdk.incubator.vector.Vector; +import jdk.incubator.vector.VectorMask; import jdk.incubator.vector.VectorShape; import jdk.incubator.vector.VectorSpecies; import jdk.incubator.vector.VectorShuffle; @@ -321,8 +322,87 @@ + @Benchmark + public void shiftLeft(Blackhole bh) { + short[] a = fa.apply(SPECIES.length()); + short[] b = fb.apply(SPECIES.length()); + short[] r = fr.apply(SPECIES.length()); + + for (int ic = 0; ic < INVOC_COUNT; ic++) { + for (int i = 0; i < a.length; i += SPECIES.length()) { + ShortVector av = ShortVector.fromArray(SPECIES, a, i); + ShortVector bv = ShortVector.fromArray(SPECIES, b, i); + av.shiftLeft(bv).intoArray(r, i); + } + } + + bh.consume(r); + } + + + + @Benchmark + public void shiftLeftMasked(Blackhole bh) { + short[] a = fa.apply(SPECIES.length()); + short[] b = fb.apply(SPECIES.length()); + short[] r = fr.apply(SPECIES.length()); + boolean[] mask = fm.apply(SPECIES.length()); + VectorMask vmask = VectorMask.fromValues(SPECIES, mask); + + for (int ic = 0; ic < INVOC_COUNT; ic++) { + for (int i = 0; i < a.length; i += SPECIES.length()) { + ShortVector av = ShortVector.fromArray(SPECIES, a, i); + ShortVector bv = ShortVector.fromArray(SPECIES, b, i); + av.shiftLeft(bv, vmask).intoArray(r, i); + } + } + + bh.consume(r); + } + + + + + + + + @Benchmark + public void shiftRight(Blackhole bh) { + short[] a = fa.apply(SPECIES.length()); + short[] b = fb.apply(SPECIES.length()); + short[] r = fr.apply(SPECIES.length()); + + for (int ic = 0; ic < INVOC_COUNT; ic++) { + for (int i = 0; i < a.length; i += SPECIES.length()) { + ShortVector av = ShortVector.fromArray(SPECIES, a, i); + ShortVector bv = ShortVector.fromArray(SPECIES, b, i); + av.shiftRight(bv).intoArray(r, i); + } + } + + bh.consume(r); + } + + + + @Benchmark + public void shiftRightMasked(Blackhole bh) { + short[] a = fa.apply(SPECIES.length()); + short[] b = fb.apply(SPECIES.length()); + short[] r = fr.apply(SPECIES.length()); + boolean[] mask = fm.apply(SPECIES.length()); + VectorMask vmask = VectorMask.fromValues(SPECIES, mask); + for (int ic = 0; ic < INVOC_COUNT; ic++) { + for (int i = 0; i < a.length; i += SPECIES.length()) { + ShortVector av = ShortVector.fromArray(SPECIES, a, i); + ShortVector bv = ShortVector.fromArray(SPECIES, b, i); + av.shiftRight(bv, vmask).intoArray(r, i); + } + } + bh.consume(r); + } @@ -330,21 +410,60 @@ + @Benchmark + public void shiftArithmeticRight(Blackhole bh) { + short[] a = fa.apply(SPECIES.length()); + short[] b = fb.apply(SPECIES.length()); + short[] r = fr.apply(SPECIES.length()); + for (int ic = 0; ic < INVOC_COUNT; ic++) { + for (int i = 0; i < a.length; i += SPECIES.length()) { + ShortVector av = ShortVector.fromArray(SPECIES, a, i); + ShortVector bv = ShortVector.fromArray(SPECIES, b, i); + av.shiftArithmeticRight(bv).intoArray(r, i); + } + } + bh.consume(r); + } @Benchmark - public void aShiftRShift(Blackhole bh) { + public void shiftArithmeticRightMasked(Blackhole bh) { short[] a = fa.apply(SPECIES.length()); short[] b = fb.apply(SPECIES.length()); short[] r = fr.apply(SPECIES.length()); + boolean[] mask = fm.apply(SPECIES.length()); + VectorMask vmask = VectorMask.fromValues(SPECIES, mask); for (int ic = 0; ic < INVOC_COUNT; ic++) { for (int i = 0; i < a.length; i += SPECIES.length()) { ShortVector av = ShortVector.fromArray(SPECIES, a, i); - av.aShiftR((int)b[i]).intoArray(r, i); + ShortVector bv = ShortVector.fromArray(SPECIES, b, i); + av.shiftArithmeticRight(bv, vmask).intoArray(r, i); + } + } + + bh.consume(r); + } + + + + + + + + @Benchmark + public void shiftLeftShift(Blackhole bh) { + short[] a = fa.apply(SPECIES.length()); + short[] b = fb.apply(SPECIES.length()); + short[] r = fr.apply(SPECIES.length()); + + for (int ic = 0; ic < INVOC_COUNT; ic++) { + for (int i = 0; i < a.length; i += SPECIES.length()) { + ShortVector av = ShortVector.fromArray(SPECIES, a, i); + av.shiftLeft((int)b[i]).intoArray(r, i); } } @@ -354,7 +473,7 @@ @Benchmark - public void aShiftRMaskedShift(Blackhole bh) { + public void shiftLeftMaskedShift(Blackhole bh) { short[] a = fa.apply(SPECIES.length()); short[] b = fb.apply(SPECIES.length()); short[] r = fr.apply(SPECIES.length()); @@ -364,7 +483,7 @@ for (int ic = 0; ic < INVOC_COUNT; ic++) { for (int i = 0; i < a.length; i += SPECIES.length()) { ShortVector av = ShortVector.fromArray(SPECIES, a, i); - av.aShiftR((int)b[i], vmask).intoArray(r, i); + av.shiftLeft((int)b[i], vmask).intoArray(r, i); } } @@ -373,8 +492,12 @@ + + + + @Benchmark - public void shiftLShift(Blackhole bh) { + public void shiftRightShift(Blackhole bh) { short[] a = fa.apply(SPECIES.length()); short[] b = fb.apply(SPECIES.length()); short[] r = fr.apply(SPECIES.length()); @@ -382,7 +505,7 @@ for (int ic = 0; ic < INVOC_COUNT; ic++) { for (int i = 0; i < a.length; i += SPECIES.length()) { ShortVector av = ShortVector.fromArray(SPECIES, a, i); - av.shiftL((int)b[i]).intoArray(r, i); + av.shiftRight((int)b[i]).intoArray(r, i); } } @@ -392,7 +515,7 @@ @Benchmark - public void shiftLMaskedShift(Blackhole bh) { + public void shiftRightMaskedShift(Blackhole bh) { short[] a = fa.apply(SPECIES.length()); short[] b = fb.apply(SPECIES.length()); short[] r = fr.apply(SPECIES.length()); @@ -402,7 +525,7 @@ for (int ic = 0; ic < INVOC_COUNT; ic++) { for (int i = 0; i < a.length; i += SPECIES.length()) { ShortVector av = ShortVector.fromArray(SPECIES, a, i); - av.shiftL((int)b[i], vmask).intoArray(r, i); + av.shiftRight((int)b[i], vmask).intoArray(r, i); } } @@ -411,8 +534,12 @@ + + + + @Benchmark - public void shiftRShift(Blackhole bh) { + public void shiftArithmeticRightShift(Blackhole bh) { short[] a = fa.apply(SPECIES.length()); short[] b = fb.apply(SPECIES.length()); short[] r = fr.apply(SPECIES.length()); @@ -420,7 +547,7 @@ for (int ic = 0; ic < INVOC_COUNT; ic++) { for (int i = 0; i < a.length; i += SPECIES.length()) { ShortVector av = ShortVector.fromArray(SPECIES, a, i); - av.shiftR((int)b[i]).intoArray(r, i); + av.shiftArithmeticRight((int)b[i]).intoArray(r, i); } } @@ -430,7 +557,7 @@ @Benchmark - public void shiftRMaskedShift(Blackhole bh) { + public void shiftArithmeticRightMaskedShift(Blackhole bh) { short[] a = fa.apply(SPECIES.length()); short[] b = fb.apply(SPECIES.length()); short[] r = fr.apply(SPECIES.length()); @@ -440,7 +567,7 @@ for (int ic = 0; ic < INVOC_COUNT; ic++) { for (int i = 0; i < a.length; i += SPECIES.length()) { ShortVector av = ShortVector.fromArray(SPECIES, a, i); - av.shiftR((int)b[i], vmask).intoArray(r, i); + av.shiftArithmeticRight((int)b[i], vmask).intoArray(r, i); } } @@ -484,7 +611,7 @@ @Benchmark - public void andAll(Blackhole bh) { + public void andLanes(Blackhole bh) { short[] a = fa.apply(SPECIES.length()); short ra = -1; @@ -492,7 +619,7 @@ ra = -1; for (int i = 0; i < a.length; i += SPECIES.length()) { ShortVector av = ShortVector.fromArray(SPECIES, a, i); - ra &= av.andAll(); + ra &= av.andLanes(); } } bh.consume(ra); @@ -501,7 +628,7 @@ @Benchmark - public void orAll(Blackhole bh) { + public void orLanes(Blackhole bh) { short[] a = fa.apply(SPECIES.length()); short ra = 0; @@ -509,7 +636,7 @@ ra = 0; for (int i = 0; i < a.length; i += SPECIES.length()) { ShortVector av = ShortVector.fromArray(SPECIES, a, i); - ra |= av.orAll(); + ra |= av.orLanes(); } } bh.consume(ra); @@ -518,7 +645,7 @@ @Benchmark - public void xorAll(Blackhole bh) { + public void xorLanes(Blackhole bh) { short[] a = fa.apply(SPECIES.length()); short ra = 0; @@ -526,7 +653,7 @@ ra = 0; for (int i = 0; i < a.length; i += SPECIES.length()) { ShortVector av = ShortVector.fromArray(SPECIES, a, i); - ra ^= av.xorAll(); + ra ^= av.xorLanes(); } } bh.consume(ra); @@ -534,7 +661,7 @@ @Benchmark - public void addAll(Blackhole bh) { + public void addLanes(Blackhole bh) { short[] a = fa.apply(SPECIES.length()); short ra = 0; @@ -542,14 +669,14 @@ ra = 0; for (int i = 0; i < a.length; i += SPECIES.length()) { ShortVector av = ShortVector.fromArray(SPECIES, a, i); - ra += av.addAll(); + ra += av.addLanes(); } } bh.consume(ra); } @Benchmark - public void mulAll(Blackhole bh) { + public void mulLanes(Blackhole bh) { short[] a = fa.apply(SPECIES.length()); short ra = 1; @@ -557,14 +684,14 @@ ra = 1; for (int i = 0; i < a.length; i += SPECIES.length()) { ShortVector av = ShortVector.fromArray(SPECIES, a, i); - ra *= av.mulAll(); + ra *= av.mulLanes(); } } bh.consume(ra); } @Benchmark - public void minAll(Blackhole bh) { + public void minLanes(Blackhole bh) { short[] a = fa.apply(SPECIES.length()); short ra = Short.MAX_VALUE; @@ -572,14 +699,14 @@ ra = Short.MAX_VALUE; for (int i = 0; i < a.length; i += SPECIES.length()) { ShortVector av = ShortVector.fromArray(SPECIES, a, i); - ra = (short)Math.min(ra, av.minAll()); + ra = (short)Math.min(ra, av.minLanes()); } } bh.consume(ra); } @Benchmark - public void maxAll(Blackhole bh) { + public void maxLanes(Blackhole bh) { short[] a = fa.apply(SPECIES.length()); short ra = Short.MIN_VALUE; @@ -587,7 +714,7 @@ ra = Short.MIN_VALUE; for (int i = 0; i < a.length; i += SPECIES.length()) { ShortVector av = ShortVector.fromArray(SPECIES, a, i); - ra = (short)Math.max(ra, av.maxAll()); + ra = (short)Math.max(ra, av.maxLanes()); } } bh.consume(ra); @@ -647,7 +774,7 @@ short[] a = fa.apply(size); short[] b = fb.apply(size); boolean[] ms = fm.apply(size); - VectorMask m = VectorMask.maskFromArray(SPECIES, ms, 0); + VectorMask m = VectorMask.fromArray(SPECIES, ms, 0); for (int ic = 0; ic < INVOC_COUNT; ic++) { for (int i = 0; i < a.length; i += SPECIES.length()) { @@ -667,7 +794,7 @@ short[] a = fa.apply(size); short[] b = fb.apply(size); boolean[] ms = fm.apply(size); - VectorMask m = VectorMask.maskFromArray(SPECIES, ms, 0); + VectorMask m = VectorMask.fromArray(SPECIES, ms, 0); for (int ic = 0; ic < INVOC_COUNT; ic++) { for (int i = 0; i < a.length; i += SPECIES.length()) { @@ -687,7 +814,7 @@ short[] a = fa.apply(size); short[] b = fb.apply(size); boolean[] ms = fm.apply(size); - VectorMask m = VectorMask.maskFromArray(SPECIES, ms, 0); + VectorMask m = VectorMask.fromArray(SPECIES, ms, 0); for (int ic = 0; ic < INVOC_COUNT; ic++) { for (int i = 0; i < a.length; i += SPECIES.length()) { @@ -707,7 +834,7 @@ short[] a = fa.apply(size); short[] b = fb.apply(size); boolean[] ms = fm.apply(size); - VectorMask m = VectorMask.maskFromArray(SPECIES, ms, 0); + VectorMask m = VectorMask.fromArray(SPECIES, ms, 0); for (int ic = 0; ic < INVOC_COUNT; ic++) { for (int i = 0; i < a.length; i += SPECIES.length()) { @@ -727,7 +854,7 @@ short[] a = fa.apply(size); short[] b = fb.apply(size); boolean[] ms = fm.apply(size); - VectorMask m = VectorMask.maskFromArray(SPECIES, ms, 0); + VectorMask m = VectorMask.fromArray(SPECIES, ms, 0); for (int ic = 0; ic < INVOC_COUNT; ic++) { for (int i = 0; i < a.length; i += SPECIES.length()) { @@ -747,7 +874,7 @@ short[] a = fa.apply(size); short[] b = fb.apply(size); boolean[] ms = fm.apply(size); - VectorMask m = VectorMask.maskFromArray(SPECIES, ms, 0); + VectorMask m = VectorMask.fromArray(SPECIES, ms, 0); for (int ic = 0; ic < INVOC_COUNT; ic++) { for (int i = 0; i < a.length; i += SPECIES.length()) {