< prev index next >

test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/ShortScalar.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

@@ -319,66 +319,150 @@
 
 
 
 
 
+    @Benchmark
+    public void shiftLeft(Blackhole bh) {
+        short[] as = fa.apply(size);
+        short[] bs = fb.apply(size);
+        short[] rs = fr.apply(size);
 
+        for (int ic = 0; ic < INVOC_COUNT; ic++) {
+            for (int i = 0; i < as.length; i++) {
+                short a = as[i];
+                short b = bs[i];
+                rs[i] = (short)((a << (b & 0xF)));
+            }
+        }
 
+        bh.consume(rs);
+    }
 
 
 
+    @Benchmark
+    public void shiftLeftMasked(Blackhole bh) {
+        short[] as = fa.apply(size);
+        short[] bs = fb.apply(size);
+        short[] 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++) {
+                short a = as[i];
+                short b = bs[i];
+                if (ms[i % ms.length]) {
+                    rs[i] = (short)((a << (b & 0xF)));
+                } else {
+                    rs[i] = a;
+                }
+            }
+        }
+        bh.consume(rs);
+    }
 
 
 
 
 
 
 
     @Benchmark
-    public void aShiftRShift(Blackhole bh) {
+    public void shiftRight(Blackhole bh) {
         short[] as = fa.apply(size);
         short[] bs = fb.apply(size);
         short[] rs = fr.apply(size);
 
         for (int ic = 0; ic < INVOC_COUNT; ic++) {
             for (int i = 0; i < as.length; i++) {
                 short a = as[i];
                 short b = bs[i];
-                rs[i] = (short)((a >> (b & 15)));
+                rs[i] = (short)((a >>> (b & 0xF)));
             }
         }
 
         bh.consume(rs);
     }
 
 
 
     @Benchmark
-    public void aShiftRMaskedShift(Blackhole bh) {
+    public void shiftRightMasked(Blackhole bh) {
         short[] as = fa.apply(size);
         short[] bs = fb.apply(size);
         short[] 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++) {
                 short a = as[i];
                 short b = bs[i];
-                boolean m = ms[i % ms.length];
-                rs[i] = (m ? (short)((a >> (b & 15))) : a);
+                if (ms[i % ms.length]) {
+                    rs[i] = (short)((a >>> (b & 0xF)));
+                } else {
+                    rs[i] = a;
+                }
+            }
+        }
+        bh.consume(rs);
+    }
+
+
+
+
+
+
+
+    @Benchmark
+    public void shiftArithmeticRight(Blackhole bh) {
+        short[] as = fa.apply(size);
+        short[] bs = fb.apply(size);
+        short[] rs = fr.apply(size);
+
+        for (int ic = 0; ic < INVOC_COUNT; ic++) {
+            for (int i = 0; i < as.length; i++) {
+                short a = as[i];
+                short b = bs[i];
+                rs[i] = (short)((a >> (b & 0xF)));
             }
         }
 
         bh.consume(rs);
     }
 
 
 
     @Benchmark
-    public void shiftLShift(Blackhole bh) {
+    public void shiftArithmeticRightMasked(Blackhole bh) {
+        short[] as = fa.apply(size);
+        short[] bs = fb.apply(size);
+        short[] 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++) {
+                short a = as[i];
+                short b = bs[i];
+                if (ms[i % ms.length]) {
+                    rs[i] = (short)((a >> (b & 0xF)));
+                } else {
+                    rs[i] = a;
+                }
+            }
+        }
+        bh.consume(rs);
+    }
+
+
+
+
+
+
+
+    @Benchmark
+    public void shiftLeftShift(Blackhole bh) {
         short[] as = fa.apply(size);
         short[] bs = fb.apply(size);
         short[] rs = fr.apply(size);
 
         for (int ic = 0; ic < INVOC_COUNT; ic++) {

@@ -393,11 +477,11 @@
     }
 
 
 
     @Benchmark
-    public void shiftLMaskedShift(Blackhole bh) {
+    public void shiftLeftMaskedShift(Blackhole bh) {
         short[] as = fa.apply(size);
         short[] bs = fb.apply(size);
         short[] rs = fr.apply(size);
         boolean[] ms = fm.apply(size);
 

@@ -413,12 +497,16 @@
         bh.consume(rs);
     }
 
 
 
+
+
+
+
     @Benchmark
-    public void shiftRShift(Blackhole bh) {
+    public void shiftRightShift(Blackhole bh) {
         short[] as = fa.apply(size);
         short[] bs = fb.apply(size);
         short[] rs = fr.apply(size);
 
         for (int ic = 0; ic < INVOC_COUNT; ic++) {

@@ -433,11 +521,11 @@
     }
 
 
 
     @Benchmark
-    public void shiftRMaskedShift(Blackhole bh) {
+    public void shiftRightMaskedShift(Blackhole bh) {
         short[] as = fa.apply(size);
         short[] bs = fb.apply(size);
         short[] rs = fr.apply(size);
         boolean[] ms = fm.apply(size);
 

@@ -452,10 +540,54 @@
 
         bh.consume(rs);
     }
 
 
+
+
+
+
+
+    @Benchmark
+    public void shiftArithmeticRightShift(Blackhole bh) {
+        short[] as = fa.apply(size);
+        short[] bs = fb.apply(size);
+        short[] rs = fr.apply(size);
+
+        for (int ic = 0; ic < INVOC_COUNT; ic++) {
+            for (int i = 0; i < as.length; i++) {
+                short a = as[i];
+                short b = bs[i];
+                rs[i] = (short)((a >> (b & 15)));
+            }
+        }
+
+        bh.consume(rs);
+    }
+
+
+
+    @Benchmark
+    public void shiftArithmeticRightMaskedShift(Blackhole bh) {
+        short[] as = fa.apply(size);
+        short[] bs = fb.apply(size);
+        short[] 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++) {
+                short a = as[i];
+                short b = bs[i];
+                boolean m = ms[i % ms.length];
+                rs[i] = (m ? (short)((a >> (b & 15))) : a);
+            }
+        }
+
+        bh.consume(rs);
+    }
+
+
     @Benchmark
     public void max(Blackhole bh) {
         short[] as = fa.apply(size);
         short[] bs = fb.apply(size);
         short[] rs = fr.apply(size);

@@ -488,11 +620,11 @@
         bh.consume(rs);
     }
 
 
     @Benchmark
-    public void andAll(Blackhole bh) {
+    public void andLanes(Blackhole bh) {
         short[] as = fa.apply(size);
         short r = -1;
         for (int ic = 0; ic < INVOC_COUNT; ic++) {
             r = -1;
             for (int i = 0; i < as.length; i++) {

@@ -503,11 +635,11 @@
     }
 
 
 
     @Benchmark
-    public void orAll(Blackhole bh) {
+    public void orLanes(Blackhole bh) {
         short[] as = fa.apply(size);
         short r = 0;
         for (int ic = 0; ic < INVOC_COUNT; ic++) {
             r = 0;
             for (int i = 0; i < as.length; i++) {

@@ -518,11 +650,11 @@
     }
 
 
 
     @Benchmark
-    public void xorAll(Blackhole bh) {
+    public void xorLanes(Blackhole bh) {
         short[] as = fa.apply(size);
         short r = 0;
         for (int ic = 0; ic < INVOC_COUNT; ic++) {
             r = 0;
             for (int i = 0; i < as.length; i++) {

@@ -532,11 +664,11 @@
         bh.consume(r);
     }
 
 
     @Benchmark
-    public void addAll(Blackhole bh) {
+    public void addLanes(Blackhole bh) {
         short[] as = fa.apply(size);
         short r = 0;
         for (int ic = 0; ic < INVOC_COUNT; ic++) {
             r = 0;
             for (int i = 0; i < as.length; i++) {

@@ -545,11 +677,11 @@
         }
         bh.consume(r);
     }
 
     @Benchmark
-    public void mulAll(Blackhole bh) {
+    public void mulLanes(Blackhole bh) {
         short[] as = fa.apply(size);
         short r = 1;
         for (int ic = 0; ic < INVOC_COUNT; ic++) {
             r = 1;
             for (int i = 0; i < as.length; i++) {

@@ -558,11 +690,11 @@
         }
         bh.consume(r);
     }
 
     @Benchmark
-    public void minAll(Blackhole bh) {
+    public void minLanes(Blackhole bh) {
         short[] as = fa.apply(size);
         short r = Short.MAX_VALUE;
         for (int ic = 0; ic < INVOC_COUNT; ic++) {
             r = Short.MAX_VALUE;
             for (int i = 0; i < as.length; i++) {

@@ -571,11 +703,11 @@
         }
         bh.consume(r);
     }
 
     @Benchmark
-    public void maxAll(Blackhole bh) {
+    public void maxLanes(Blackhole bh) {
         short[] as = fa.apply(size);
         short r = Short.MIN_VALUE;
         for (int ic = 0; ic < INVOC_COUNT; ic++) {
             r = Short.MIN_VALUE;
             for (int i = 0; i < as.length; i++) {
< prev index next >