Implementation notes: amd64, tueisecgern, crypto_hash/keccakc448

Computer: tueisecgern
Architecture: amd64
CPU ID: GenuineIntel-000306f2-bfebfbff
SUPERCOP version: 20160724
Operation: crypto_hash
Primitive: keccakc448
TimeImplementationCompilerBenchmark dateSUPERCOP version
12027simplegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072220160718
12347inplacegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072220160718
13634x86_64_shldgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072220160718
13641x86_64_shldgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072220160718
13653x86_64_shldgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072220160718
17434opt64lcu24gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072220160718
17704opt64u6gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072220160718
18268opt64lcu6gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072220160718
18603sseu2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072220160718
19247opt64lcu6gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072220160718
23267simplegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072220160718
24404opt64u6gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072220160718
26508simplegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072220160718
26536x86_64_asmgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072220160718
26567opt64lcu24shldgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072220160718
27112opt64lcu6gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072220160718
27437x86_64_asmgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072220160718
27532opt64lcu24gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072220160718
27554opt64u6gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072220160718
27588x86_64_asmgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072220160718
27968simplegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072220160718
28152inplacegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072220160718
28204mmxu1gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072220160718
28977sseu2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072220160718
28986x86_64_shldgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072220160718
29296inplacegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072220160718
29461sseu2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072220160718
29471sseu2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072220160718
29590inplacegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072220160718
29627x86_64_asmgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072220160718
30728opt64u6gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072220160718
30802opt64lcu24shldgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072220160718
30835opt32bi-rvku2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072220160718
31575opt64lcu24gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072220160718
31780opt64lcu24shldgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072220160718
32587opt64lcu6gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072220160718
32715opt64lcu24shldgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072220160718
33715opt64lcu24gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072220160718
40937opt32bi-rvku2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072220160718
44262opt32biT-s2lcu4gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072220160718
44669mmxu1gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072220160718
47334mmxu1gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072220160718
51149mmxu1gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072220160718
61226compactgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072220160718
62658opt32bi-rvku2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072220160718
68653opt32biT-s2lcu4gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072220160718
70242opt32bi-s2lcu4gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072220160718
71898compactgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072220160718
73069opt32biT-s2lcu4gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072220160718
75750opt32biT-s2lcu4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072220160718
77804opt32bi-s2lcu4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072220160718
79289opt32bi-rvku2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072220160718
79721opt32bi-s2lcu4gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072220160718
87078opt32bi-s2lcu4gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072220160718
108766compactgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072220160718
134596compactgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072220160718
191774compact8gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072220160718
229343compact8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072220160718
253917compact8gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072220160718
276564compact8gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072220160718

Compiler output

Implementation: crypto_hash/keccakc448/inplace32bi
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
Keccak-inplace32BI.c: Keccak-inplace32BI.c: In function 'crypto_hash_keccakc448_inplace32bi':
Keccak-inplace32BI.c: Keccak-inplace32BI.c:73:6: error: #error "The output size must be a multiple of the lane size in this simple implementation."
Keccak-inplace32BI.c: #error "The output size must be a multiple of the lane size in this simple implementation."
Keccak-inplace32BI.c: ^

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

Compiler output

Implementation: crypto_hash/keccakc448/simple32bi
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
Keccak-simple32BI.c: Keccak-simple32BI.c: In function 'crypto_hash_keccakc448_simple32bi':
Keccak-simple32BI.c: Keccak-simple32BI.c:73:6: error: #error "The output size must be a multiple of the lane size in this simple implementation."
Keccak-simple32BI.c: #error "The output size must be a multiple of the lane size in this simple implementation."
Keccak-simple32BI.c: ^

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

Compiler output

Implementation: crypto_hash/keccakc448/xopu24
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c: In function 'KeccakPermutationOnWords':
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:185:5: error: incompatible type for argument 2 of '_mm_xor_si128'
KeccakF-1600-opt64.c: rounds
KeccakF-1600-opt64.c: ^
KeccakF-1600-opt64.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/4.8/include/xmmintrin.h:1246:0,
KeccakF-1600-opt64.c: from /usr/lib/gcc/x86_64-linux-gnu/4.8/include/x86intrin.h:34,
KeccakF-1600-opt64.c: from KeccakF-1600-opt64.c:74:
KeccakF-1600-opt64.c: /usr/lib/gcc/x86_64-linux-gnu/4.8/include/emmintrin.h:1264:1: note: expected '__m128i' but argument is of type 'int'
KeccakF-1600-opt64.c: _mm_xor_si128 (__m128i __A, __m128i __B)
KeccakF-1600-opt64.c: ^
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:185:5: error: incompatible type for argument 2 of '_mm_xor_si128'
KeccakF-1600-opt64.c: rounds
KeccakF-1600-opt64.c: ^
KeccakF-1600-opt64.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/4.8/include/xmmintrin.h:1246:0,
KeccakF-1600-opt64.c: from /usr/lib/gcc/x86_64-linux-gnu/4.8/include/x86intrin.h:34,
KeccakF-1600-opt64.c: from KeccakF-1600-opt64.c:74:
KeccakF-1600-opt64.c: /usr/lib/gcc/x86_64-linux-gnu/4.8/include/emmintrin.h:1264:1: note: expected '__m128i' but argument is of type 'int'
KeccakF-1600-opt64.c: _mm_xor_si128 (__m128i __A, __m128i __B)
KeccakF-1600-opt64.c: ^
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:185:5: error: incompatible type for argument 2 of '_mm_xor_si128'
KeccakF-1600-opt64.c: rounds
KeccakF-1600-opt64.c: ^
KeccakF-1600-opt64.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/4.8/include/xmmintrin.h:1246:0,
KeccakF-1600-opt64.c: from /usr/lib/gcc/x86_64-linux-gnu/4.8/include/x86intrin.h:34,
KeccakF-1600-opt64.c: from KeccakF-1600-opt64.c:74:
KeccakF-1600-opt64.c: ...

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