Implementation notes: amd64, rumba5, crypto_sign/sphincsf192sha256

Computer: rumba5
Architecture: amd64
CPU ID: AuthenticAMD-00800f11-178bfbff
SUPERCOP version: 20181216
Operation: crypto_sign
Primitive: sphincsf192sha256
TimeImplementationCompilerBenchmark dateSUPERCOP version
180600416refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018090320180818
180944768refclang -O3 -fomit-frame-pointer -Qunused-arguments2018090320180818
181725536refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018090320180818
181921152refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018090320180818
182130048refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2018090320180818
182858976refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2018090320180818
183005472refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018090320180818
183295168refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018090320180818
183310912refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018090320180818
183579200refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2018090320180818
190502112refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018090320180818
190747456refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018090320180818
190760960refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018090320180818
191080576refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018090320180818
191264896refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018090320180818
191435680refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018090320180818
191439008refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018090320180818
191535136refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018090320180818
191552352refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018090320180818
191559840refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018090320180818
191700352refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018090320180818
191722944refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2018090320180818
191899936refgcc -march=barcelona -O3 -fomit-frame-pointer2018090320180818
192058848refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2018090320180818
192101792refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018090320180818
192407808refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018090320180818
192583616refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018090320180818
192948576refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018090320180818
193453568refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018090320180818
193461792refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2018090320180818
193770368refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018090320180818
193791520refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2018090320180818
193801760refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018090320180818
194025568refgcc -funroll-loops -O2 -fomit-frame-pointer2018090320180818
194040864refgcc -O3 -fomit-frame-pointer2018090320180818
194054400refgcc -march=k8 -O3 -fomit-frame-pointer2018090320180818
194176224refgcc -m64 -O3 -fomit-frame-pointer2018090320180818
194238176refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018090320180818
194271520refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2018090320180818
194280960refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2018090320180818
194314400refgcc -funroll-loops -m64 -O -fomit-frame-pointer2018090320180818
194402400refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2018090320180818
194515616refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018090320180818
194888928refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018090320180818
194997024refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018090320180818
195091104refgcc -funroll-loops -O3 -fomit-frame-pointer2018090320180818
195195296refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018090320180818
195253248refgcc -funroll-loops -O -fomit-frame-pointer2018090320180818
195304160refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018090320180818
195372288refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018090320180818
195580512refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018090320180818
195672576refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018090320180818
195689664refgcc -O2 -fomit-frame-pointer2018090320180818
195696992refgcc -m64 -O2 -fomit-frame-pointer2018090320180818
195732352refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018090320180818
196086432refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2018090320180818
196113056refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2018090320180818
197410688refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2018090320180818
197476608refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018090320180818
197925856refgcc -m64 -march=barcelona -O -fomit-frame-pointer2018090320180818
198106624refgcc -march=barcelona -O -fomit-frame-pointer2018090320180818
198279328refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018090320180818
198648160refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2018090320180818
198810784refgcc -march=nocona -O3 -fomit-frame-pointer2018090320180818
198838528refgcc -march=k8 -O2 -fomit-frame-pointer2018090320180818
198934432refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018090320180818
199196896refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2018090320180818
199618592refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018090320180818
199869664refgcc -m64 -march=nocona -O -fomit-frame-pointer2018090320180818
200629088refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018090320180818
200982240refgcc -march=nocona -O -fomit-frame-pointer2018090320180818
201140608refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018090320180818
201338272refgcc -O -fomit-frame-pointer2018090320180818
201451616refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2018090320180818
201754368refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018090320180818
201857792refgcc -march=nocona -O2 -fomit-frame-pointer2018090320180818
202227936refgcc -m64 -O -fomit-frame-pointer2018090320180818
202729952refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018090320180818
202939872refgcc -march=barcelona -O2 -fomit-frame-pointer2018090320180818
203047104refgcc -fno-schedule-insns -O -fomit-frame-pointer2018090320180818
203765184refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2018090320180818
204024384refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018090320180818
205089856refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018090320180818
205753856refgcc -m64 -march=k8 -O -fomit-frame-pointer2018090320180818
205912608refgcc -march=k8 -O -fomit-frame-pointer2018090320180818
205964352refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018090320180818
206260128refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018090320180818
207386880refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018090320180818
207447296refgcc -m64 -march=core2 -O -fomit-frame-pointer2018090320180818
207719008refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018090320180818
207775808refgcc -m64 -march=corei7 -O -fomit-frame-pointer2018090320180818
225955168refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018090320180818
226010784refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018090320180818
226156032refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2018090320180818
226508512refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018090320180818
226599744refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018090320180818
226689600refgcc -funroll-loops -Os -fomit-frame-pointer2018090320180818
226790976refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018090320180818
226933280refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018090320180818
230272480refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018090320180818
231014304refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018090320180818
233102336refgcc -m64 -march=nocona -Os -fomit-frame-pointer2018090320180818
233151424refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018090320180818
233451616refgcc -march=nocona -Os -fomit-frame-pointer2018090320180818
233638976refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018090320180818
234068096refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018090320180818
234378368refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018090320180818
235537440refgcc -m64 -march=core2 -Os -fomit-frame-pointer2018090320180818
235894272refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018090320180818
235922752refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2018090320180818
235926528refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018090320180818
235955424refgcc -fno-schedule-insns -Os -fomit-frame-pointer2018090320180818
236197664refgcc -march=k8 -Os -fomit-frame-pointer2018090320180818
236244992refgcc -Os -fomit-frame-pointer2018090320180818
236478752refgcc -march=barcelona -Os -fomit-frame-pointer2018090320180818
236653216refgcc -m64 -Os -fomit-frame-pointer2018090320180818
236720704refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2018090320180818
242930464refgcc -m64 -march=k8 -Os -fomit-frame-pointer2018090320180818
295540576refgcc2018090320180818
297822400refgcc -funroll-loops2018090320180818
298320704refcc2018090320180818
325559168avx2clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018090320180818
325892928avx2clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2018090320180818
326461376avx2clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2018090320180818
326889632avx2clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018090320180818
372527584avx2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018090320180818
374896736avx2gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018090320180818
379583264avx2gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018090320180818
382604096avx2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018090320180818
382797760avx2gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018090320180818
382999616avx2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018090320180818
383017888avx2gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018090320180818
383816160avx2gcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018090320180818
384900384avx2gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018090320180818
442479904avx2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018090320180818
443429632avx2gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018090320180818
445237248avx2gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018090320180818

Compiler output

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