1     @Benchmark
 2     public void gatherBase0(Blackhole bh) {
 3         $type$[] as = fa.apply(size);
 4         int[] is    = fs.apply(size);
 5         $type$[] rs = fr.apply(size);
 6 
 7         for (int ic = 0; ic < INVOC_COUNT; ic++) {
 8             for (int i = 0; i < as.length; i++) {
 9                 int ix = 0 + is[i];
10                 rs[i] = as[ix];
11             }
12         }
13 
14         bh.consume(rs);
15     }
16 
17 
18     void gather(int window, Blackhole bh) {
19         $type$[] as = fa.apply(size);
20         int[] is    = fs.apply(size);
21         $type$[] rs = fr.apply(size);
22 
23         for (int ic = 0; ic < INVOC_COUNT; ic++) {
24             for (int i = 0; i < as.length; i += window) {
25                 for (int j = 0; j < window; j++) {
26                     int ix = is[i + j];
27                     rs[i + j] = as[ix];
28                 }
29             }
30         }
31 
32         bh.consume(rs);
33     }
34 
35     @Benchmark
36     public void gather064(Blackhole bh) {
37         int window = 64 / $Wideboxtype$.SIZE;
38         gather(window, bh);
39     }
40 
41     @Benchmark
42     public void gather128(Blackhole bh) {
43         int window = 128 / $Wideboxtype$.SIZE;
44         gather(window, bh);
45     }
46 
47     @Benchmark
48     public void gather256(Blackhole bh) {
49         int window = 256 / $Wideboxtype$.SIZE;
50         gather(window, bh);
51     }
52 
53     @Benchmark
54     public void gather512(Blackhole bh) {
55         int window = 512 / $Wideboxtype$.SIZE;
56         gather(window, bh);
57     }