Implementation notes: amd64, wintermute, crypto_hash/simd512
Computer: wintermute
Architecture: amd64
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20140505
Operation: crypto_hash
Primitive: simd512
Time | Implementation | Compiler | Benchmark date | SUPERCOP version |
68492 | sphlib | clang -O3 -mavx2 | 20140508 | 20140505 |
72436 | sphlib | clang -O3 -mavx | 20140508 | 20140505 |
73184 | sphlib | clang -O3 | 20140508 | 20140505 |
81940 | sphlib-small | clang -O3 -mavx2 | 20140508 | 20140505 |
85256 | sphlib-small | clang -O3 -mavx | 20140508 | 20140505 |
85472 | sphlib-small | clang -O3 | 20140508 | 20140505 |
120536 | opt | clang -O3 -mavx2 | 20140508 | 20140505 |
126480 | opt | clang -O3 | 20140508 | 20140505 |
127196 | opt | clang -O3 -mavx | 20140508 | 20140505 |
282388 | sphlib | cc | 20140508 | 20140505 |
330952 | sphlib-small | cc | 20140508 | 20140505 |
588136 | opt | cc | 20140508 | 20140505 |
5850524 | ref | clang -O3 | 20140508 | 20140505 |
5860124 | ref | clang -O3 -mavx2 | 20140508 | 20140505 |
5863736 | ref | clang -O3 -mavx | 20140508 | 20140505 |
16099488 | ref | cc | 20140508 | 20140505 |
Compiler output
Implementation: crypto_hash/simd512/ref
Compiler: cc
reference.c: reference.c:69:82: warning: expression result unused [-Wunused-value]
reference.c: state->gt;A[j] = state->gt;D[j] + w[j] + F(state->gt;A[j], state->gt;B[j], state->gt;C[j]), s;
reference.c: ^
reference.c: 1 warning generated.
Number of similar (compiler,implementation) pairs: 4, namely:
Compiler | Implementations
|
cc | ref |
clang -O3 | ref |
clang -O3 -mavx | ref |
clang -O3 -mavx2 | ref
|
Compiler output
Implementation: crypto_hash/simd512/vect128
Compiler: cc
vector.c: vector.c:73:9: warning: 'X' macro redefined
vector.c: #define X(i) X##i
vector.c: ^
vector.c: vector.c:68:9: note: previous definition is here
vector.c: #define X(i) A[i]
vector.c: ^
vector.c: vector.c:129:3: error: use of unknown builtin '__builtin_ia32_pcmpgtw128' [-Wimplicit-function-declaration]
vector.c: DO_REDUCE_FULL_S(0);
vector.c: ^
vector.c: vector.c:56:12: note: expanded from macro 'DO_REDUCE_FULL_S'
vector.c: X(i) = EXTRA_REDUCE_S(X(i)); \
vector.c: ^
vector.c: vector.c:42:32: note: expanded from macro 'EXTRA_REDUCE_S'
vector.c: v16_sub(x, v16_and(V257.v16, v16_cmp(x, V128.v16)))
vector.c: ^
vector.c: ./vector.h:92:22: note: expanded from macro 'v16_cmp'
vector.c: #define v16_cmp __builtin_ia32_pcmpgtw128
vector.c: ^
vector.c: ./vector.h:68:28: note: expanded from macro 'vec_and'
vector.c: #define vec_and(x,y) ((x)&(y))
vector.c: ^
vector.c: ./vector.h:87:28: note: expanded from macro 'v16_sub'
vector.c: #define v16_sub(x,y) ((x)-(y))
vector.c: ^
vector.c: vector.c:129:3: error: can't convert between vector values of different size ('v16' (aka 'v8hi') and 'int')
vector.c: ...
Number of similar (compiler,implementation) pairs: 4, namely:
Compiler | Implementations
|
cc | vect128 |
clang -O3 | vect128 |
clang -O3 -mavx | vect128 |
clang -O3 -mavx2 | vect128
|