< prev index next >

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

Print this page
rev 55894 : 8222897: [vector] Renaming of shift, rotate operations. Few other api changes.
Summary: Renaming of shift, rotate operations. Few other api changes.
Reviewed-by: jrose, briangoetz

*** 22,31 **** --- 22,32 ---- */ 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; import jdk.incubator.vector.ShortVector;
*** 319,448 **** @Benchmark ! public void aShiftRShift(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.aShiftR((int)b[i]).intoArray(r, i); } } bh.consume(r); } @Benchmark ! public void aShiftRMaskedShift(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<Short> 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], vmask).intoArray(r, i); } } bh.consume(r); } @Benchmark ! public void shiftLShift(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.shiftL((int)b[i]).intoArray(r, i); } } bh.consume(r); } @Benchmark ! public void shiftLMaskedShift(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<Short> 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.shiftL((int)b[i], vmask).intoArray(r, i); } } bh.consume(r); } @Benchmark ! public void shiftRShift(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.shiftR((int)b[i]).intoArray(r, i); } } bh.consume(r); } @Benchmark ! public void shiftRMaskedShift(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<Short> 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.shiftR((int)b[i], vmask).intoArray(r, i); } } bh.consume(r); } --- 320,575 ---- + @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<Short> 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<Short> 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); + } + @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 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<Short> 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.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); } } bh.consume(r); } @Benchmark ! public void shiftLeftMaskedShift(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<Short> 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.shiftLeft((int)b[i], vmask).intoArray(r, i); } } bh.consume(r); } + + + + @Benchmark ! public void shiftRightShift(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.shiftRight((int)b[i]).intoArray(r, i); } } bh.consume(r); } @Benchmark ! public void shiftRightMaskedShift(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<Short> 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.shiftRight((int)b[i], vmask).intoArray(r, i); } } bh.consume(r); } + + + + @Benchmark ! public void shiftArithmeticRightShift(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.shiftArithmeticRight((int)b[i]).intoArray(r, i); } } bh.consume(r); } @Benchmark ! public void shiftArithmeticRightMaskedShift(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<Short> 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.shiftArithmeticRight((int)b[i], vmask).intoArray(r, i); } } bh.consume(r); }
*** 482,595 **** bh.consume(r); } @Benchmark ! public void andAll(Blackhole bh) { short[] a = fa.apply(SPECIES.length()); short ra = -1; for (int ic = 0; ic < INVOC_COUNT; ic++) { ra = -1; for (int i = 0; i < a.length; i += SPECIES.length()) { ShortVector av = ShortVector.fromArray(SPECIES, a, i); ! ra &= av.andAll(); } } bh.consume(ra); } @Benchmark ! public void orAll(Blackhole bh) { short[] a = fa.apply(SPECIES.length()); short ra = 0; for (int ic = 0; ic < INVOC_COUNT; ic++) { ra = 0; for (int i = 0; i < a.length; i += SPECIES.length()) { ShortVector av = ShortVector.fromArray(SPECIES, a, i); ! ra |= av.orAll(); } } bh.consume(ra); } @Benchmark ! public void xorAll(Blackhole bh) { short[] a = fa.apply(SPECIES.length()); short ra = 0; for (int ic = 0; ic < INVOC_COUNT; ic++) { ra = 0; for (int i = 0; i < a.length; i += SPECIES.length()) { ShortVector av = ShortVector.fromArray(SPECIES, a, i); ! ra ^= av.xorAll(); } } bh.consume(ra); } @Benchmark ! public void addAll(Blackhole bh) { short[] a = fa.apply(SPECIES.length()); short ra = 0; for (int ic = 0; ic < INVOC_COUNT; ic++) { ra = 0; for (int i = 0; i < a.length; i += SPECIES.length()) { ShortVector av = ShortVector.fromArray(SPECIES, a, i); ! ra += av.addAll(); } } bh.consume(ra); } @Benchmark ! public void mulAll(Blackhole bh) { short[] a = fa.apply(SPECIES.length()); short ra = 1; for (int ic = 0; ic < INVOC_COUNT; ic++) { ra = 1; for (int i = 0; i < a.length; i += SPECIES.length()) { ShortVector av = ShortVector.fromArray(SPECIES, a, i); ! ra *= av.mulAll(); } } bh.consume(ra); } @Benchmark ! public void minAll(Blackhole bh) { short[] a = fa.apply(SPECIES.length()); short ra = Short.MAX_VALUE; for (int ic = 0; ic < INVOC_COUNT; ic++) { 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()); } } bh.consume(ra); } @Benchmark ! public void maxAll(Blackhole bh) { short[] a = fa.apply(SPECIES.length()); short ra = Short.MIN_VALUE; for (int ic = 0; ic < INVOC_COUNT; ic++) { 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()); } } bh.consume(ra); } --- 609,722 ---- bh.consume(r); } @Benchmark ! public void andLanes(Blackhole bh) { short[] a = fa.apply(SPECIES.length()); short ra = -1; for (int ic = 0; ic < INVOC_COUNT; ic++) { ra = -1; for (int i = 0; i < a.length; i += SPECIES.length()) { ShortVector av = ShortVector.fromArray(SPECIES, a, i); ! ra &= av.andLanes(); } } bh.consume(ra); } @Benchmark ! public void orLanes(Blackhole bh) { short[] a = fa.apply(SPECIES.length()); short ra = 0; for (int ic = 0; ic < INVOC_COUNT; ic++) { ra = 0; for (int i = 0; i < a.length; i += SPECIES.length()) { ShortVector av = ShortVector.fromArray(SPECIES, a, i); ! ra |= av.orLanes(); } } bh.consume(ra); } @Benchmark ! public void xorLanes(Blackhole bh) { short[] a = fa.apply(SPECIES.length()); short ra = 0; for (int ic = 0; ic < INVOC_COUNT; ic++) { ra = 0; for (int i = 0; i < a.length; i += SPECIES.length()) { ShortVector av = ShortVector.fromArray(SPECIES, a, i); ! ra ^= av.xorLanes(); } } bh.consume(ra); } @Benchmark ! public void addLanes(Blackhole bh) { short[] a = fa.apply(SPECIES.length()); short ra = 0; for (int ic = 0; ic < INVOC_COUNT; ic++) { ra = 0; for (int i = 0; i < a.length; i += SPECIES.length()) { ShortVector av = ShortVector.fromArray(SPECIES, a, i); ! ra += av.addLanes(); } } bh.consume(ra); } @Benchmark ! public void mulLanes(Blackhole bh) { short[] a = fa.apply(SPECIES.length()); short ra = 1; for (int ic = 0; ic < INVOC_COUNT; ic++) { ra = 1; for (int i = 0; i < a.length; i += SPECIES.length()) { ShortVector av = ShortVector.fromArray(SPECIES, a, i); ! ra *= av.mulLanes(); } } bh.consume(ra); } @Benchmark ! public void minLanes(Blackhole bh) { short[] a = fa.apply(SPECIES.length()); short ra = Short.MAX_VALUE; for (int ic = 0; ic < INVOC_COUNT; ic++) { 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.minLanes()); } } bh.consume(ra); } @Benchmark ! public void maxLanes(Blackhole bh) { short[] a = fa.apply(SPECIES.length()); short ra = Short.MIN_VALUE; for (int ic = 0; ic < INVOC_COUNT; ic++) { 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.maxLanes()); } } bh.consume(ra); }
*** 645,655 **** @Benchmark public Object lessThan() { short[] a = fa.apply(size); short[] b = fb.apply(size); boolean[] ms = fm.apply(size); ! VectorMask<Short> m = VectorMask.maskFromArray(SPECIES, ms, 0); 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); --- 772,782 ---- @Benchmark public Object lessThan() { short[] a = fa.apply(size); short[] b = fb.apply(size); boolean[] ms = fm.apply(size); ! VectorMask<Short> m = VectorMask.fromArray(SPECIES, ms, 0); 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);
*** 665,675 **** @Benchmark public Object greaterThan() { short[] a = fa.apply(size); short[] b = fb.apply(size); boolean[] ms = fm.apply(size); ! VectorMask<Short> m = VectorMask.maskFromArray(SPECIES, ms, 0); 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); --- 792,802 ---- @Benchmark public Object greaterThan() { short[] a = fa.apply(size); short[] b = fb.apply(size); boolean[] ms = fm.apply(size); ! VectorMask<Short> m = VectorMask.fromArray(SPECIES, ms, 0); 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);
*** 685,695 **** @Benchmark public Object equal() { short[] a = fa.apply(size); short[] b = fb.apply(size); boolean[] ms = fm.apply(size); ! VectorMask<Short> m = VectorMask.maskFromArray(SPECIES, ms, 0); 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); --- 812,822 ---- @Benchmark public Object equal() { short[] a = fa.apply(size); short[] b = fb.apply(size); boolean[] ms = fm.apply(size); ! VectorMask<Short> m = VectorMask.fromArray(SPECIES, ms, 0); 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);
*** 705,715 **** @Benchmark public Object notEqual() { short[] a = fa.apply(size); short[] b = fb.apply(size); boolean[] ms = fm.apply(size); ! VectorMask<Short> m = VectorMask.maskFromArray(SPECIES, ms, 0); 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); --- 832,842 ---- @Benchmark public Object notEqual() { short[] a = fa.apply(size); short[] b = fb.apply(size); boolean[] ms = fm.apply(size); ! VectorMask<Short> m = VectorMask.fromArray(SPECIES, ms, 0); 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);
*** 725,735 **** @Benchmark public Object lessThanEq() { short[] a = fa.apply(size); short[] b = fb.apply(size); boolean[] ms = fm.apply(size); ! VectorMask<Short> m = VectorMask.maskFromArray(SPECIES, ms, 0); 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); --- 852,862 ---- @Benchmark public Object lessThanEq() { short[] a = fa.apply(size); short[] b = fb.apply(size); boolean[] ms = fm.apply(size); ! VectorMask<Short> m = VectorMask.fromArray(SPECIES, ms, 0); 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);
*** 745,755 **** @Benchmark public Object greaterThanEq() { short[] a = fa.apply(size); short[] b = fb.apply(size); boolean[] ms = fm.apply(size); ! VectorMask<Short> m = VectorMask.maskFromArray(SPECIES, ms, 0); 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); --- 872,882 ---- @Benchmark public Object greaterThanEq() { short[] a = fa.apply(size); short[] b = fb.apply(size); boolean[] ms = fm.apply(size); ! VectorMask<Short> m = VectorMask.fromArray(SPECIES, ms, 0); 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);
< prev index next >