< prev index next >

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

Print this page
rev 55589 : 8221817: [vector] No suitable species for indexMap of Gather/Scatter VectorAPI
Reviewed-by: duke


1172         double[] a = fa.apply(SPECIES.length());
1173         double[] r = fr.apply(SPECIES.length());
1174         boolean[] mask = fm.apply(SPECIES.length());
1175         Vector.Mask<Double> vmask = DoubleVector.maskFromValues(SPECIES, mask);
1176 
1177         for (int ic = 0; ic < INVOC_COUNT; ic++) {
1178             for (int i = 0; i < a.length; i += SPECIES.length()) {
1179                 DoubleVector av = DoubleVector.fromArray(SPECIES, a, i);
1180                 av.sqrt(vmask).intoArray(r, i);
1181             }
1182         }
1183 
1184         bh.consume(r);
1185     }
1186 
1187 
1188 
1189     @Benchmark
1190     public void gather(Blackhole bh) {
1191         double[] a = fa.apply(SPECIES.length());
1192         int[] b    = fs.apply(a.length, SPECIES.length());
1193         double[] r = new double[a.length];
1194 
1195         for (int ic = 0; ic < INVOC_COUNT; ic++) {
1196             for (int i = 0; i < a.length; i += SPECIES.length()) {
1197                 DoubleVector av = DoubleVector.fromArray(SPECIES, a, i, b, i);
1198                 av.intoArray(r, i);
1199             }
1200         }
1201 
1202         bh.consume(r);
1203     }
1204 
1205 
1206 
1207     @Benchmark
1208     public void scatter(Blackhole bh) {
1209         double[] a = fa.apply(SPECIES.length());
1210         int[] b = fs.apply(a.length, SPECIES.length());
1211         double[] r = new double[a.length];
1212 
1213         for (int ic = 0; ic < INVOC_COUNT; ic++) {
1214             for (int i = 0; i < a.length; i += SPECIES.length()) {
1215                 DoubleVector av = DoubleVector.fromArray(SPECIES, a, i);
1216                 av.intoArray(r, i, b, i);
1217             }
1218         }
1219 
1220         bh.consume(r);
1221     }
1222 
1223 }
1224 


1172         double[] a = fa.apply(SPECIES.length());
1173         double[] r = fr.apply(SPECIES.length());
1174         boolean[] mask = fm.apply(SPECIES.length());
1175         Vector.Mask<Double> vmask = DoubleVector.maskFromValues(SPECIES, mask);
1176 
1177         for (int ic = 0; ic < INVOC_COUNT; ic++) {
1178             for (int i = 0; i < a.length; i += SPECIES.length()) {
1179                 DoubleVector av = DoubleVector.fromArray(SPECIES, a, i);
1180                 av.sqrt(vmask).intoArray(r, i);
1181             }
1182         }
1183 
1184         bh.consume(r);
1185     }
1186 
1187 
1188 
1189     @Benchmark
1190     public void gather(Blackhole bh) {
1191         double[] a = fa.apply(SPECIES.length());
1192         int[] b    = fs.apply(a.length * 2, SPECIES.length());
1193         double[] r = new double[a.length];
1194 
1195         for (int ic = 0; ic < INVOC_COUNT; ic++) {
1196             for (int i = 0; i < a.length; i += SPECIES.length()) {
1197                 DoubleVector av = DoubleVector.fromArray(SPECIES, a, i, b, i);
1198                 av.intoArray(r, i);
1199             }
1200         }
1201 
1202         bh.consume(r);
1203     }
1204 
1205 
1206 
1207     @Benchmark
1208     public void scatter(Blackhole bh) {
1209         double[] a = fa.apply(SPECIES.length());
1210         int[] b = fs.apply(a.length * 2, SPECIES.length());
1211         double[] r = new double[a.length];
1212 
1213         for (int ic = 0; ic < INVOC_COUNT; ic++) {
1214             for (int i = 0; i < a.length; i += SPECIES.length()) {
1215                 DoubleVector av = DoubleVector.fromArray(SPECIES, a, i);
1216                 av.intoArray(r, i, b, i);
1217             }
1218         }
1219 
1220         bh.consume(r);
1221     }
1222 
1223 }
1224 
< prev index next >