Implementation notes: x86, titan0, crypto_hash/keccakc256treed2

Computer: titan0
Architecture: x86
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20190803
Operation: crypto_hash
Primitive: keccakc256treed2
TimeImplementationCompilerBenchmark dateSUPERCOP version
12136sseu4gcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2019070520190110
12148sseu4gcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2019070520190110
12188sseu4gcc -m32 -march=corei7-avx -O -fomit-frame-pointer2019070520190110
12228sseu4gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019070520190110
12236sseu4gcc -m32 -march=core-avx-i -O -fomit-frame-pointer2019070520190110
12260sseu4gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019070520190110
12264sseu4gcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019070520190110
12272sseu4gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019070520190110
12368sseu4gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019070520190110
12388sseu4gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2019070520190110
12576sseu4gcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019070520190110
12820sseu4gcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2019070520190110
13120sseu24gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019070520190110
13132sseu24gcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2019070520190110
13144sseu24gcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2019070520190110
13152sseu24gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019070520190110
13176sseu24gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019070520190110
13180sseu24gcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019070520190110
13184sseu24gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019070520190110
13192sseu24gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2019070520190110
13204sseu24gcc -m32 -march=core-avx-i -O -fomit-frame-pointer2019070520190110
13224sseu24gcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2019070520190110
13232sseu24gcc -m32 -march=corei7-avx -O -fomit-frame-pointer2019070520190110
13272sseu24gcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019070520190110
13496sseu24gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019070520190110
13500sseu24gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019070520190110
13516sseu24gcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2019070520190110
13524sseu24gcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2019070520190110
14028sseu4gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019070520190110
14060sseu4gcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2019070520190110
14076sseu4gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019070520190110
14080sseu4gcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2019070520190110
14628sseu4gcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2019070520190110
14664sseu4gcc -m32 -march=core2 -O3 -fomit-frame-pointer2019070520190110
14688sseu4gcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2019070520190110
14716sseu4gcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2019070520190110
14720sseu4gcc -m32 -march=core2 -O2 -fomit-frame-pointer2019070520190110
14740sseu4gcc -m32 -march=core2 -O -fomit-frame-pointer2019070520190110
14952sseu4gcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2019070520190110
14972sseu4gcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2019070520190110
14992sseu4gcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2019070520190110
15068sseu4gcc -m32 -march=corei7 -O3 -fomit-frame-pointer2019070520190110
15092sseu4gcc -m32 -march=corei7 -O2 -fomit-frame-pointer2019070520190110
15100sseu4gcc -m32 -march=corei7 -O -fomit-frame-pointer2019070520190110
15884sseu24gcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2019070520190110
15888sseu24gcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2019070520190110
15892sseu24gcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2019070520190110
15896sseu24gcc -m32 -march=core2 -O2 -fomit-frame-pointer2019070520190110
15904sseu24gcc -m32 -march=core2 -O3 -fomit-frame-pointer2019070520190110
15928sseu24gcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2019070520190110
15968sseu24gcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2019070520190110
15972sseu24gcc -m32 -march=core2 -O -fomit-frame-pointer2019070520190110
15972sseu24gcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2019070520190110
16136sseu24gcc -m32 -march=corei7 -O2 -fomit-frame-pointer2019070520190110
16160sseu24gcc -m32 -march=corei7 -O3 -fomit-frame-pointer2019070520190110
16188sseu24gcc -m32 -march=corei7 -O -fomit-frame-pointer2019070520190110
19760sseu24gcc -m32 -march=corei7 -Os -fomit-frame-pointer2019070520190110
19784sseu24gcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2019070520190110
19828sseu24gcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2019070520190110
19864sseu24gcc -m32 -march=core2 -Os -fomit-frame-pointer2019070520190110
20004sseu4gcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2019070520190110
20020sseu4gcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2019070520190110
20028sseu4gcc -m32 -march=core2 -Os -fomit-frame-pointer2019070520190110
20036sseu4gcc -m32 -march=corei7 -Os -fomit-frame-pointer2019070520190110

Compiler output

Implementation: crypto_hash/keccakc256treed2/sseu4
Compiler: gcc -funroll-loops -m32 -O2 -fomit-frame-pointer
DoublePermutation.c: DoublePermutation.c: In function 'KeccakDoublePermutationOnWords':
DoublePermutation.c: DoublePermutation.c:417:11: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
DoublePermutation.c: X##ba = LOAD128(state[ 0]); \
DoublePermutation.c: ^
DoublePermutation.c: DoublePermutation.c:506:5: note: in expansion of macro 'copyFromState'
DoublePermutation.c: copyFromState(A, state)
DoublePermutation.c: ^~~~~~~~~~~~~
DoublePermutation.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:1252:0,
DoublePermutation.c: from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:33,
DoublePermutation.c: from DoublePermutation.c:17:
DoublePermutation.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:1291:1: error: inlining failed in call to always_inline '_mm_xor_si128': target specific option mismatch
DoublePermutation.c: _mm_xor_si128 (__m128i __A, __m128i __B)
DoublePermutation.c: ^~~~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:73:8: note: called from here
DoublePermutation.c: Cu = XOR128(Abu, XOR128(Agu, XOR128(Aku, XOR128(Amu, Asu)))); \
DoublePermutation.c: ^
DoublePermutation.c: KeccakF-1600-unrolling.macros:88:5: note: in expansion of macro 'prepareTheta'
DoublePermutation.c: prepareTheta \
DoublePermutation.c: ^~~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:507:5: note: in expansion of macro 'rounds'
DoublePermutation.c: rounds
DoublePermutation.c: ^~~~~~
DoublePermutation.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:1252:0,
DoublePermutation.c: from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:33,
DoublePermutation.c: from DoublePermutation.c:17:
DoublePermutation.c: ...

Number of similar (compiler,implementation) pairs: 88, namely:
CompilerImplementations
gcc -funroll-loops -m32 -O2 -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -O3 -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -O -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -Os -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer sseu4
gcc -m32 -O2 -fomit-frame-pointer sseu4
gcc -m32 -O3 -fomit-frame-pointer sseu4
gcc -m32 -O -fomit-frame-pointer sseu4
gcc -m32 -Os -fomit-frame-pointer sseu4
gcc -m32 -march=athlon -O2 -fomit-frame-pointer sseu4
gcc -m32 -march=athlon -O3 -fomit-frame-pointer sseu4
gcc -m32 -march=athlon -O -fomit-frame-pointer sseu4
gcc -m32 -march=athlon -Os -fomit-frame-pointer sseu4
gcc -m32 -march=i386 -O2 -fomit-frame-pointer sseu4
gcc -m32 -march=i386 -O3 -fomit-frame-pointer sseu4
gcc -m32 -march=i386 -O -fomit-frame-pointer sseu4
gcc -m32 -march=i386 -Os -fomit-frame-pointer sseu4
gcc -m32 -march=i486 -O2 -fomit-frame-pointer sseu4
gcc -m32 -march=i486 -O3 -fomit-frame-pointer sseu4
gcc -m32 -march=i486 -O -fomit-frame-pointer sseu4
gcc -m32 -march=i486 -Os -fomit-frame-pointer sseu4
gcc -m32 -march=k6-2 -O2 -fomit-frame-pointer sseu4
gcc -m32 -march=k6-2 -O3 -fomit-frame-pointer sseu4
gcc -m32 -march=k6-2 -O -fomit-frame-pointer sseu4
gcc -m32 -march=k6-2 -Os -fomit-frame-pointer sseu4
gcc -m32 -march=k6-3 -O2 -fomit-frame-pointer sseu4
gcc -m32 -march=k6-3 -O3 -fomit-frame-pointer sseu4
gcc -m32 -march=k6-3 -O -fomit-frame-pointer sseu4
gcc -m32 -march=k6-3 -Os -fomit-frame-pointer sseu4
gcc -m32 -march=k6 -O2 -fomit-frame-pointer sseu4
gcc -m32 -march=k6 -O3 -fomit-frame-pointer sseu4
gcc -m32 -march=k6 -O -fomit-frame-pointer sseu4
gcc -m32 -march=k6 -Os -fomit-frame-pointer sseu4
gcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer sseu4
gcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer sseu4
gcc -m32 -march=pentium-mmx -O -fomit-frame-pointer sseu4
gcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer sseu4
gcc -m32 -march=pentium2 -O2 -fomit-frame-pointer sseu4
gcc -m32 -march=pentium2 -O3 -fomit-frame-pointer sseu4
gcc -m32 -march=pentium2 -O -fomit-frame-pointer sseu4
gcc -m32 -march=pentium2 -Os -fomit-frame-pointer sseu4
gcc -m32 -march=pentium -O2 -fomit-frame-pointer sseu4
gcc -m32 -march=pentium -O3 -fomit-frame-pointer sseu4
gcc -m32 -march=pentium -O -fomit-frame-pointer sseu4
gcc -m32 -march=pentium -Os -fomit-frame-pointer sseu4
gcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer sseu4
gcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer sseu4
gcc -m32 -march=pentiumpro -O -fomit-frame-pointer sseu4
gcc -m32 -march=pentiumpro -Os -fomit-frame-pointer sseu4

Compiler output

Implementation: crypto_hash/keccakc256treed2/sseu24
Compiler: gcc -funroll-loops -m32 -O2 -fomit-frame-pointer
DoublePermutation.c: DoublePermutation.c: In function 'KeccakDoublePermutationOnWords':
DoublePermutation.c: DoublePermutation.c:417:11: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
DoublePermutation.c: X##ba = LOAD128(state[ 0]); \
DoublePermutation.c: ^
DoublePermutation.c: DoublePermutation.c:506:5: note: in expansion of macro 'copyFromState'
DoublePermutation.c: copyFromState(A, state)
DoublePermutation.c: ^~~~~~~~~~~~~
DoublePermutation.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:1252:0,
DoublePermutation.c: from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:33,
DoublePermutation.c: from DoublePermutation.c:17:
DoublePermutation.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:713:1: error: inlining failed in call to always_inline '_mm_store_si128': target specific option mismatch
DoublePermutation.c: _mm_store_si128 (__m128i *__P, __m128i __B)
DoublePermutation.c: ^~~~~~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:43:33: note: called from here
DoublePermutation.c: #define STORE128(a, b) _mm_store_si128((V128 *)&(a), b)
DoublePermutation.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:468:5: note: in expansion of macro 'STORE128'
DoublePermutation.c: STORE128(state[24], X##su); \
DoublePermutation.c: ^~~~~~~~
DoublePermutation.c: KeccakF-1600-unrolling.macros:41:5: note: in expansion of macro 'copyToState'
DoublePermutation.c: copyToState(state, A)
DoublePermutation.c: ^~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:507:5: note: in expansion of macro 'rounds'
DoublePermutation.c: rounds
DoublePermutation.c: ^~~~~~
DoublePermutation.c: ...

Number of similar (compiler,implementation) pairs: 176, namely:
CompilerImplementations
gcc -funroll-loops -m32 -O2 -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -O3 -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -O -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -Os -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer sseu24 xopu24
gcc -m32 -O2 -fomit-frame-pointer sseu24 xopu24
gcc -m32 -O3 -fomit-frame-pointer sseu24 xopu24
gcc -m32 -O -fomit-frame-pointer sseu24 xopu24
gcc -m32 -Os -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=athlon -O2 -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=athlon -O3 -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=athlon -O -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=athlon -Os -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=i386 -O2 -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=i386 -O3 -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=i386 -O -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=i386 -Os -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=i486 -O2 -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=i486 -O3 -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=i486 -O -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=i486 -Os -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=k6-2 -O2 -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=k6-2 -O3 -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=k6-2 -O -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=k6-2 -Os -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=k6-3 -O2 -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=k6-3 -O3 -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=k6-3 -O -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=k6-3 -Os -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=k6 -O2 -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=k6 -O3 -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=k6 -O -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=k6 -Os -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=pentium-mmx -O -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=pentium2 -O2 -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=pentium2 -O3 -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=pentium2 -O -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=pentium2 -Os -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=pentium -O2 -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=pentium -O3 -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=pentium -O -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=pentium -Os -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=pentiumpro -O -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=pentiumpro -Os -fomit-frame-pointer sseu24 xopu24

Compiler output

Implementation: crypto_hash/keccakc256treed2/sseu4
Compiler: gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer
DoublePermutation.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:39:0,
DoublePermutation.c: from DoublePermutation.c:17:
DoublePermutation.c: DoublePermutation.c: In function 'KeccakDoublePermutationOnWords':
DoublePermutation.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
DoublePermutation.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
DoublePermutation.c: ^~~~~~~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:161:9: note: called from here
DoublePermutation.c: Bmu = ROL64in128_56(A##so); \
DoublePermutation.c: ^
DoublePermutation.c: KeccakF-1600-unrolling.macros:93:9: note: in expansion of macro 'thetaRhoPiChiIotaPrepareTheta'
DoublePermutation.c: thetaRhoPiChiIotaPrepareTheta(i+3, E, A) \
DoublePermutation.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:507:5: note: in expansion of macro 'rounds'
DoublePermutation.c: rounds
DoublePermutation.c: ^~~~~~
DoublePermutation.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:39:0,
DoublePermutation.c: from DoublePermutation.c:17:
DoublePermutation.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
DoublePermutation.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
DoublePermutation.c: ^~~~~~~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:136:9: note: called from here
DoublePermutation.c: Bko = ROL64in128_8(A##mu); \
DoublePermutation.c: ^
DoublePermutation.c: KeccakF-1600-unrolling.macros:93:9: note: in expansion of macro 'thetaRhoPiChiIotaPrepareTheta'
DoublePermutation.c: thetaRhoPiChiIotaPrepareTheta(i+3, E, A) \
DoublePermutation.c: ...

Number of similar (compiler,implementation) pairs: 44, namely:
CompilerImplementations
gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer sseu4
gcc -m32 -march=k8 -O2 -fomit-frame-pointer sseu4
gcc -m32 -march=k8 -O3 -fomit-frame-pointer sseu4
gcc -m32 -march=k8 -O -fomit-frame-pointer sseu4
gcc -m32 -march=k8 -Os -fomit-frame-pointer sseu4
gcc -m32 -march=nocona -O2 -fomit-frame-pointer sseu4
gcc -m32 -march=nocona -O3 -fomit-frame-pointer sseu4
gcc -m32 -march=nocona -O -fomit-frame-pointer sseu4
gcc -m32 -march=nocona -Os -fomit-frame-pointer sseu4
gcc -m32 -march=pentium-m -O2 -fomit-frame-pointer sseu4
gcc -m32 -march=pentium-m -O3 -fomit-frame-pointer sseu4
gcc -m32 -march=pentium-m -O -fomit-frame-pointer sseu4
gcc -m32 -march=pentium-m -Os -fomit-frame-pointer sseu4
gcc -m32 -march=pentium4 -O2 -fomit-frame-pointer sseu4
gcc -m32 -march=pentium4 -O3 -fomit-frame-pointer sseu4
gcc -m32 -march=pentium4 -O -fomit-frame-pointer sseu4
gcc -m32 -march=pentium4 -Os -fomit-frame-pointer sseu4
gcc -m32 -march=prescott -O2 -fomit-frame-pointer sseu4
gcc -m32 -march=prescott -O3 -fomit-frame-pointer sseu4
gcc -m32 -march=prescott -O -fomit-frame-pointer sseu4
gcc -m32 -march=prescott -Os -fomit-frame-pointer sseu4

Compiler output

Implementation: crypto_hash/keccakc256treed2/sseu24
Compiler: gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer
DoublePermutation.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:39:0,
DoublePermutation.c: from DoublePermutation.c:17:
DoublePermutation.c: DoublePermutation.c: In function 'KeccakDoublePermutationOnWords':
DoublePermutation.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
DoublePermutation.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
DoublePermutation.c: ^~~~~~~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:260:9: note: called from here
DoublePermutation.c: Bmu = ROL64in128_56(A##so); \
DoublePermutation.c: ^
DoublePermutation.c: KeccakF-1600-unrolling.macros:40:5: note: in expansion of macro 'thetaRhoPiChiIota'
DoublePermutation.c: thetaRhoPiChiIota(23, E, A) \
DoublePermutation.c: ^~~~~~~~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:507:5: note: in expansion of macro 'rounds'
DoublePermutation.c: rounds
DoublePermutation.c: ^~~~~~
DoublePermutation.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:39:0,
DoublePermutation.c: from DoublePermutation.c:17:
DoublePermutation.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
DoublePermutation.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
DoublePermutation.c: ^~~~~~~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:241:9: note: called from here
DoublePermutation.c: Bko = ROL64in128_8(A##mu); \
DoublePermutation.c: ^
DoublePermutation.c: KeccakF-1600-unrolling.macros:40:5: note: in expansion of macro 'thetaRhoPiChiIota'
DoublePermutation.c: thetaRhoPiChiIota(23, E, A) \
DoublePermutation.c: ...

Number of similar (compiler,implementation) pairs: 44, namely:
CompilerImplementations
gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer sseu24
gcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer sseu24
gcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer sseu24
gcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer sseu24
gcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer sseu24
gcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer sseu24
gcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer sseu24
gcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer sseu24
gcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer sseu24
gcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer sseu24
gcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer sseu24
gcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer sseu24
gcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer sseu24
gcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer sseu24
gcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer sseu24
gcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer sseu24
gcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer sseu24
gcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer sseu24
gcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer sseu24
gcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer sseu24
gcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer sseu24
gcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer sseu24
gcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer sseu24
gcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer sseu24
gcc -m32 -march=k8 -O2 -fomit-frame-pointer sseu24
gcc -m32 -march=k8 -O3 -fomit-frame-pointer sseu24
gcc -m32 -march=k8 -O -fomit-frame-pointer sseu24
gcc -m32 -march=k8 -Os -fomit-frame-pointer sseu24
gcc -m32 -march=nocona -O2 -fomit-frame-pointer sseu24
gcc -m32 -march=nocona -O3 -fomit-frame-pointer sseu24
gcc -m32 -march=nocona -O -fomit-frame-pointer sseu24
gcc -m32 -march=nocona -Os -fomit-frame-pointer sseu24
gcc -m32 -march=pentium-m -O2 -fomit-frame-pointer sseu24
gcc -m32 -march=pentium-m -O3 -fomit-frame-pointer sseu24
gcc -m32 -march=pentium-m -O -fomit-frame-pointer sseu24
gcc -m32 -march=pentium-m -Os -fomit-frame-pointer sseu24
gcc -m32 -march=pentium4 -O2 -fomit-frame-pointer sseu24
gcc -m32 -march=pentium4 -O3 -fomit-frame-pointer sseu24
gcc -m32 -march=pentium4 -O -fomit-frame-pointer sseu24
gcc -m32 -march=pentium4 -Os -fomit-frame-pointer sseu24
gcc -m32 -march=prescott -O2 -fomit-frame-pointer sseu24
gcc -m32 -march=prescott -O3 -fomit-frame-pointer sseu24
gcc -m32 -march=prescott -O -fomit-frame-pointer sseu24
gcc -m32 -march=prescott -Os -fomit-frame-pointer sseu24

Compiler output

Implementation: crypto_hash/keccakc256treed2/xopu24
Compiler: gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer
DoublePermutation.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:54:0,
DoublePermutation.c: from DoublePermutation.c:17:
DoublePermutation.c: DoublePermutation.c: In function 'KeccakDoublePermutationOnWords':
DoublePermutation.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/xopintrin.h:266:1: error: inlining failed in call to always_inline '_mm_roti_epi64': target specific option mismatch
DoublePermutation.c: _mm_roti_epi64(__m128i __A, const int __B)
DoublePermutation.c: ^~~~~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:276:9: note: called from here
DoublePermutation.c: Bsu = ROL64in128(A##se, 2); \
DoublePermutation.c: ^
DoublePermutation.c: KeccakF-1600-unrolling.macros:40:5: note: in expansion of macro 'thetaRhoPiChiIota'
DoublePermutation.c: thetaRhoPiChiIota(23, E, A) \
DoublePermutation.c: ^~~~~~~~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:507:5: note: in expansion of macro 'rounds'
DoublePermutation.c: rounds
DoublePermutation.c: ^~~~~~
DoublePermutation.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:54:0,
DoublePermutation.c: from DoublePermutation.c:17:
DoublePermutation.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/xopintrin.h:266:1: error: inlining failed in call to always_inline '_mm_roti_epi64': target specific option mismatch
DoublePermutation.c: _mm_roti_epi64(__m128i __A, const int __B)
DoublePermutation.c: ^~~~~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:273:9: note: called from here
DoublePermutation.c: Bso = ROL64in128(A##ma, 41); \
DoublePermutation.c: ^
DoublePermutation.c: KeccakF-1600-unrolling.macros:40:5: note: in expansion of macro 'thetaRhoPiChiIota'
DoublePermutation.c: thetaRhoPiChiIota(23, E, A) \
DoublePermutation.c: ...

Number of similar (compiler,implementation) pairs: 76, namely:
CompilerImplementations
gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer xopu24
gcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer xopu24
gcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer xopu24
gcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer xopu24
gcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer xopu24
gcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer xopu24
gcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer xopu24
gcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer xopu24
gcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer xopu24
gcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer xopu24
gcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer xopu24
gcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer xopu24
gcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer xopu24
gcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer xopu24
gcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer xopu24
gcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer xopu24
gcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer xopu24
gcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer xopu24
gcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer xopu24
gcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer xopu24
gcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer xopu24
gcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer xopu24
gcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer xopu24
gcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer xopu24
gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer xopu24
gcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer xopu24
gcc -m32 -march=core-avx-i -O -fomit-frame-pointer xopu24
gcc -m32 -march=core-avx-i -Os -fomit-frame-pointer xopu24
gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer xopu24
gcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer xopu24
gcc -m32 -march=core-avx2 -O -fomit-frame-pointer xopu24
gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer xopu24
gcc -m32 -march=core2 -O2 -fomit-frame-pointer xopu24
gcc -m32 -march=core2 -O3 -fomit-frame-pointer xopu24
gcc -m32 -march=core2 -O -fomit-frame-pointer xopu24
gcc -m32 -march=core2 -Os -fomit-frame-pointer xopu24
gcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer xopu24
gcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer xopu24
gcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer xopu24
gcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer xopu24
gcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer xopu24
gcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer xopu24
gcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer xopu24
gcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer xopu24
gcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer xopu24
gcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer xopu24
gcc -m32 -march=corei7-avx -O -fomit-frame-pointer xopu24
gcc -m32 -march=corei7-avx -Os -fomit-frame-pointer xopu24
gcc -m32 -march=corei7 -O2 -fomit-frame-pointer xopu24
gcc -m32 -march=corei7 -O3 -fomit-frame-pointer xopu24
gcc -m32 -march=corei7 -O -fomit-frame-pointer xopu24
gcc -m32 -march=corei7 -Os -fomit-frame-pointer xopu24
gcc -m32 -march=k8 -O2 -fomit-frame-pointer xopu24
gcc -m32 -march=k8 -O3 -fomit-frame-pointer xopu24
gcc -m32 -march=k8 -O -fomit-frame-pointer xopu24
gcc -m32 -march=k8 -Os -fomit-frame-pointer xopu24
gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer xopu24
gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer xopu24
gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer xopu24
gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer xopu24
gcc -m32 -march=nocona -O2 -fomit-frame-pointer xopu24
gcc -m32 -march=nocona -O3 -fomit-frame-pointer xopu24
gcc -m32 -march=nocona -O -fomit-frame-pointer xopu24
gcc -m32 -march=nocona -Os -fomit-frame-pointer xopu24
gcc -m32 -march=pentium-m -O2 -fomit-frame-pointer xopu24
gcc -m32 -march=pentium-m -O3 -fomit-frame-pointer xopu24
gcc -m32 -march=pentium-m -O -fomit-frame-pointer xopu24
gcc -m32 -march=pentium-m -Os -fomit-frame-pointer xopu24
gcc -m32 -march=pentium4 -O2 -fomit-frame-pointer xopu24
gcc -m32 -march=pentium4 -O3 -fomit-frame-pointer xopu24
gcc -m32 -march=pentium4 -O -fomit-frame-pointer xopu24
gcc -m32 -march=pentium4 -Os -fomit-frame-pointer xopu24
gcc -m32 -march=prescott -O2 -fomit-frame-pointer xopu24
gcc -m32 -march=prescott -O3 -fomit-frame-pointer xopu24
gcc -m32 -march=prescott -O -fomit-frame-pointer xopu24
gcc -m32 -march=prescott -Os -fomit-frame-pointer xopu24

Compiler output

Implementation: crypto_hash/keccakc256treed2/sseu4
Compiler: gcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer
DoublePermutation.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:1252:0,
DoublePermutation.c: from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:33,
DoublePermutation.c: from DoublePermutation.c:17:
DoublePermutation.c: DoublePermutation.c: In function 'KeccakDoublePermutationOnWords':
DoublePermutation.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:1291:1: error: inlining failed in call to always_inline '_mm_xor_si128': target specific option mismatch
DoublePermutation.c: _mm_xor_si128 (__m128i __A, __m128i __B)
DoublePermutation.c: ^~~~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:73:8: note: called from here
DoublePermutation.c: Cu = XOR128(Abu, XOR128(Agu, XOR128(Aku, XOR128(Amu, Asu)))); \
DoublePermutation.c: ^
DoublePermutation.c: KeccakF-1600-unrolling.macros:88:5: note: in expansion of macro 'prepareTheta'
DoublePermutation.c: prepareTheta \
DoublePermutation.c: ^~~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:507:5: note: in expansion of macro 'rounds'
DoublePermutation.c: rounds
DoublePermutation.c: ^~~~~~
DoublePermutation.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:1252:0,
DoublePermutation.c: from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:33,
DoublePermutation.c: from DoublePermutation.c:17:
DoublePermutation.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:1291:1: error: inlining failed in call to always_inline '_mm_xor_si128': target specific option mismatch
DoublePermutation.c: _mm_xor_si128 (__m128i __A, __m128i __B)
DoublePermutation.c: ^~~~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:44:33: note: called from here
DoublePermutation.c: #define XOR128(a, b) _mm_xor_si128(a, b)
DoublePermutation.c: ^~~~~~~~~~~~~~~~~~~
DoublePermutation.c: ...

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
gcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer sseu4
gcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer sseu4
gcc -m32 -march=pentium3 -O2 -fomit-frame-pointer sseu4
gcc -m32 -march=pentium3 -O3 -fomit-frame-pointer sseu4
gcc -m32 -march=pentium3 -O -fomit-frame-pointer sseu4
gcc -m32 -march=pentium3 -Os -fomit-frame-pointer sseu4

Compiler output

Implementation: crypto_hash/keccakc256treed2/sseu24
Compiler: gcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer
DoublePermutation.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:1252:0,
DoublePermutation.c: from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:33,
DoublePermutation.c: from DoublePermutation.c:17:
DoublePermutation.c: DoublePermutation.c: In function 'KeccakDoublePermutationOnWords':
DoublePermutation.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:713:1: error: inlining failed in call to always_inline '_mm_store_si128': target specific option mismatch
DoublePermutation.c: _mm_store_si128 (__m128i *__P, __m128i __B)
DoublePermutation.c: ^~~~~~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:43:33: note: called from here
DoublePermutation.c: #define STORE128(a, b) _mm_store_si128((V128 *)&(a), b)
DoublePermutation.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:468:5: note: in expansion of macro 'STORE128'
DoublePermutation.c: STORE128(state[24], X##su); \
DoublePermutation.c: ^~~~~~~~
DoublePermutation.c: KeccakF-1600-unrolling.macros:41:5: note: in expansion of macro 'copyToState'
DoublePermutation.c: copyToState(state, A)
DoublePermutation.c: ^~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:507:5: note: in expansion of macro 'rounds'
DoublePermutation.c: rounds
DoublePermutation.c: ^~~~~~
DoublePermutation.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:1252:0,
DoublePermutation.c: from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:33,
DoublePermutation.c: from DoublePermutation.c:17:
DoublePermutation.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:713:1: error: inlining failed in call to always_inline '_mm_store_si128': target specific option mismatch
DoublePermutation.c: _mm_store_si128 (__m128i *__P, __m128i __B)
DoublePermutation.c: ^~~~~~~~~~~~~~~
DoublePermutation.c: ...

Number of similar (compiler,implementation) pairs: 16, namely:
CompilerImplementations
gcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer sseu24 xopu24
gcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=pentium3 -O2 -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=pentium3 -O3 -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=pentium3 -O -fomit-frame-pointer sseu24 xopu24
gcc -m32 -march=pentium3 -Os -fomit-frame-pointer sseu24 xopu24

Compiler output

Implementation: crypto_hash/keccakc256treed2/sseu4
Compiler: gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
DoublePermutation.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:39:0,
DoublePermutation.c: from DoublePermutation.c:17:
DoublePermutation.c: DoublePermutation.c: In function 'KeccakDoublePermutationOnWords':
DoublePermutation.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
DoublePermutation.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
DoublePermutation.c: ^~~~~~~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:161:9: note: called from here
DoublePermutation.c: Bmu = ROL64in128_56(A##so); \
DoublePermutation.c: ^
DoublePermutation.c: KeccakF-1600-unrolling.macros:93:9: note: in expansion of macro 'thetaRhoPiChiIotaPrepareTheta'
DoublePermutation.c: thetaRhoPiChiIotaPrepareTheta(i+3, E, A) \
DoublePermutation.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:507:5: note: in expansion of macro 'rounds'
DoublePermutation.c: rounds
DoublePermutation.c: ^~~~~~
DoublePermutation.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:39:0,
DoublePermutation.c: from DoublePermutation.c:17:
DoublePermutation.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
DoublePermutation.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
DoublePermutation.c: ^~~~~~~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:136:9: note: called from here
DoublePermutation.c: Bko = ROL64in128_8(A##mu); \
DoublePermutation.c: ^
DoublePermutation.c: KeccakF-1600-unrolling.macros:93:9: note: in expansion of macro 'thetaRhoPiChiIotaPrepareTheta'
DoublePermutation.c: thetaRhoPiChiIotaPrepareTheta(i+3, E, A) \
DoublePermutation.c: ...
DoublePermutation.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:39:0,
DoublePermutation.c: from DoublePermutation.c:17:
DoublePermutation.c: DoublePermutation.c: In function 'KeccakDoublePermutationOnWords':
DoublePermutation.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
DoublePermutation.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
DoublePermutation.c: ^~~~~~~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:161:9: note: called from here
DoublePermutation.c: Bmu = ROL64in128_56(A##so); \
DoublePermutation.c: ^
DoublePermutation.c: KeccakF-1600-unrolling.macros:93:9: note: in expansion of macro 'thetaRhoPiChiIotaPrepareTheta'
DoublePermutation.c: thetaRhoPiChiIotaPrepareTheta(i+3, E, A) \
DoublePermutation.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:507:5: note: in expansion of macro 'rounds'
DoublePermutation.c: rounds
DoublePermutation.c: ^~~~~~
DoublePermutation.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:39:0,
DoublePermutation.c: from DoublePermutation.c:17:
DoublePermutation.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
DoublePermutation.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
DoublePermutation.c: ^~~~~~~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:136:9: note: called from here
DoublePermutation.c: Bko = ROL64in128_8(A##mu); \
DoublePermutation.c: ^
DoublePermutation.c: KeccakF-1600-unrolling.macros:93:9: note: in expansion of macro 'thetaRhoPiChiIotaPrepareTheta'
DoublePermutation.c: thetaRhoPiChiIotaPrepareTheta(i+3, E, A) \
DoublePermutation.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m32 -march=barcelona -O2 -fomit-frame-pointer sseu4
gcc -m32 -march=barcelona -O3 -fomit-frame-pointer sseu4
gcc -m32 -march=barcelona -O -fomit-frame-pointer sseu4
gcc -m32 -march=barcelona -Os -fomit-frame-pointer sseu4

Compiler output

Implementation: crypto_hash/keccakc256treed2/sseu24
Compiler: gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
DoublePermutation.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:39:0,
DoublePermutation.c: from DoublePermutation.c:17:
DoublePermutation.c: DoublePermutation.c: In function 'KeccakDoublePermutationOnWords':
DoublePermutation.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
DoublePermutation.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
DoublePermutation.c: ^~~~~~~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:260:9: note: called from here
DoublePermutation.c: Bmu = ROL64in128_56(A##so); \
DoublePermutation.c: ^
DoublePermutation.c: KeccakF-1600-unrolling.macros:40:5: note: in expansion of macro 'thetaRhoPiChiIota'
DoublePermutation.c: thetaRhoPiChiIota(23, E, A) \
DoublePermutation.c: ^~~~~~~~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:507:5: note: in expansion of macro 'rounds'
DoublePermutation.c: rounds
DoublePermutation.c: ^~~~~~
DoublePermutation.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:39:0,
DoublePermutation.c: from DoublePermutation.c:17:
DoublePermutation.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
DoublePermutation.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
DoublePermutation.c: ^~~~~~~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:241:9: note: called from here
DoublePermutation.c: Bko = ROL64in128_8(A##mu); \
DoublePermutation.c: ^
DoublePermutation.c: KeccakF-1600-unrolling.macros:40:5: note: in expansion of macro 'thetaRhoPiChiIota'
DoublePermutation.c: thetaRhoPiChiIota(23, E, A) \
DoublePermutation.c: ...
DoublePermutation.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:39:0,
DoublePermutation.c: from DoublePermutation.c:17:
DoublePermutation.c: DoublePermutation.c: In function 'KeccakDoublePermutationOnWords':
DoublePermutation.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
DoublePermutation.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
DoublePermutation.c: ^~~~~~~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:260:9: note: called from here
DoublePermutation.c: Bmu = ROL64in128_56(A##so); \
DoublePermutation.c: ^
DoublePermutation.c: KeccakF-1600-unrolling.macros:40:5: note: in expansion of macro 'thetaRhoPiChiIota'
DoublePermutation.c: thetaRhoPiChiIota(23, E, A) \
DoublePermutation.c: ^~~~~~~~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:507:5: note: in expansion of macro 'rounds'
DoublePermutation.c: rounds
DoublePermutation.c: ^~~~~~
DoublePermutation.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:39:0,
DoublePermutation.c: from DoublePermutation.c:17:
DoublePermutation.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
DoublePermutation.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
DoublePermutation.c: ^~~~~~~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:241:9: note: called from here
DoublePermutation.c: Bko = ROL64in128_8(A##mu); \
DoublePermutation.c: ^
DoublePermutation.c: KeccakF-1600-unrolling.macros:40:5: note: in expansion of macro 'thetaRhoPiChiIota'
DoublePermutation.c: thetaRhoPiChiIota(23, E, A) \
DoublePermutation.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m32 -march=barcelona -O2 -fomit-frame-pointer sseu24
gcc -m32 -march=barcelona -O3 -fomit-frame-pointer sseu24
gcc -m32 -march=barcelona -O -fomit-frame-pointer sseu24
gcc -m32 -march=barcelona -Os -fomit-frame-pointer sseu24

Compiler output

Implementation: crypto_hash/keccakc256treed2/xopu24
Compiler: gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
DoublePermutation.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:54:0,
DoublePermutation.c: from DoublePermutation.c:17:
DoublePermutation.c: DoublePermutation.c: In function 'KeccakDoublePermutationOnWords':
DoublePermutation.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/xopintrin.h:266:1: error: inlining failed in call to always_inline '_mm_roti_epi64': target specific option mismatch
DoublePermutation.c: _mm_roti_epi64(__m128i __A, const int __B)
DoublePermutation.c: ^~~~~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:276:9: note: called from here
DoublePermutation.c: Bsu = ROL64in128(A##se, 2); \
DoublePermutation.c: ^
DoublePermutation.c: KeccakF-1600-unrolling.macros:40:5: note: in expansion of macro 'thetaRhoPiChiIota'
DoublePermutation.c: thetaRhoPiChiIota(23, E, A) \
DoublePermutation.c: ^~~~~~~~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:507:5: note: in expansion of macro 'rounds'
DoublePermutation.c: rounds
DoublePermutation.c: ^~~~~~
DoublePermutation.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:54:0,
DoublePermutation.c: from DoublePermutation.c:17:
DoublePermutation.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/xopintrin.h:266:1: error: inlining failed in call to always_inline '_mm_roti_epi64': target specific option mismatch
DoublePermutation.c: _mm_roti_epi64(__m128i __A, const int __B)
DoublePermutation.c: ^~~~~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:273:9: note: called from here
DoublePermutation.c: Bso = ROL64in128(A##ma, 41); \
DoublePermutation.c: ^
DoublePermutation.c: KeccakF-1600-unrolling.macros:40:5: note: in expansion of macro 'thetaRhoPiChiIota'
DoublePermutation.c: thetaRhoPiChiIota(23, E, A) \
DoublePermutation.c: ...
DoublePermutation.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:54:0,
DoublePermutation.c: from DoublePermutation.c:17:
DoublePermutation.c: DoublePermutation.c: In function 'KeccakDoublePermutationOnWords':
DoublePermutation.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/xopintrin.h:266:1: error: inlining failed in call to always_inline '_mm_roti_epi64': target specific option mismatch
DoublePermutation.c: _mm_roti_epi64(__m128i __A, const int __B)
DoublePermutation.c: ^~~~~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:276:9: note: called from here
DoublePermutation.c: Bsu = ROL64in128(A##se, 2); \
DoublePermutation.c: ^
DoublePermutation.c: KeccakF-1600-unrolling.macros:40:5: note: in expansion of macro 'thetaRhoPiChiIota'
DoublePermutation.c: thetaRhoPiChiIota(23, E, A) \
DoublePermutation.c: ^~~~~~~~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:507:5: note: in expansion of macro 'rounds'
DoublePermutation.c: rounds
DoublePermutation.c: ^~~~~~
DoublePermutation.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:54:0,
DoublePermutation.c: from DoublePermutation.c:17:
DoublePermutation.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/xopintrin.h:266:1: error: inlining failed in call to always_inline '_mm_roti_epi64': target specific option mismatch
DoublePermutation.c: _mm_roti_epi64(__m128i __A, const int __B)
DoublePermutation.c: ^~~~~~~~~~~~~~
DoublePermutation.c: DoublePermutation.c:273:9: note: called from here
DoublePermutation.c: Bso = ROL64in128(A##ma, 41); \
DoublePermutation.c: ^
DoublePermutation.c: KeccakF-1600-unrolling.macros:40:5: note: in expansion of macro 'thetaRhoPiChiIota'
DoublePermutation.c: thetaRhoPiChiIota(23, E, A) \
DoublePermutation.c: ...

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