Implementation notes: amd64, rumba5, crypto_sign/sphincss256sha256

Computer: rumba5
Architecture: amd64
CPU ID: AuthenticAMD-00800f11-178bfbff
SUPERCOP version: 20181216
Operation: crypto_sign
Primitive: sphincss256sha256
TimeImplementationCompilerBenchmark dateSUPERCOP version
4361917216refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018091320180818
4363989056refclang -O3 -fomit-frame-pointer -Qunused-arguments2018091320180818
4368712768refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018091320180818
4383449056refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018091320180818
4414792064refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2018091320180818
4419578368refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018091320180818
4424541792refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2018091320180818
4430839680refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018091320180818
4458861568refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018091320180818
4525642720refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2018091320180818
4568199200refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018091320180818
4571601088refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2018091320180818
4595886848refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2018091320180818
4597817472refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018091320180818
4600769600refgcc -funroll-loops -O -fomit-frame-pointer2018091320180818
4607320896refgcc -funroll-loops -m64 -O -fomit-frame-pointer2018091320180818
4607559168refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018091320180818
4609966400refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018091320180818
4612135040refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018091320180818
4615522240refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018091320180818
4616307392refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018091320180818
4616808352refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018091320180818
4616921952refgcc -m64 -O3 -fomit-frame-pointer2018091320180818
4617894688refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018091320180818
4622257888refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2018091320180818
4625383200refgcc -O3 -fomit-frame-pointer2018091320180818
4625486656refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018091320180818
4627114304refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2018091320180818
4628138080refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018091320180818
4633921824refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018091320180818
4634169632refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2018091320180818
4641491520refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018091320180818
4649886272refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018091320180818
4651766368refgcc -march=barcelona -O3 -fomit-frame-pointer2018091320180818
4652070400refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018091320180818
4655734976refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018091320180818
4658078848refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2018091320180818
4661148416refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018091320180818
4661259936refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2018091320180818
4661281504refgcc -march=k8 -O3 -fomit-frame-pointer2018091320180818
4661428000refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2018091320180818
4661481792refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018091320180818
4661956096refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2018091320180818
4662817184refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018091320180818
4670871744refgcc -march=k8 -O2 -fomit-frame-pointer2018091320180818
4673267520refgcc -funroll-loops -O2 -fomit-frame-pointer2018091320180818
4674804544refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018091320180818
4676846368refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018091320180818
4678770208refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2018091320180818
4679419136refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018091320180818
4680392192refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018091320180818
4689315648refgcc -m64 -march=nocona -O -fomit-frame-pointer2018091320180818
4689317504refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018091320180818
4698961536refgcc -march=nocona -O -fomit-frame-pointer2018091320180818
4725421472refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2018091320180818
4733288768refgcc -march=nocona -O3 -fomit-frame-pointer2018091320180818
4737311488refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018091320180818
4744549120refgcc -m64 -march=k8 -O -fomit-frame-pointer2018091320180818
4746550048refgcc -march=k8 -O -fomit-frame-pointer2018091320180818
4751560480refgcc -funroll-loops -O3 -fomit-frame-pointer2018091320180818
4758586560refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018091320180818
4759531808refgcc -march=barcelona -O2 -fomit-frame-pointer2018091320180818
4764641632refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018091320180818
4765490272refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018091320180818
4772338336refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018091320180818
4776538624refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018091320180818
4807281600refgcc -m64 -O -fomit-frame-pointer2018091320180818
4810924064refgcc -m64 -march=barcelona -O -fomit-frame-pointer2018091320180818
4812115872refgcc -fno-schedule-insns -O -fomit-frame-pointer2018091320180818
4814052160refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018091320180818
4816363456refgcc -march=barcelona -O -fomit-frame-pointer2018091320180818
4816917600refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2018091320180818
4817187296refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018091320180818
4818124672refgcc -O -fomit-frame-pointer2018091320180818
4824682112refgcc -march=nocona -O2 -fomit-frame-pointer2018091320180818
4846609120refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018091320180818
4848141440refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018091320180818
4852231040refgcc -m64 -march=core2 -O -fomit-frame-pointer2018091320180818
4853846816refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018091320180818
4856279328refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018091320180818
4856820512refgcc -m64 -march=corei7 -O -fomit-frame-pointer2018091320180818
4868680256refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018091320180818
4912340096refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018091320180818
4916489440refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018091320180818
4919764800refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018091320180818
4920515008refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2018091320180818
4922450272refgcc -O2 -fomit-frame-pointer2018091320180818
4925780128refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2018091320180818
4926410208refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018091320180818
4934496896refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018091320180818
4934668704refgcc -m64 -O2 -fomit-frame-pointer2018091320180818
5162413056refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018091320180818
5167232032refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018091320180818
5193197280refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018091320180818
5194437440refgcc -march=nocona -Os -fomit-frame-pointer2018091320180818
5199046464refgcc -m64 -march=nocona -Os -fomit-frame-pointer2018091320180818
5200187264refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018091320180818
5205932064refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018091320180818
5218293568refgcc -funroll-loops -Os -fomit-frame-pointer2018091320180818
5220011072refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018091320180818
5224880064refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018091320180818
5226505920refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018091320180818
5227726080refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018091320180818
5231161984refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018091320180818
5233220512refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2018091320180818
5238202720refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018091320180818
5287734176refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018091320180818
5296798464refgcc -march=k8 -Os -fomit-frame-pointer2018091320180818
5297992064refgcc -m64 -march=core2 -Os -fomit-frame-pointer2018091320180818
5299797824refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2018091320180818
5300773888refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018091320180818
5303905792refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018091320180818
5304865312refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2018091320180818
5306139808refgcc -fno-schedule-insns -Os -fomit-frame-pointer2018091320180818
5313512288refgcc -m64 -Os -fomit-frame-pointer2018091320180818
5318284736refgcc -Os -fomit-frame-pointer2018091320180818
5322072288refgcc -m64 -march=k8 -Os -fomit-frame-pointer2018091320180818
5383446080refgcc -march=barcelona -Os -fomit-frame-pointer2018091320180818
6682070848refgcc -funroll-loops2018091320180818
6703535712refcc2018091320180818
6710517728refgcc2018091320180818
8672207616avx2clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018091320180818
8681518464avx2clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018091320180818
8709027872avx2clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2018091320180818
8711547168avx2clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2018091320180818
10018548768avx2gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018091320180818
10045180544avx2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018091320180818
10062256992avx2gcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018091320180818
10112972800avx2gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018091320180818
10191904768avx2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018091320180818
10217983136avx2gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018091320180818
10256005952avx2gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018091320180818
10270749472avx2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018091320180818
10317754240avx2gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018091320180818
11461335584avx2gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018091320180818
11522938656avx2gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018091320180818
12205354752avx2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018091320180818

Compiler output

Implementation: crypto_sign/sphincss256sha256/avx2
Compiler: cc
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 /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/5/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: error: called from here
sha256avx.c: tmp1[7] = _mm256_unpackhi_epi64(tmp0[5], tmp0[7]);
sha256avx.c: ^
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/5/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: error: called from here
sha256avx.c: tmp1[6] = _mm256_unpacklo_epi64(tmp0[5], tmp0[7]);
sha256avx.c: ^
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: ...

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

Compiler output

Implementation: crypto_sign/sphincss256sha256/avx2
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
sha256avx.c: sha256avx.c:10:15: error: always_inline function '_mm256_unpacklo_epi32' requires target feature 'sse4.2', but would be inlined into function 'transpose' that is compiled without support for 'sse4.2'
sha256avx.c: tmp0[0] = _mm256_unpacklo_epi32(s[0], s[1]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:11:15: error: always_inline function '_mm256_unpackhi_epi32' requires target feature 'sse4.2', but would be inlined into function 'transpose' that is compiled without support for 'sse4.2'
sha256avx.c: tmp0[1] = _mm256_unpackhi_epi32(s[0], s[1]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:12:15: error: always_inline function '_mm256_unpacklo_epi32' requires target feature 'sse4.2', but would be inlined into function 'transpose' that is compiled without support for 'sse4.2'
sha256avx.c: tmp0[2] = _mm256_unpacklo_epi32(s[2], s[3]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:13:15: error: always_inline function '_mm256_unpackhi_epi32' requires target feature 'sse4.2', but would be inlined into function 'transpose' that is compiled without support for 'sse4.2'
sha256avx.c: tmp0[3] = _mm256_unpackhi_epi32(s[2], s[3]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:14:15: error: always_inline function '_mm256_unpacklo_epi32' requires target feature 'sse4.2', but would be inlined into function 'transpose' that is compiled without support for 'sse4.2'
sha256avx.c: tmp0[4] = _mm256_unpacklo_epi32(s[4], s[5]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:15:15: error: always_inline function '_mm256_unpackhi_epi32' requires target feature 'sse4.2', but would be inlined into function 'transpose' that is compiled without support for 'sse4.2'
sha256avx.c: tmp0[5] = _mm256_unpackhi_epi32(s[4], s[5]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:16:15: error: always_inline function '_mm256_unpacklo_epi32' requires target feature 'sse4.2', but would be inlined into function 'transpose' that is compiled without support for 'sse4.2'
sha256avx.c: tmp0[6] = _mm256_unpacklo_epi32(s[6], s[7]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:17:15: error: always_inline function '_mm256_unpackhi_epi32' requires target feature 'sse4.2', but would be inlined into function 'transpose' that is compiled without support for 'sse4.2'
sha256avx.c: tmp0[7] = _mm256_unpackhi_epi32(s[6], s[7]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:18:15: error: always_inline function '_mm256_unpacklo_epi64' requires target feature 'sse4.2', but would be inlined into function 'transpose' that is compiled without support for 'sse4.2'
sha256avx.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments avx2
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx2
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx2
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx2

Compiler output

Implementation: crypto_sign/sphincss256sha256/avx2
Compiler: clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments
sha256avx.c: sha256avx.c:10:15: error: always_inline function '_mm256_unpacklo_epi32' requires target feature 'avx2', but would be inlined into function 'transpose' that is compiled without support for 'avx2'
sha256avx.c: tmp0[0] = _mm256_unpacklo_epi32(s[0], s[1]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:11:15: error: always_inline function '_mm256_unpackhi_epi32' requires target feature 'avx2', but would be inlined into function 'transpose' that is compiled without support for 'avx2'
sha256avx.c: tmp0[1] = _mm256_unpackhi_epi32(s[0], s[1]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:12:15: error: always_inline function '_mm256_unpacklo_epi32' requires target feature 'avx2', but would be inlined into function 'transpose' that is compiled without support for 'avx2'
sha256avx.c: tmp0[2] = _mm256_unpacklo_epi32(s[2], s[3]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:13:15: error: always_inline function '_mm256_unpackhi_epi32' requires target feature 'avx2', but would be inlined into function 'transpose' that is compiled without support for 'avx2'
sha256avx.c: tmp0[3] = _mm256_unpackhi_epi32(s[2], s[3]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:14:15: error: always_inline function '_mm256_unpacklo_epi32' requires target feature 'avx2', but would be inlined into function 'transpose' that is compiled without support for 'avx2'
sha256avx.c: tmp0[4] = _mm256_unpacklo_epi32(s[4], s[5]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:15:15: error: always_inline function '_mm256_unpackhi_epi32' requires target feature 'avx2', but would be inlined into function 'transpose' that is compiled without support for 'avx2'
sha256avx.c: tmp0[5] = _mm256_unpackhi_epi32(s[4], s[5]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:16:15: error: always_inline function '_mm256_unpacklo_epi32' requires target feature 'avx2', but would be inlined into function 'transpose' that is compiled without support for 'avx2'
sha256avx.c: tmp0[6] = _mm256_unpacklo_epi32(s[6], s[7]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:17:15: error: always_inline function '_mm256_unpackhi_epi32' requires target feature 'avx2', but would be inlined into function 'transpose' that is compiled without support for 'avx2'
sha256avx.c: tmp0[7] = _mm256_unpackhi_epi32(s[6], s[7]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:18:15: error: always_inline function '_mm256_unpacklo_epi64' requires target feature 'avx2', but would be inlined into function 'transpose' that is compiled without support for 'avx2'
sha256avx.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments avx2
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments 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 /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/5/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: error: called from here
sha256avx.c: s[7] = _mm256_permute2x128_si256(tmp1[3], tmp1[7], 0x31);
sha256avx.c: ^
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/5/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: error: called from here
sha256avx.c: s[6] = _mm256_permute2x128_si256(tmp1[2], tmp1[6], 0x31);
sha256avx.c: ^
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
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 /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/5/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: error: called from here
sha256avx.c: s[7] = _mm256_permute2x128_si256(tmp1[3], tmp1[7], 0x31);
sha256avx.c: ^
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/5/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: error: called from here
sha256avx.c: s[6] = _mm256_permute2x128_si256(tmp1[2], tmp1[6], 0x31);
sha256avx.c: ^
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
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 /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/5/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: error: called from here
sha256avx.c: s[7] = _mm256_permute2x128_si256(tmp1[3], tmp1[7], 0x31);
sha256avx.c: ^
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/5/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: error: called from here
sha256avx.c: s[6] = _mm256_permute2x128_si256(tmp1[2], tmp1[6], 0x31);
sha256avx.c: ^
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
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 /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: sha256avx.c: In function 'transpose':
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/5/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: error: called from here
sha256avx.c: s[7] = _mm256_permute2x128_si256(tmp1[3], tmp1[7], 0x31);
sha256avx.c: ^
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/5/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: error: called from here
sha256avx.c: s[6] = _mm256_permute2x128_si256(tmp1[2], tmp1[6], 0x31);
sha256avx.c: ^
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/5/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