< prev index next >
test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/ByteScalar.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
*** 317,378 ****
@Benchmark
! public void aShiftRShift(Blackhole bh) {
byte[] as = fa.apply(size);
byte[] bs = fb.apply(size);
byte[] rs = fr.apply(size);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < as.length; i++) {
byte a = as[i];
byte b = bs[i];
! rs[i] = (byte)((a >> (b & 7)));
}
}
bh.consume(rs);
}
@Benchmark
! public void aShiftRMaskedShift(Blackhole bh) {
byte[] as = fa.apply(size);
byte[] bs = fb.apply(size);
byte[] rs = fr.apply(size);
boolean[] ms = fm.apply(size);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < as.length; i++) {
byte a = as[i];
byte b = bs[i];
! boolean m = ms[i % ms.length];
! rs[i] = (m ? (byte)((a >> (b & 7))) : a);
}
}
bh.consume(rs);
}
@Benchmark
! public void shiftLShift(Blackhole bh) {
byte[] as = fa.apply(size);
byte[] bs = fb.apply(size);
byte[] rs = fr.apply(size);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
--- 317,466 ----
+ @Benchmark
+ public void shiftLeft(Blackhole bh) {
+ byte[] as = fa.apply(size);
+ byte[] bs = fb.apply(size);
+ byte[] rs = fr.apply(size);
+
+ for (int ic = 0; ic < INVOC_COUNT; ic++) {
+ for (int i = 0; i < as.length; i++) {
+ byte a = as[i];
+ byte b = bs[i];
+ rs[i] = (byte)((a << (b & 0x7)));
+ }
+ }
+
+ bh.consume(rs);
+ }
+
+ @Benchmark
+ public void shiftLeftMasked(Blackhole bh) {
+ byte[] as = fa.apply(size);
+ byte[] bs = fb.apply(size);
+ byte[] rs = fr.apply(size);
+ boolean[] ms = fm.apply(size);
+ for (int ic = 0; ic < INVOC_COUNT; ic++) {
+ for (int i = 0; i < as.length; i++) {
+ byte a = as[i];
+ byte b = bs[i];
+ if (ms[i % ms.length]) {
+ rs[i] = (byte)((a << (b & 0x7)));
+ } else {
+ rs[i] = a;
+ }
+ }
+ }
+ bh.consume(rs);
+ }
@Benchmark
! public void shiftRight(Blackhole bh) {
byte[] as = fa.apply(size);
byte[] bs = fb.apply(size);
byte[] rs = fr.apply(size);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < as.length; i++) {
byte a = as[i];
byte b = bs[i];
! rs[i] = (byte)((a >>> (b & 0x7)));
}
}
bh.consume(rs);
}
@Benchmark
! public void shiftRightMasked(Blackhole bh) {
byte[] as = fa.apply(size);
byte[] bs = fb.apply(size);
byte[] rs = fr.apply(size);
boolean[] ms = fm.apply(size);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < as.length; i++) {
byte a = as[i];
byte b = bs[i];
! if (ms[i % ms.length]) {
! rs[i] = (byte)((a >>> (b & 0x7)));
! } else {
! rs[i] = a;
! }
! }
! }
! bh.consume(rs);
! }
!
!
!
!
!
!
!
! @Benchmark
! public void shiftArithmeticRight(Blackhole bh) {
! byte[] as = fa.apply(size);
! byte[] bs = fb.apply(size);
! byte[] rs = fr.apply(size);
!
! for (int ic = 0; ic < INVOC_COUNT; ic++) {
! for (int i = 0; i < as.length; i++) {
! byte a = as[i];
! byte b = bs[i];
! rs[i] = (byte)((a >> (b & 0x7)));
}
}
bh.consume(rs);
}
@Benchmark
! public void shiftArithmeticRightMasked(Blackhole bh) {
! byte[] as = fa.apply(size);
! byte[] bs = fb.apply(size);
! byte[] rs = fr.apply(size);
! boolean[] ms = fm.apply(size);
!
! for (int ic = 0; ic < INVOC_COUNT; ic++) {
! for (int i = 0; i < as.length; i++) {
! byte a = as[i];
! byte b = bs[i];
! if (ms[i % ms.length]) {
! rs[i] = (byte)((a >> (b & 0x7)));
! } else {
! rs[i] = a;
! }
! }
! }
! bh.consume(rs);
! }
!
!
!
!
!
!
!
! @Benchmark
! public void shiftLeftShift(Blackhole bh) {
byte[] as = fa.apply(size);
byte[] bs = fb.apply(size);
byte[] rs = fr.apply(size);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
*** 387,397 ****
}
@Benchmark
! public void shiftLMaskedShift(Blackhole bh) {
byte[] as = fa.apply(size);
byte[] bs = fb.apply(size);
byte[] rs = fr.apply(size);
boolean[] ms = fm.apply(size);
--- 475,485 ----
}
@Benchmark
! public void shiftLeftMaskedShift(Blackhole bh) {
byte[] as = fa.apply(size);
byte[] bs = fb.apply(size);
byte[] rs = fr.apply(size);
boolean[] ms = fm.apply(size);
*** 407,418 ****
bh.consume(rs);
}
@Benchmark
! public void shiftRShift(Blackhole bh) {
byte[] as = fa.apply(size);
byte[] bs = fb.apply(size);
byte[] rs = fr.apply(size);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
--- 495,510 ----
bh.consume(rs);
}
+
+
+
+
@Benchmark
! public void shiftRightShift(Blackhole bh) {
byte[] as = fa.apply(size);
byte[] bs = fb.apply(size);
byte[] rs = fr.apply(size);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
*** 427,437 ****
}
@Benchmark
! public void shiftRMaskedShift(Blackhole bh) {
byte[] as = fa.apply(size);
byte[] bs = fb.apply(size);
byte[] rs = fr.apply(size);
boolean[] ms = fm.apply(size);
--- 519,529 ----
}
@Benchmark
! public void shiftRightMaskedShift(Blackhole bh) {
byte[] as = fa.apply(size);
byte[] bs = fb.apply(size);
byte[] rs = fr.apply(size);
boolean[] ms = fm.apply(size);
*** 451,460 ****
--- 543,592 ----
+ @Benchmark
+ public void shiftArithmeticRightShift(Blackhole bh) {
+ byte[] as = fa.apply(size);
+ byte[] bs = fb.apply(size);
+ byte[] rs = fr.apply(size);
+
+ for (int ic = 0; ic < INVOC_COUNT; ic++) {
+ for (int i = 0; i < as.length; i++) {
+ byte a = as[i];
+ byte b = bs[i];
+ rs[i] = (byte)((a >> (b & 7)));
+ }
+ }
+
+ bh.consume(rs);
+ }
+
+
+
+ @Benchmark
+ public void shiftArithmeticRightMaskedShift(Blackhole bh) {
+ byte[] as = fa.apply(size);
+ byte[] bs = fb.apply(size);
+ byte[] rs = fr.apply(size);
+ boolean[] ms = fm.apply(size);
+
+ for (int ic = 0; ic < INVOC_COUNT; ic++) {
+ for (int i = 0; i < as.length; i++) {
+ byte a = as[i];
+ byte b = bs[i];
+ boolean m = ms[i % ms.length];
+ rs[i] = (m ? (byte)((a >> (b & 7))) : a);
+ }
+ }
+
+ bh.consume(rs);
+ }
+
+
+
@Benchmark
public void max(Blackhole bh) {
byte[] as = fa.apply(size);
byte[] bs = fb.apply(size);
*** 488,498 ****
bh.consume(rs);
}
@Benchmark
! public void andAll(Blackhole bh) {
byte[] as = fa.apply(size);
byte r = -1;
for (int ic = 0; ic < INVOC_COUNT; ic++) {
r = -1;
for (int i = 0; i < as.length; i++) {
--- 620,630 ----
bh.consume(rs);
}
@Benchmark
! public void andLanes(Blackhole bh) {
byte[] as = fa.apply(size);
byte r = -1;
for (int ic = 0; ic < INVOC_COUNT; ic++) {
r = -1;
for (int i = 0; i < as.length; i++) {
*** 503,513 ****
}
@Benchmark
! public void orAll(Blackhole bh) {
byte[] as = fa.apply(size);
byte r = 0;
for (int ic = 0; ic < INVOC_COUNT; ic++) {
r = 0;
for (int i = 0; i < as.length; i++) {
--- 635,645 ----
}
@Benchmark
! public void orLanes(Blackhole bh) {
byte[] as = fa.apply(size);
byte r = 0;
for (int ic = 0; ic < INVOC_COUNT; ic++) {
r = 0;
for (int i = 0; i < as.length; i++) {
*** 518,528 ****
}
@Benchmark
! public void xorAll(Blackhole bh) {
byte[] as = fa.apply(size);
byte r = 0;
for (int ic = 0; ic < INVOC_COUNT; ic++) {
r = 0;
for (int i = 0; i < as.length; i++) {
--- 650,660 ----
}
@Benchmark
! public void xorLanes(Blackhole bh) {
byte[] as = fa.apply(size);
byte r = 0;
for (int ic = 0; ic < INVOC_COUNT; ic++) {
r = 0;
for (int i = 0; i < as.length; i++) {
*** 532,542 ****
bh.consume(r);
}
@Benchmark
! public void addAll(Blackhole bh) {
byte[] as = fa.apply(size);
byte r = 0;
for (int ic = 0; ic < INVOC_COUNT; ic++) {
r = 0;
for (int i = 0; i < as.length; i++) {
--- 664,674 ----
bh.consume(r);
}
@Benchmark
! public void addLanes(Blackhole bh) {
byte[] as = fa.apply(size);
byte r = 0;
for (int ic = 0; ic < INVOC_COUNT; ic++) {
r = 0;
for (int i = 0; i < as.length; i++) {
*** 545,555 ****
}
bh.consume(r);
}
@Benchmark
! public void mulAll(Blackhole bh) {
byte[] as = fa.apply(size);
byte r = 1;
for (int ic = 0; ic < INVOC_COUNT; ic++) {
r = 1;
for (int i = 0; i < as.length; i++) {
--- 677,687 ----
}
bh.consume(r);
}
@Benchmark
! public void mulLanes(Blackhole bh) {
byte[] as = fa.apply(size);
byte r = 1;
for (int ic = 0; ic < INVOC_COUNT; ic++) {
r = 1;
for (int i = 0; i < as.length; i++) {
*** 558,568 ****
}
bh.consume(r);
}
@Benchmark
! public void minAll(Blackhole bh) {
byte[] as = fa.apply(size);
byte r = Byte.MAX_VALUE;
for (int ic = 0; ic < INVOC_COUNT; ic++) {
r = Byte.MAX_VALUE;
for (int i = 0; i < as.length; i++) {
--- 690,700 ----
}
bh.consume(r);
}
@Benchmark
! public void minLanes(Blackhole bh) {
byte[] as = fa.apply(size);
byte r = Byte.MAX_VALUE;
for (int ic = 0; ic < INVOC_COUNT; ic++) {
r = Byte.MAX_VALUE;
for (int i = 0; i < as.length; i++) {
*** 571,581 ****
}
bh.consume(r);
}
@Benchmark
! public void maxAll(Blackhole bh) {
byte[] as = fa.apply(size);
byte r = Byte.MIN_VALUE;
for (int ic = 0; ic < INVOC_COUNT; ic++) {
r = Byte.MIN_VALUE;
for (int i = 0; i < as.length; i++) {
--- 703,713 ----
}
bh.consume(r);
}
@Benchmark
! public void maxLanes(Blackhole bh) {
byte[] as = fa.apply(size);
byte r = Byte.MIN_VALUE;
for (int ic = 0; ic < INVOC_COUNT; ic++) {
r = Byte.MIN_VALUE;
for (int i = 0; i < as.length; i++) {
< prev index next >