Implementation notes: amd64, utrecht, crypto_hash/echo256

Computer: utrecht
Architecture: amd64
CPU ID: GenuineIntel-000006fb-bfebfbff
SUPERCOP version: 20160806
Operation: crypto_hash
Primitive: echo256
TimeImplementationCompilerBenchmark dateSUPERCOP version
47781core2/core2v64gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
47817core2/core2v64gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
47853core2/core2v64gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
47862core2/core2v64gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
57681athlon/athlon64gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
57870athlon/athlon64gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
63261sphlibgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
64899generic/opt64gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
67275generic/opt64gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
67275generic/opt64gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
69201pentium/pentium4v64v2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
69201pentium/pentium4v64v2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
69210pentium/pentium4v64v1gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
69210pentium/pentium4v64v2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
69210pentium/pentium4v64v1gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
69219pentium/pentium4v64v1gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
69228pentium/pentium4v64v1gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
69246generic/opt64gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
69273pentium/pentium4v64v2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
69381sphlibgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
69453sphlibgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
72459sphlibgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
73017sphlib-smallgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
78687sphlib-smallgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
78849generic/opt32gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
79956sphlib-smallgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
86391athlon/athlon64gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
86562athlon/athlon64gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
87426generic/opt32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
90333generic/opt32gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
92826generic/opt32gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
103293ccalik/vpermgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
104427ccalik/vpermgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
104805ccalik/vpermgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
106263ccalik/vpermgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
109278sphlib-smallgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
111942powerpc/pp32cv2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
118458powerpc/pp32cv2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
124524ccalik/bitslicedgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
125235ccalik/bitslicedgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
127197ccalik/bitslicedgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
128214ccalik/bitslicedgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
131184powerpc/pp32cv2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
136503powerpc/pp32cv1gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
139797powerpc/pp32cv2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
157023powerpc/pp32cv1gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
158742powerpc/pp32cv1gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
170388powerpc/pp32cv1gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731

Test failure

Implementation: crypto_hash/echo256/aes/aes64
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
error 111

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv aes/aes64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv aes/aes64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv aes/aes64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv aes/aes64

Compiler output

Implementation: crypto_hash/echo256/generic/opt64
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
echo64.c: echo64.c: In function 'crypto_hash_echo256_generic_opt64':
echo64.c: echo64.c:501:3: warning: passing argument 2 of 'Hash' discards 'const' qualifier from pointer target type [enabled by default]
echo64.c: if (Hash(CRYPTO_BYTES * 8,in,inlen * 8,out) == SUCCESS) return 0;
echo64.c: ^
echo64.c: echo64.c:488:12: note: expected 'BitSequence *' but argument is of type 'const unsigned char *'
echo64.c: HashReturn Hash(int hashbitlen, BitSequence *data, DataLength databitlen, BitSequence *hashval)
echo64.c: ^

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv generic/opt64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv generic/opt64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv generic/opt64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv generic/opt64

Compiler output

Implementation: crypto_hash/echo256/ccalik/aesni
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
hash.c: In file included from hash.c:25:0:
hash.c: /usr/lib/gcc/x86_64-linux-gnu/4.8/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
hash.c: # error "AES/PCLMUL instructions not enabled"
hash.c: ^
hash.c: hash.c: In function 'Compress':
hash.c: hash.c:114:17: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: state[i][j] = _mm_aesenc_si128(state[i][j], k1);\
hash.c: ^
hash.c: hash.c:185:4: note: in expansion of macro 'ECHO_SUBBYTES'
hash.c: ECHO_SUBBYTES(_state, 0, 0);\
hash.c: ^
hash.c: hash.c:295:4: note: in expansion of macro 'ECHO_ROUND_UNROLL2'
hash.c: ECHO_ROUND_UNROLL2;
hash.c: ^
hash.c: hash.c:115:17: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: state[i][j] = _mm_aesenc_si128(state[i][j], M128(zero));\
hash.c: ^
hash.c: hash.c:185:4: note: in expansion of macro 'ECHO_SUBBYTES'
hash.c: ECHO_SUBBYTES(_state, 0, 0);\
hash.c: ^
hash.c: hash.c:295:4: note: in expansion of macro 'ECHO_ROUND_UNROLL2'
hash.c: ECHO_ROUND_UNROLL2;
hash.c: ^
hash.c: hash.c:114:17: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: state[i][j] = _mm_aesenc_si128(state[i][j], k1);\
hash.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv ccalik/aesni
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv ccalik/aesni
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv ccalik/aesni
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv ccalik/aesni