Double Sum combine1: Maximum use of data abstraction:
12.00 cycles/element
Double Sum combine2: Take vec_length() out of loop:
9.05 cycles/element
Double Sum combine3: Array reference to vector data:
3.02 cycles/element
Double Sum combine4: Array reference, accumulate in temporary:
3.00 cycles/element
Double Sum combine4p: Pointer reference, accumulate in temporary:
3.00 cycles/element
Double Sum Array code, unrolled by 2:
3.00 cycles/element
Double Sum combine5p: Pointer code, unrolled by 3, for loop:
3.00 cycles/element
Double Sum Array code, unrolled by 3, while loop:
3.00 cycles/element
Double Sum Array code, unrolled by 4:
3.00 cycles/element
Double Sum Array code, unrolled by 8:
3.04 cycles/element
Double Sum Array code, unrolled by 16:
3.00 cycles/element
Double Sum Pointer code, unrolled by 2:
3.00 cycles/element
Double Sum Pointer code, unrolled by 3:
3.00 cycles/element
Double Sum Pointer code, unrolled by 4:
3.00 cycles/element
Double Sum Pointer code, unrolled by 8:
3.04 cycles/element
Double Sum Pointer code, unrolled by 16:
2.99 cycles/element
Double Sum combine6: Array code, unrolled by 2, Superscalar x2:
1.50 cycles/element
Double Sum Array code, unrolled by 4, Superscalar x2:
1.50 cycles/element
Double Sum Array code, unrolled by 8, Superscalar x2:
1.54 cycles/element
Double Sum Array code, unrolled by 3, Superscalar x3:
1.00 cycles/element
Double Sum Array code, unrolled by 4, Superscalar x4:
1.00 cycles/element
Double Sum Array code, unrolled by 8, Superscalar x4:
1.05 cycles/element
Double Sum Array code, unrolled by 6, Superscalar x6:
1.02 cycles/element
Double Sum Array code, unrolled by 8, Superscalar x8:
1.03 cycles/element
Double Sum Array code, unrolled by 10, Superscalar x10:
1.03 cycles/element
Double Sum Array code, unrolled by 12, Superscalar x6:
1.03 cycles/element
Double Sum Array code, unrolled by 12, Superscalar x12:
1.03 cycles/element
Double Sum Pointer code, unrolled by 8, Superscalar x2:
1.54 cycles/element
Double Sum Pointer code, unrolled by 8, Superscalar x4:
1.03 cycles/element
Double Sum Pointer code, unrolled by 8, Superscalar x8:
1.03 cycles/element
Double Sum Pointer code, unrolled by 9, Superscalar x3:
1.04 cycles/element
Double Sum Array code, Unroll x2, Superscalar x2, noninterleaved:
1.50 cycles/element
Double Sum Array code, unrolled by 2, different associativity:
1.50 cycles/element
Double Sum Array code, unrolled by 3, Different Associativity:
1.00 cycles/element
Double Sum Array code, unrolled by 4, Different Associativity:
1.00 cycles/element
Double Sum Array code, unrolled by 6, Different Associativity:
1.03 cycles/element
Double Sum Array code, unrolled by 8, Different Associativity:
1.04 cycles/element
Double Sum SSE code, 1*VSIZE-way parallelism:
1.51 cycles/element
Double Sum SSE code, 2*VSIZE-way parallelism:
0.75 cycles/element
Double Sum SSE code, 4*VSIZE-way parallelism:
0.53 cycles/element
Double Sum SSE code, 8*VSIZE-way parallelism:
0.50 cycles/element
Double Sum SSE code, 12*VSIZE-way parallelism:
0.50 cycles/element
Double Sum SSE code, 2*VSIZE-way parallelism, reassociate:
0.75 cycles/element
Double Sum SSE code, 4*VSIZE-way parallelism, reassociate:
0.53 cycles/element
Double Sum SSE code, 8*VSIZE-way parallelism, reassociate:
0.50 cycles/element