Implementation notes: amd64, genji262, crypto_sign/sphincss256sha256

Computer: genji262
Architecture: amd64
CPU ID: AuthenticAMD-00800f12-178bfbff
SUPERCOP version: 20180818
Operation: crypto_sign
Primitive: sphincss256sha256
TimeImplementationCompilerBenchmark dateSUPERCOP version
3757421646refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018082120180818
3768923554refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018082120180818
3770063594refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018082120180818
3770532568refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2018082120180818
3778477648refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018082120180818
3789645046refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018082120180818
3792143916refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2018082120180818
3795314006refgcc -funroll-loops -m64 -O -fomit-frame-pointer2018082120180818
3799533980refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2018082120180818
3817817916refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018082120180818
3826522898refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018082120180818
3829703878refgcc -funroll-loops -O3 -fomit-frame-pointer2018082120180818
3830153602refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018082120180818
3834571114refgcc -funroll-loops -O2 -fomit-frame-pointer2018082120180818
3834914094refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018082120180818
3834999586refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018082120180818
3836289292refgcc -O3 -fomit-frame-pointer2018082120180818
3838804728refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018082120180818
3840582416refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018082120180818
3841666488refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018082120180818
3843701202refgcc -funroll-loops -O -fomit-frame-pointer2018082120180818
3844914128refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2018082120180818
3847655834refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018082120180818
3850902726refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2018082120180818
3858639906refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018082120180818
3858857398refgcc -march=barcelona -O3 -fomit-frame-pointer2018082120180818
3859317462refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018082120180818
3859751764refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2018082120180818
3867812102refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018082120180818
3869935432refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018082120180818
3874257156refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2018082120180818
3874761220refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018082120180818
3876472336refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018082120180818
3876665606refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018082120180818
3876670138refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018082120180818
3877026692refgcc -march=nocona -O3 -fomit-frame-pointer2018082120180818
3877346726refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018082120180818
3882259216refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018082120180818
3883346500refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2018082120180818
3885041842refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018082120180818
3887032886refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018082120180818
3890300128refgcc -m64 -O3 -fomit-frame-pointer2018082120180818
3893846748refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018082120180818
3895618474refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018082120180818
3899049968refgcc -march=nocona -O -fomit-frame-pointer2018082120180818
3914388874refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2018082120180818
3923990400refgcc -march=k8 -O2 -fomit-frame-pointer2018082120180818
3926500138refgcc -march=barcelona -O2 -fomit-frame-pointer2018082120180818
3937725154refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018082120180818
3939442012refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018082120180818
3939565696refgcc -m64 -march=core2 -O -fomit-frame-pointer2018082120180818
3941402168refgcc -m64 -march=corei7 -O -fomit-frame-pointer2018082120180818
3942210910refgcc -march=nocona -O2 -fomit-frame-pointer2018082120180818
3944487492refgcc -m64 -march=barcelona -O -fomit-frame-pointer2018082120180818
3944997848refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2018082120180818
3945396202refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018082120180818
3945537706refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018082120180818
3948990166refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018082120180818
3949142076refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018082120180818
3954004956refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018082120180818
3959548296refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018082120180818
3959966318refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2018082120180818
3961567478refgcc -O -fomit-frame-pointer2018082120180818
3962200308refgcc -march=k8 -O3 -fomit-frame-pointer2018082120180818
3965125318refgcc -m64 -march=nocona -O -fomit-frame-pointer2018082120180818
3966143060refgcc -m64 -O2 -fomit-frame-pointer2018082120180818
3968116020refgcc -fno-schedule-insns -O -fomit-frame-pointer2018082120180818
3970953470refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018082120180818
3976780742refgcc -m64 -O -fomit-frame-pointer2018082120180818
3979110718refgcc -march=barcelona -O -fomit-frame-pointer2018082120180818
3992114522refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2018082120180818
4003065484refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018082120180818
4004126654refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2018082120180818
4004280852refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2018082120180818
4006821324refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018082120180818
4013170502refgcc -m64 -march=k8 -O -fomit-frame-pointer2018082120180818
4014213478refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018082120180818
4022287038refgcc -O2 -fomit-frame-pointer2018082120180818
4033399854refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018082120180818
4050347554refgcc -march=k8 -O -fomit-frame-pointer2018082120180818
4052030246refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018082120180818
4098412274refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2018082120180818
4107745444refgcc -fno-schedule-insns -Os -fomit-frame-pointer2018082120180818
4110822342refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018082120180818
4116811446refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2018082120180818
4127869438refgcc -m64 -Os -fomit-frame-pointer2018082120180818
4133967926refgcc -funroll-loops -Os -fomit-frame-pointer2018082120180818
4142737082refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018082120180818
4154526552refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018082120180818
4167555700refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018082120180818
4169349404refgcc -Os -fomit-frame-pointer2018082120180818
4176420490refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018082120180818
4182769448refgcc -march=k8 -Os -fomit-frame-pointer2018082120180818
4191295834refgcc -m64 -march=nocona -Os -fomit-frame-pointer2018082120180818
4197044764refgcc -m64 -march=core2 -Os -fomit-frame-pointer2018082120180818
4207318786refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018082120180818
4213498168refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018082120180818
4223503658refgcc -march=barcelona -Os -fomit-frame-pointer2018082120180818
4229276898refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018082120180818
4233079136refgcc -march=nocona -Os -fomit-frame-pointer2018082120180818
4237414962refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018082120180818
4240812158refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018082120180818
4240960614refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018082120180818
4243638872refgcc -m64 -march=k8 -Os -fomit-frame-pointer2018082120180818
4253469682refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018082120180818
4259522366refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2018082120180818
4260407470refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018082120180818
4275428894refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018082120180818
5707369690refcc2018082120180818
5780237012refgcc2018082120180818
5900326916refgcc -funroll-loops2018082120180818
7655164528avx2gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018082120180818
7669074842avx2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018082120180818
7695128254avx2gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018082120180818
8387182012avx2gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018082120180818
8480432268avx2gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018082120180818
8486542086avx2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018082120180818
8496887718avx2gcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018082120180818
8521505322avx2gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018082120180818
8572225838avx2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018082120180818
9630599946avx2gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018082120180818
9645518894avx2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018082120180818
10074296012avx2gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018082120180818

Compiler output

Implementation: crypto_sign/sphincss256sha256/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/sphincss256sha256/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/sphincss256sha256/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/sphincss256sha256/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/sphincss256sha256/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