1244 boolean[] mask = fm.apply(SPECIES.length());
1245 Vector.Mask<Long> vmask = LongVector.maskFromValues(SPECIES, mask);
1246
1247 for (int ic = 0; ic < INVOC_COUNT; ic++) {
1248 for (int i = 0; i < a.length; i += SPECIES.length()) {
1249 LongVector av = LongVector.fromArray(SPECIES, a, i);
1250 av.not(vmask).intoArray(r, i);
1251 }
1252 }
1253
1254 bh.consume(r);
1255 }
1256
1257
1258
1259
1260
1261 @Benchmark
1262 public void gather(Blackhole bh) {
1263 long[] a = fa.apply(SPECIES.length());
1264 int[] b = fs.apply(a.length, SPECIES.length());
1265 long[] r = new long[a.length];
1266
1267 for (int ic = 0; ic < INVOC_COUNT; ic++) {
1268 for (int i = 0; i < a.length; i += SPECIES.length()) {
1269 LongVector av = LongVector.fromArray(SPECIES, a, i, b, i);
1270 av.intoArray(r, i);
1271 }
1272 }
1273
1274 bh.consume(r);
1275 }
1276
1277
1278
1279 @Benchmark
1280 public void scatter(Blackhole bh) {
1281 long[] a = fa.apply(SPECIES.length());
1282 int[] b = fs.apply(a.length, SPECIES.length());
1283 long[] r = new long[a.length];
1284
1285 for (int ic = 0; ic < INVOC_COUNT; ic++) {
1286 for (int i = 0; i < a.length; i += SPECIES.length()) {
1287 LongVector av = LongVector.fromArray(SPECIES, a, i);
1288 av.intoArray(r, i, b, i);
1289 }
1290 }
1291
1292 bh.consume(r);
1293 }
1294
1295 }
1296
|
1244 boolean[] mask = fm.apply(SPECIES.length());
1245 Vector.Mask<Long> vmask = LongVector.maskFromValues(SPECIES, mask);
1246
1247 for (int ic = 0; ic < INVOC_COUNT; ic++) {
1248 for (int i = 0; i < a.length; i += SPECIES.length()) {
1249 LongVector av = LongVector.fromArray(SPECIES, a, i);
1250 av.not(vmask).intoArray(r, i);
1251 }
1252 }
1253
1254 bh.consume(r);
1255 }
1256
1257
1258
1259
1260
1261 @Benchmark
1262 public void gather(Blackhole bh) {
1263 long[] a = fa.apply(SPECIES.length());
1264 int[] b = fs.apply(a.length * 2, SPECIES.length());
1265 long[] r = new long[a.length];
1266
1267 for (int ic = 0; ic < INVOC_COUNT; ic++) {
1268 for (int i = 0; i < a.length; i += SPECIES.length()) {
1269 LongVector av = LongVector.fromArray(SPECIES, a, i, b, i);
1270 av.intoArray(r, i);
1271 }
1272 }
1273
1274 bh.consume(r);
1275 }
1276
1277
1278
1279 @Benchmark
1280 public void scatter(Blackhole bh) {
1281 long[] a = fa.apply(SPECIES.length());
1282 int[] b = fs.apply(a.length * 2, SPECIES.length());
1283 long[] r = new long[a.length];
1284
1285 for (int ic = 0; ic < INVOC_COUNT; ic++) {
1286 for (int i = 0; i < a.length; i += SPECIES.length()) {
1287 LongVector av = LongVector.fromArray(SPECIES, a, i);
1288 av.intoArray(r, i, b, i);
1289 }
1290 }
1291
1292 bh.consume(r);
1293 }
1294
1295 }
1296
|