Implementation notes: amd64, bolero, crypto_sign/sphincsf128sha256

Computer: bolero
Architecture: amd64
CPU ID: GenuineIntel-000406f1-bfebfbff
SUPERCOP version: 20190110
Operation: crypto_sign
Primitive: sphincsf128sha256
TimeImplementationCompilerBenchmark dateSUPERCOP version
138408440avx2clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2018091820180818
139549248avx2clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018091820180818
151297612avx2clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2018091820180818
152145584avx2clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018091820180818
155659236avx2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018091820180818
156472156avx2gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018091820180818
156750660avx2gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018091820180818
158304784avx2gcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018091820180818
158400280avx2gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018091820180818
164360440avx2gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018091820180818
165705992avx2gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018091820180818
166108584avx2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018091820180818
167794788avx2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018091820180818
181198988avx2gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018091820180818
181222900avx2gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018091820180818
182415964avx2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018091820180818
302952908refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018091820180818
302959956refclang -O3 -fomit-frame-pointer -Qunused-arguments2018091820180818
302998056refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018091820180818
303091760refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018091820180818
303968696refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2018091820180818
305146240refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018091820180818
306602416refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2018091820180818
306611660refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018091820180818
308711680refgcc -march=nocona -O3 -fomit-frame-pointer2018091820180818
308793840refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2018091820180818
308804048refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2018091820180818
309021484refgcc -march=barcelona -O3 -fomit-frame-pointer2018091820180818
309095616refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018091820180818
309335972refgcc -march=k8 -O3 -fomit-frame-pointer2018091820180818
309381592refgcc -funroll-loops -O3 -fomit-frame-pointer2018091820180818
309450420refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018091820180818
309685900refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018091820180818
310002172refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018091820180818
310974444refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018091820180818
311259604refgcc -march=barcelona -O2 -fomit-frame-pointer2018091820180818
311384464refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018091820180818
312022104refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2018091820180818
313122144refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018091820180818
313174496refgcc -march=nocona -O2 -fomit-frame-pointer2018091820180818
313180852refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018091820180818
313196380refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018091820180818
313198732refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2018091820180818
313220656refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018091820180818
313315600refgcc -O3 -fomit-frame-pointer2018091820180818
313341404refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018091820180818
313383600refgcc -m64 -O3 -fomit-frame-pointer2018091820180818
313387592refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018091820180818
313389688refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018091820180818
313392928refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2018091820180818
313395488refgcc -funroll-loops -O2 -fomit-frame-pointer2018091820180818
313440856refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2018091820180818
313530484refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018091820180818
313549412refgcc -O2 -fomit-frame-pointer2018091820180818
313565524refgcc -m64 -O2 -fomit-frame-pointer2018091820180818
313599132refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018091820180818
313683620refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2018091820180818
314215744refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018091820180818
314265032refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018091820180818
314436208refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018091820180818
314696080refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2018091820180818
314724336refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018091820180818
314738720refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018091820180818
314799572refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2018091820180818
314827988refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2018091820180818
315173384refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018091820180818
315178612refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018091820180818
315183124refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018091820180818
315229400refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018091820180818
315304976refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018091820180818
315372724refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018091820180818
315441528refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018091820180818
315483548refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018091820180818
315754508refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018091820180818
315821136refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018091820180818
316414288refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018091820180818
316700872refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2018091820180818
316856136refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2018091820180818
316888792refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2018091820180818
316924768refgcc -march=k8 -O2 -fomit-frame-pointer2018091820180818
317244428refgcc -m64 -march=core2 -O -fomit-frame-pointer2018091820180818
317500328refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018091820180818
317883336refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018091820180818
317885160refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018091820180818
318037380refgcc -m64 -march=corei7 -O -fomit-frame-pointer2018091820180818
318295244refgcc -O -fomit-frame-pointer2018091820180818
318334468refgcc -fno-schedule-insns -O -fomit-frame-pointer2018091820180818
318390756refgcc -m64 -O -fomit-frame-pointer2018091820180818
318907088refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018091820180818
318979896refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018091820180818
319163228refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018091820180818
319581608refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018091820180818
319703484refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018091820180818
320060352refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018091820180818
320122372refgcc -march=barcelona -O -fomit-frame-pointer2018091820180818
320148800refgcc -m64 -march=barcelona -O -fomit-frame-pointer2018091820180818
320345464refgcc -funroll-loops -m64 -O -fomit-frame-pointer2018091820180818
320617728refgcc -march=nocona -O -fomit-frame-pointer2018091820180818
320629800refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018091820180818
320740960refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018091820180818
320822688refgcc -funroll-loops -O -fomit-frame-pointer2018091820180818
320997588refgcc -m64 -march=k8 -O -fomit-frame-pointer2018091820180818
320998064refgcc -m64 -march=nocona -O -fomit-frame-pointer2018091820180818
321093400refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018091820180818
322948420refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2018091820180818
323086888refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2018091820180818
324426604refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018091820180818
324660220refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2018091820180818
324678052refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2018091820180818
324694608refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018091820180818
324773476refgcc -m64 -march=k8 -Os -fomit-frame-pointer2018091820180818
324786296refgcc -march=barcelona -Os -fomit-frame-pointer2018091820180818
324787696refgcc -m64 -Os -fomit-frame-pointer2018091820180818
324790728refgcc -Os -fomit-frame-pointer2018091820180818
324795236refgcc -m64 -march=core2 -Os -fomit-frame-pointer2018091820180818
324803844refgcc -fno-schedule-insns -Os -fomit-frame-pointer2018091820180818
324850052refgcc -march=k8 -Os -fomit-frame-pointer2018091820180818
325326528refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018091820180818
325792324refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018091820180818
325794560refgcc -m64 -march=nocona -Os -fomit-frame-pointer2018091820180818
325848812refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018091820180818
325951984refgcc -march=nocona -Os -fomit-frame-pointer2018091820180818
325954020refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018091820180818
326010276refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018091820180818
326032956refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2018091820180818
326200952refgcc -funroll-loops -Os -fomit-frame-pointer2018091820180818
326409440refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018091820180818
326579232refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018091820180818
327537148refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018091820180818
328301624refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018091820180818
328352924refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018091820180818
328979368refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018091820180818
329016796refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018091820180818
330115060refgcc -march=k8 -O -fomit-frame-pointer2018091820180818
372865128refgcc2018091820180818
373065292refgcc -funroll-loops2018091820180818
380174012refcc2018091820180818

Compiler output

Implementation: crypto_sign/sphincsf128sha256/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/sphincsf128sha256/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/sphincsf128sha256/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/sphincsf128sha256/avx2
Compiler: gcc -O2 -fomit-frame-pointer
sha256avx.c: sha256avx.c: In function 'transpose':
sha256avx.c: sha256avx.c:10:13: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
sha256avx.c: tmp0[0] = _mm256_unpacklo_epi32(s[0], s[1]);
sha256avx.c: ^
sha256avx.c: In file included from /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/sphincsf128sha256/avx2
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
sha256avx.c: sha256avx.c: In function 'transpose':
sha256avx.c: sha256avx.c:10:13: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
sha256avx.c: tmp0[0] = _mm256_unpacklo_epi32(s[0], s[1]);
sha256avx.c: ^
sha256avx.c: In file included from /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/sphincsf128sha256/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