Implementation notes: amd64, bolero, crypto_sign/sphincss192sha256

Computer: bolero
Architecture: amd64
CPU ID: GenuineIntel-000406f1-bfebfbff
SUPERCOP version: 20190110
Operation: crypto_sign
Primitive: sphincss192sha256
TimeImplementationCompilerBenchmark dateSUPERCOP version
4772901892avx2clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018093020180818
4797310416avx2clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2018093020180818
5170968480avx2clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2018093020180818
5171903356avx2clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018093020180818
5292101084avx2gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018093020180818
5293124156avx2gcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018093020180818
5435071588avx2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018093020180818
5541353460avx2gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018093020180818
5604671128avx2gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018093020180818
5631077768avx2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018093020180818
5633913072avx2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018093020180818
5694010884avx2gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018093020180818
5695195744avx2gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018093020180818
6295339016avx2gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018093020180818
6295880608avx2gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018093020180818
6397749564avx2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018093020180818
12258390356refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2018100120180818
12281135444refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018093020180818
12281468440refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018093020180818
12291195904refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018093020180818
12291813352refclang -O3 -fomit-frame-pointer -Qunused-arguments2018100120180818
12320236184refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2018100120180818
12339747784refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018100120180818
12373835076refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2018100120180818
12374478572refgcc -march=k8 -O3 -fomit-frame-pointer2018100120180818
12401809868refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018100120180818
12406148856refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018100120180818
12408254528refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2018100120180818
12410554172refgcc -m64 -O3 -fomit-frame-pointer2018093020180818
12416311648refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018100120180818
12430131348refgcc -march=barcelona -O3 -fomit-frame-pointer2018100120180818
12431976536refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018093020180818
12433090972refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018093020180818
12458747036refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018100120180818
12469935916refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2018100120180818
12474448848refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2018100120180818
12479425140refgcc -march=nocona -O3 -fomit-frame-pointer2018100120180818
12502436424refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018100120180818
12502843768refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018093020180818
12515759948refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018100120180818
12515921936refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018100120180818
12518444952refgcc -O3 -fomit-frame-pointer2018100120180818
12542895068refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2018100120180818
12544730284refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2018100120180818
12560223868refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018100120180818
12561817972refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018100120180818
12562491360refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018100120180818
12564324704refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2018100120180818
12568003408refgcc -funroll-loops -O3 -fomit-frame-pointer2018100120180818
12575727664refgcc -march=nocona -O2 -fomit-frame-pointer2018100120180818
12576508492refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2018100120180818
12576660604refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2018100120180818
12581487588refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018093020180818
12587130780refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2018100120180818
12597495024refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018100120180818
12598740000refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018100120180818
12601003116refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018100120180818
12606669224refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018100120180818
12609283264refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018100120180818
12620655464refgcc -march=barcelona -O2 -fomit-frame-pointer2018100120180818
12624670740refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018093020180818
12628618592refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018100120180818
12630076840refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018100120180818
12634330520refgcc -funroll-loops -O2 -fomit-frame-pointer2018100120180818
12635991444refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018100120180818
12636544356refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018100120180818
12637229080refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2018100120180818
12638131660refgcc -march=k8 -O2 -fomit-frame-pointer2018100120180818
12639266924refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018100120180818
12639868704refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2018100120180818
12640969192refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018100120180818
12641250460refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018100120180818
12641786620refgcc -O2 -fomit-frame-pointer2018100120180818
12642790808refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018100120180818
12643995032refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018093020180818
12644891644refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018100120180818
12646095776refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018100120180818
12646527880refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018100120180818
12647747780refgcc -m64 -O2 -fomit-frame-pointer2018093020180818
12649621796refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018100120180818
12660561500refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018093020180818
12661460284refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018093020180818
12663904672refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018100120180818
12677824884refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2018100120180818
12679642336refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2018100120180818
12689826664refgcc -funroll-loops -O -fomit-frame-pointer2018100120180818
12690445224refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018100120180818
12690883616refgcc -funroll-loops -m64 -O -fomit-frame-pointer2018100120180818
12694979272refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018100120180818
12696767240refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018093020180818
12697036448refgcc -march=nocona -O -fomit-frame-pointer2018100120180818
12700133548refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018100120180818
12700502192refgcc -m64 -march=nocona -O -fomit-frame-pointer2018100120180818
12702697396refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018100120180818
12703276608refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018100120180818
12703842328refgcc -m64 -march=core2 -O -fomit-frame-pointer2018100120180818
12708293228refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018100120180818
12713135952refgcc -m64 -march=corei7 -O -fomit-frame-pointer2018100120180818
12747618660refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2018100120180818
12804548228refgcc -march=barcelona -O -fomit-frame-pointer2018100120180818
12806151284refgcc -m64 -march=barcelona -O -fomit-frame-pointer2018093020180818
12813042284refgcc -march=k8 -O -fomit-frame-pointer2018100120180818
12814087772refgcc -m64 -march=k8 -O -fomit-frame-pointer2018100120180818
12835827676refgcc -fno-schedule-insns -O -fomit-frame-pointer2018100120180818
12843384380refgcc -O -fomit-frame-pointer2018100120180818
12844620992refgcc -m64 -O -fomit-frame-pointer2018093020180818
12851044580refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018100120180818
13073960400refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018100120180818
13085452568refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018093020180818
13085937560refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018100120180818
13114849048refgcc -Os -fomit-frame-pointer2018100120180818
13115363892refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2018093020180818
13115862868refgcc -march=barcelona -Os -fomit-frame-pointer2018100120180818
13116537280refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018100120180818
13117603564refgcc -march=k8 -Os -fomit-frame-pointer2018100120180818
13117668772refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018100120180818
13124021016refgcc -m64 -march=k8 -Os -fomit-frame-pointer2018100120180818
13124614116refgcc -fno-schedule-insns -Os -fomit-frame-pointer2018100120180818
13135802216refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018100120180818
13138822432refgcc -m64 -Os -fomit-frame-pointer2018093020180818
13140417736refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018100120180818
13140513296refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018100120180818
13143454068refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018100120180818
13143685076refgcc -m64 -march=core2 -Os -fomit-frame-pointer2018100120180818
13144710692refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2018100120180818
13145366436refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018100120180818
13150552404refgcc -march=nocona -Os -fomit-frame-pointer2018100120180818
13153803512refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018100120180818
13154612596refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018100120180818
13158006592refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018093020180818
13169437752refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018100120180818
13188770024refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2018100120180818
13207352152refgcc -m64 -march=nocona -Os -fomit-frame-pointer2018100120180818
13241697352refgcc -funroll-loops -Os -fomit-frame-pointer2018100120180818
14700084564refcc2018100120180818
14790981156refgcc2018100120180818
14791574080refgcc -funroll-loops2018100120180818

Compiler output

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