Implementation notes: amd64, bolero, crypto_sign/sphincss256sha256

Computer: bolero
Architecture: amd64
CPU ID: GenuineIntel-000406f1-bfebfbff
SUPERCOP version: 20190110
Operation: crypto_sign
Primitive: sphincss256sha256
TimeImplementationCompilerBenchmark dateSUPERCOP version
5154693320avx2clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2018100920180818
5178072896avx2clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018100920180818
5469661024avx2clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018100920180818
5553977808avx2clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2018100920180818
5681479224avx2gcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018100920180818
5699934892avx2gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018100920180818
5715367600avx2gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018100920180818
5718110780avx2gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018100920180818
5848409948avx2gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018100920180818
5851806788avx2gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018100920180818
6073106232avx2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018100920180818
6208108432avx2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018100920180818
6295414360avx2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018100920180818
7048963012avx2gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018100920180818
7051937996avx2gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018100920180818
7123291640avx2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018100920180818
13028070608refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018100920180818
13028473020refclang -O3 -fomit-frame-pointer -Qunused-arguments2018101020180818
13031061552refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2018101020180818
13031364016refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018100920180818
13033486132refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018100920180818
13089745168refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018100920180818
13092712416refgcc -march=barcelona -O3 -fomit-frame-pointer2018100920180818
13106367052refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018101020180818
13107772132refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2018101020180818
13115657612refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018100920180818
13120811664refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018100920180818
13174894680refgcc -march=k8 -O2 -fomit-frame-pointer2018100920180818
13175574960refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018100920180818
13176596508refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018100920180818
13177955216refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2018100920180818
13188915924refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018101020180818
13195181428refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2018100920180818
13206577532refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018100920180818
13207300368refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018100920180818
13219074384refgcc -march=nocona -O2 -fomit-frame-pointer2018100920180818
13220591636refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2018100920180818
13223324708refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018100920180818
13225806664refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018100920180818
13233145656refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018100920180818
13233507940refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018101020180818
13233888124refgcc -funroll-loops -O2 -fomit-frame-pointer2018100920180818
13236485856refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2018100920180818
13241591992refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2018100920180818
13242831456refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018100920180818
13243457440refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2018100920180818
13246660628refgcc -m64 -O3 -fomit-frame-pointer2018100920180818
13247611844refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018100920180818
13248001776refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2018100920180818
13248306372refgcc -O3 -fomit-frame-pointer2018100920180818
13249210808refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2018100920180818
13251442840refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018100920180818
13252357108refgcc -march=barcelona -O2 -fomit-frame-pointer2018100920180818
13253969188refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018100920180818
13257279768refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018100920180818
13260547956refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018100920180818
13262401812refgcc -march=k8 -O3 -fomit-frame-pointer2018100920180818
13263163724refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2018100920180818
13264435924refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2018100920180818
13269591416refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018100920180818
13272078900refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018100920180818
13287374916refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018100920180818
13287516732refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2018101020180818
13290927084refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018101020180818
13291321356refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018100920180818
13291935868refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018101020180818
13293374040refgcc -funroll-loops -O3 -fomit-frame-pointer2018100920180818
13297254836refgcc -funroll-loops -O -fomit-frame-pointer2018100920180818
13297285220refgcc -funroll-loops -m64 -O -fomit-frame-pointer2018100920180818
13317809668refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018100920180818
13327532296refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018100920180818
13339073312refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018100920180818
13341261988refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018100920180818
13343786852refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018100920180818
13344095720refgcc -m64 -march=core2 -O -fomit-frame-pointer2018100920180818
13345948740refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018100920180818
13348630764refgcc -m64 -march=corei7 -O -fomit-frame-pointer2018100920180818
13352531024refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018100920180818
13354345488refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018100920180818
13354725188refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018100920180818
13359020592refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018100920180818
13360873860refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018100920180818
13362424432refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018100920180818
13362538536refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2018100920180818
13364796388refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018100920180818
13365702132refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2018100920180818
13370000484refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018100920180818
13373107728refgcc -m64 -march=k8 -O -fomit-frame-pointer2018100920180818
13374078504refgcc -march=k8 -O -fomit-frame-pointer2018100920180818
13374817164refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018100920180818
13378506280refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018100920180818
13379881052refgcc -m64 -O2 -fomit-frame-pointer2018100920180818
13382230048refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018100920180818
13382919500refgcc -O -fomit-frame-pointer2018100920180818
13383360272refgcc -fno-schedule-insns -O -fomit-frame-pointer2018101020180818
13391155200refgcc -O2 -fomit-frame-pointer2018100920180818
13392539008refgcc -m64 -O -fomit-frame-pointer2018100920180818
13396363272refgcc -march=nocona -O -fomit-frame-pointer2018100920180818
13396674308refgcc -m64 -march=barcelona -O -fomit-frame-pointer2018100920180818
13397510984refgcc -march=barcelona -O -fomit-frame-pointer2018100920180818
13415906732refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2018100920180818
13425385476refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2018100920180818
13425718608refgcc -march=nocona -O3 -fomit-frame-pointer2018100920180818
13443496488refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018100920180818
13449827628refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018100920180818
13451027424refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018100920180818
13488097164refgcc -m64 -march=nocona -O -fomit-frame-pointer2018100920180818
13729999080refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018100920180818
13731989432refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018100920180818
13732195272refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018100920180818
13737240688refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018100920180818
13746868596refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018100920180818
13746919408refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018100920180818
13750570256refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2018100920180818
13754849164refgcc -funroll-loops -Os -fomit-frame-pointer2018100920180818
13754947004refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018100920180818
13755788728refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018101020180818
13766377360refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018100920180818
13776061188refgcc -m64 -march=nocona -Os -fomit-frame-pointer2018100920180818
13785817816refgcc -march=nocona -Os -fomit-frame-pointer2018100920180818
13801213276refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018100920180818
13803293704refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018100920180818
13808147248refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2018100920180818
13808722140refgcc -march=barcelona -Os -fomit-frame-pointer2018100920180818
13810028784refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2018100920180818
13810710328refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018100920180818
13816564508refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018100920180818
13816766512refgcc -fno-schedule-insns -Os -fomit-frame-pointer2018100920180818
13817721532refgcc -m64 -march=core2 -Os -fomit-frame-pointer2018100920180818
13817979296refgcc -march=k8 -Os -fomit-frame-pointer2018100920180818
13822774536refgcc -m64 -Os -fomit-frame-pointer2018100920180818
13824724668refgcc -m64 -march=k8 -Os -fomit-frame-pointer2018100920180818
13826139768refgcc -Os -fomit-frame-pointer2018100920180818
13830307340refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018100920180818
15003388888refgcc -funroll-loops2018100920180818
15030085544refgcc2018100920180818
15038497668refcc2018101020180818

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