Implementation notes: amd64, genji262, crypto_sign/sphincsf128sha256

Computer: genji262
Architecture: amd64
CPU ID: AuthenticAMD-00800f12-178bfbff
SUPERCOP version: 20180818
Operation: crypto_sign
Primitive: sphincsf128sha256
TimeImplementationCompilerBenchmark dateSUPERCOP version
99046508refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018082020180818
99620664refgcc -funroll-loops -O3 -fomit-frame-pointer2018082020180818
99768394refgcc -funroll-loops -O -fomit-frame-pointer2018082020180818
100002848refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018082020180818
100388376refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018082020180818
100416646refgcc -funroll-loops -m64 -O -fomit-frame-pointer2018082020180818
100739276refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018082020180818
100810182refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2018082020180818
100881638refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2018082020180818
100886852refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018082020180818
100955470refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018082020180818
101137960refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018082020180818
101219250refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018082020180818
101323024refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018082020180818
101481314refgcc -m64 -O3 -fomit-frame-pointer2018082020180818
101596044refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018082020180818
101665696refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2018082020180818
101747536refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018082020180818
101926308refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018082020180818
101962542refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2018082020180818
102039608refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018082020180818
102193674refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2018082020180818
102198536refgcc -march=barcelona -O3 -fomit-frame-pointer2018082020180818
102391762refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018082020180818
102533618refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018082020180818
102548908refgcc -m64 -O2 -fomit-frame-pointer2018082020180818
102623884refgcc -funroll-loops -O2 -fomit-frame-pointer2018082020180818
102624016refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018082020180818
102703370refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018082020180818
102752782refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2018082020180818
102956920refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018082020180818
103011392refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018082020180818
103423870refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018082020180818
103476912refgcc -O3 -fomit-frame-pointer2018082020180818
103497130refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018082020180818
103518316refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2018082020180818
103679862refgcc -O2 -fomit-frame-pointer2018082020180818
103750196refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018082020180818
103772020refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018082020180818
103942190refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2018082020180818
104064708refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018082020180818
104076412refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018082020180818
104096190refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018082020180818
104152752refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2018082020180818
104159748refgcc -m64 -O -fomit-frame-pointer2018082020180818
104270342refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018082020180818
104304090refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018082020180818
104483918refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018082020180818
104489220refgcc -march=k8 -O3 -fomit-frame-pointer2018082020180818
104507282refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018082020180818
104679828refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018082020180818
104933070refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2018082020180818
104967192refgcc -march=nocona -O3 -fomit-frame-pointer2018082020180818
104991634refgcc -m64 -march=core2 -O -fomit-frame-pointer2018082020180818
105074024refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018082020180818
105249980refgcc -m64 -march=k8 -O -fomit-frame-pointer2018082020180818
105717480refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018082020180818
105768388refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018082020180818
105790278refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018082020180818
105902148refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018082020180818
105931870refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018082020180818
105983812refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018082020180818
106035314refgcc -march=k8 -O -fomit-frame-pointer2018082020180818
106113260refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2018082020180818
106419170refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018082020180818
106491792refgcc -march=barcelona -O2 -fomit-frame-pointer2018082020180818
106529786refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018082020180818
106727874refgcc -m64 -march=corei7 -O -fomit-frame-pointer2018082020180818
106834486refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018082020180818
107012290refgcc -O -fomit-frame-pointer2018082020180818
107122488refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2018082020180818
107358812refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2018082020180818
107421534refgcc -march=k8 -O2 -fomit-frame-pointer2018082020180818
107540422refgcc -m64 -march=barcelona -O -fomit-frame-pointer2018082020180818
107795974refgcc -m64 -march=nocona -O -fomit-frame-pointer2018082020180818
107836652refgcc -march=barcelona -O -fomit-frame-pointer2018082020180818
108232850refgcc -march=nocona -O2 -fomit-frame-pointer2018082020180818
108325382refgcc -march=nocona -O -fomit-frame-pointer2018082020180818
108583860refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018082020180818
108585862refgcc -fno-schedule-insns -O -fomit-frame-pointer2018082020180818
109934374refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2018082020180818
113733994refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018082020180818
114021578refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018082020180818
114844642refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018082020180818
114975696refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018082020180818
115084178refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2018082020180818
115186412refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018082020180818
115254238refgcc -funroll-loops -Os -fomit-frame-pointer2018082020180818
115432570refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018082020180818
115455824refgcc -m64 -march=k8 -Os -fomit-frame-pointer2018082020180818
115481652refgcc -march=k8 -Os -fomit-frame-pointer2018082020180818
115617568refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018082020180818
116067182refgcc -m64 -march=nocona -Os -fomit-frame-pointer2018082020180818
116083814refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018082020180818
116292748refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018082020180818
116405388refgcc -march=nocona -Os -fomit-frame-pointer2018082020180818
116621736refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2018082020180818
116668266refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018082020180818
116773734refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018082020180818
116961108refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018082020180818
117513308refgcc -m64 -march=core2 -Os -fomit-frame-pointer2018082020180818
117768354refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018082020180818
118660344refgcc -march=barcelona -Os -fomit-frame-pointer2018082020180818
119153078refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2018082020180818
119893532refgcc -m64 -Os -fomit-frame-pointer2018082020180818
119954824refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018082020180818
120557008refgcc -Os -fomit-frame-pointer2018082020180818
121633534refgcc -fno-schedule-insns -Os -fomit-frame-pointer2018082020180818
164358722refcc2018082020180818
173336064refgcc -funroll-loops2018082020180818
176194700avx2gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018082020180818
176323356refgcc2018082020180818
177613546avx2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018082020180818
181263830avx2gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018082020180818
189371622avx2gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018082020180818
189770570avx2gcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018082020180818
196722922avx2gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018082020180818
196833362avx2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018082020180818
202237882avx2gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018082020180818
203531460avx2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018082020180818
221261150avx2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018082020180818
222304456avx2gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018082020180818
223493226avx2gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018082020180818

Compiler output

Implementation: crypto_sign/sphincsf128sha256/avx2
Compiler: cc
hash_sha256x8.c: In file included from hash_sha256x8.c:9:0:
hash_sha256x8.c: sha256avx.h:67:5: error: unknown type name '__m256i'
hash_sha256x8.c: u256 s[8];
hash_sha256x8.c: ^
hash_sha256x8.c: In file included from hash_sha256x8.c:9:0:
hash_sha256x8.c: sha256avx.h:26:14: error: unknown type name '__m256i'
hash_sha256x8.c: #define u256 __m256i
hash_sha256x8.c: ^
hash_sha256x8.c: sha256avx.h:74:16: note: in expansion of macro 'u256'
hash_sha256x8.c: void transpose(u256 s[8]);
hash_sha256x8.c: ^

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
cc avx2

Compiler output

Implementation: crypto_sign/sphincsf128sha256/avx2
Compiler: gcc
sha256avx.c: sha256avx.c: In function 'transpose':
sha256avx.c: sha256avx.c:10:13: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
sha256avx.c: tmp0[0] = _mm256_unpacklo_epi32(s[0], s[1]);
sha256avx.c: ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:43,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avx2intrin.h:878:1: error: inlining failed in call to always_inline '_mm256_unpackhi_epi64': target specific option mismatch
sha256avx.c: _mm256_unpackhi_epi64 (__m256i __A, __m256i __B)
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~
sha256avx.c: sha256avx.c:25:15: note: called from here
sha256avx.c: tmp1[7] = _mm256_unpackhi_epi64(tmp0[5], tmp0[7]);
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:43,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avx2intrin.h:906:1: error: inlining failed in call to always_inline '_mm256_unpacklo_epi64': target specific option mismatch
sha256avx.c: _mm256_unpacklo_epi64 (__m256i __A, __m256i __B)
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~
sha256avx.c: sha256avx.c:24:15: note: called from here
sha256avx.c: tmp1[6] = _mm256_unpacklo_epi64(tmp0[5], tmp0[7]);
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:43,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc avx2
gcc -funroll-loops avx2

Compiler output

Implementation: crypto_sign/sphincsf128sha256/avx2
Compiler: gcc -O2 -fomit-frame-pointer
sha256avx.c: sha256avx.c: In function 'transpose':
sha256avx.c: sha256avx.c:10:13: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
sha256avx.c: tmp0[0] = _mm256_unpacklo_epi32(s[0], s[1]);
sha256avx.c: ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:43,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: sha256avx.c:33:12: note: called from here
sha256avx.c: s[7] = _mm256_permute2x128_si256(tmp1[3], tmp1[7], 0x31);
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:43,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: sha256avx.c:32:12: note: called from here
sha256avx.c: s[6] = _mm256_permute2x128_si256(tmp1[2], tmp1[6], 0x31);
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:43,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: ...

Number of similar (compiler,implementation) pairs: 84, namely:
CompilerImplementations
gcc -O2 -fomit-frame-pointer avx2
gcc -O3 -fomit-frame-pointer avx2
gcc -O -fomit-frame-pointer avx2
gcc -Os -fomit-frame-pointer avx2
gcc -fno-schedule-insns -O2 -fomit-frame-pointer avx2
gcc -fno-schedule-insns -O3 -fomit-frame-pointer avx2
gcc -fno-schedule-insns -O -fomit-frame-pointer avx2
gcc -fno-schedule-insns -Os -fomit-frame-pointer avx2
gcc -funroll-loops -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -O -fomit-frame-pointer avx2
gcc -funroll-loops -Os -fomit-frame-pointer avx2
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer avx2
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer avx2
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer avx2
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer avx2
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer avx2
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer avx2
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer avx2
gcc -m64 -O2 -fomit-frame-pointer avx2
gcc -m64 -O3 -fomit-frame-pointer avx2
gcc -m64 -O -fomit-frame-pointer avx2
gcc -m64 -Os -fomit-frame-pointer avx2
gcc -m64 -march=core2 -O2 -fomit-frame-pointer avx2
gcc -m64 -march=core2 -O3 -fomit-frame-pointer avx2
gcc -m64 -march=core2 -O -fomit-frame-pointer avx2
gcc -m64 -march=core2 -Os -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer avx2
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer avx2
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer avx2
gcc -m64 -march=corei7 -O -fomit-frame-pointer avx2
gcc -m64 -march=corei7 -Os -fomit-frame-pointer avx2
gcc -m64 -march=k8 -O2 -fomit-frame-pointer avx2
gcc -m64 -march=k8 -O3 -fomit-frame-pointer avx2
gcc -m64 -march=k8 -O -fomit-frame-pointer avx2
gcc -m64 -march=k8 -Os -fomit-frame-pointer avx2
gcc -m64 -march=nocona -O2 -fomit-frame-pointer avx2
gcc -m64 -march=nocona -O3 -fomit-frame-pointer avx2
gcc -m64 -march=nocona -O -fomit-frame-pointer avx2
gcc -m64 -march=nocona -Os -fomit-frame-pointer avx2
gcc -march=barcelona -O2 -fomit-frame-pointer avx2
gcc -march=barcelona -O3 -fomit-frame-pointer avx2
gcc -march=barcelona -O -fomit-frame-pointer avx2
gcc -march=barcelona -Os -fomit-frame-pointer avx2
gcc -march=k8 -O2 -fomit-frame-pointer avx2
gcc -march=k8 -O3 -fomit-frame-pointer avx2
gcc -march=k8 -O -fomit-frame-pointer avx2
gcc -march=k8 -Os -fomit-frame-pointer avx2
gcc -march=nocona -O2 -fomit-frame-pointer avx2
gcc -march=nocona -O3 -fomit-frame-pointer avx2
gcc -march=nocona -O -fomit-frame-pointer avx2
gcc -march=nocona -Os -fomit-frame-pointer avx2

Compiler output

Implementation: crypto_sign/sphincsf128sha256/avx2
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
sha256avx.c: sha256avx.c: In function 'transpose':
sha256avx.c: sha256avx.c:10:13: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
sha256avx.c: tmp0[0] = _mm256_unpacklo_epi32(s[0], s[1]);
sha256avx.c: ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:43,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: sha256avx.c:33:12: note: called from here
sha256avx.c: s[7] = _mm256_permute2x128_si256(tmp1[3], tmp1[7], 0x31);
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:43,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: sha256avx.c:32:12: note: called from here
sha256avx.c: s[6] = _mm256_permute2x128_si256(tmp1[2], tmp1[6], 0x31);
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:43,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: ...
sha256avx.c: sha256avx.c: In function 'transpose':
sha256avx.c: sha256avx.c:10:13: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
sha256avx.c: tmp0[0] = _mm256_unpacklo_epi32(s[0], s[1]);
sha256avx.c: ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:43,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: sha256avx.c:33:12: note: called from here
sha256avx.c: s[7] = _mm256_permute2x128_si256(tmp1[3], tmp1[7], 0x31);
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:43,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: sha256avx.c:32:12: note: called from here
sha256avx.c: s[6] = _mm256_permute2x128_si256(tmp1[2], tmp1[6], 0x31);
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:43,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: ...

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

Compiler output

Implementation: crypto_sign/sphincsf128sha256/avx2
Compiler: gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer
sha256avx.c: In file included from /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:43,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: sha256avx.c: In function 'transpose':
sha256avx.c: /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: sha256avx.c:33:12: note: called from here
sha256avx.c: s[7] = _mm256_permute2x128_si256(tmp1[3], tmp1[7], 0x31);
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:43,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: sha256avx.c:32:12: note: called from here
sha256avx.c: s[6] = _mm256_permute2x128_si256(tmp1[2], tmp1[6], 0x31);
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:43,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: ...

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer avx2
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer avx2
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer avx2
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer avx2
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer avx2
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer avx2
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer avx2
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer avx2