Implementation notes: amd64, rumba5, crypto_sign/sphincsf256sha256

Computer: rumba5
Architecture: amd64
CPU ID: AuthenticAMD-00800f11-178bfbff
SUPERCOP version: 20181216
Operation: crypto_sign
Primitive: sphincsf256sha256
TimeImplementationCompilerBenchmark dateSUPERCOP version
540161056refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018090320180818
542632672refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018090320180818
542878304refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018090320180818
545027648refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018090320180818
545419232refclang -O3 -fomit-frame-pointer -Qunused-arguments2018090320180818
545672608refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2018090320180818
546392384refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018090320180818
546493888refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2018090320180818
548662176refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018090320180818
549090240refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2018090320180818
560407744refgcc -m64 -O3 -fomit-frame-pointer2018090320180818
560586208refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018090320180818
562062752refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018090320180818
562210464refgcc -funroll-loops -O3 -fomit-frame-pointer2018090320180818
563656096refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018090320180818
563723424refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2018090320180818
564099968refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018090320180818
564816416refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2018090320180818
565392896refgcc -funroll-loops -O -fomit-frame-pointer2018090320180818
565484192refgcc -O3 -fomit-frame-pointer2018090320180818
565984352refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2018090320180818
566155328refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018090320180818
566205632refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018090320180818
566650528refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018090320180818
567354624refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018090320180818
568498368refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2018090320180818
568499680refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2018090320180818
569109600refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018090320180818
569435232refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2018090320180818
570041728refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2018090320180818
570451712refgcc -funroll-loops -m64 -O -fomit-frame-pointer2018090320180818
571192416refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2018090320180818
571491552refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018090320180818
571533920refgcc -march=k8 -O3 -fomit-frame-pointer2018090320180818
571942336refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018090320180818
572113152refgcc -march=k8 -O2 -fomit-frame-pointer2018090320180818
572174560refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018090320180818
572177120refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018090320180818
572425664refgcc -march=nocona -O -fomit-frame-pointer2018090320180818
572521888refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018090320180818
572527680refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018090320180818
572622880refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018090320180818
572760480refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018090320180818
573089024refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2018090320180818
573345728refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018090320180818
573473024refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018090320180818
573615808refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018090320180818
573626688refgcc -march=barcelona -O3 -fomit-frame-pointer2018090320180818
573657376refgcc -m64 -march=nocona -O -fomit-frame-pointer2018090320180818
573923040refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018090320180818
574876256refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018090320180818
575640768refgcc -funroll-loops -O2 -fomit-frame-pointer2018090320180818
576578240refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018090320180818
577289088refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018090320180818
577453824refgcc -m64 -march=barcelona -O -fomit-frame-pointer2018090320180818
577663136refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018090320180818
579959008refgcc -march=barcelona -O -fomit-frame-pointer2018090320180818
580137344refgcc -fno-schedule-insns -O -fomit-frame-pointer2018090320180818
580176480refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018090320180818
580179552refgcc -m64 -march=k8 -O -fomit-frame-pointer2018090320180818
580216096refgcc -march=k8 -O -fomit-frame-pointer2018090320180818
580233664refgcc -m64 -O -fomit-frame-pointer2018090320180818
580296832refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018090320180818
580746528refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018090320180818
581937504refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018090320180818
582029536refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018090320180818
582038464refgcc -O -fomit-frame-pointer2018090320180818
582171360refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018090320180818
582223744refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2018090320180818
582225664refgcc -m64 -O2 -fomit-frame-pointer2018090320180818
582323744refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018090320180818
582503744refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018090320180818
582525024refgcc -O2 -fomit-frame-pointer2018090320180818
582669600refgcc -march=nocona -O2 -fomit-frame-pointer2018090320180818
582691840refgcc -m64 -march=corei7 -O -fomit-frame-pointer2018090320180818
582801568refgcc -m64 -march=core2 -O -fomit-frame-pointer2018090320180818
582814624refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018090320180818
582862400refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2018090320180818
582957920refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2018090320180818
583253280refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018090320180818
583633184refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018090320180818
585767744refgcc -march=barcelona -O2 -fomit-frame-pointer2018090320180818
585944576refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018090320180818
586206624refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018090320180818
586992000refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2018090320180818
587313728refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018090320180818
589666272refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018090320180818
591398752refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018090320180818
592284192refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018090320180818
596329376refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2018090320180818
596940256refgcc -march=nocona -O3 -fomit-frame-pointer2018090320180818
628241824refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018090320180818
629351456refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018090320180818
633924864refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018090320180818
637560416refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018090320180818
638798368refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018090320180818
640618688refgcc -Os -fomit-frame-pointer2018090320180818
640655680refgcc -fno-schedule-insns -Os -fomit-frame-pointer2018090320180818
641038496refgcc -m64 -Os -fomit-frame-pointer2018090320180818
641081440refgcc -m64 -march=k8 -Os -fomit-frame-pointer2018090320180818
642038240refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018090320180818
642188384refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2018090320180818
642274368refgcc -march=barcelona -Os -fomit-frame-pointer2018090320180818
642409184refgcc -m64 -march=core2 -Os -fomit-frame-pointer2018090320180818
642519008refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2018090320180818
643695104refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018090320180818
644726848refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018090320180818
644965536refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018090320180818
646616352refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018090320180818
646871968refgcc -march=k8 -Os -fomit-frame-pointer2018090320180818
646917888refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018090320180818
648082368refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2018090320180818
648365120refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018090320180818
648713984refgcc -funroll-loops -Os -fomit-frame-pointer2018090320180818
648781344refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018090320180818
648823936refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018090320180818
653403136refgcc -march=nocona -Os -fomit-frame-pointer2018090320180818
653559200refgcc -m64 -march=nocona -Os -fomit-frame-pointer2018090320180818
810428704refcc2018090320180818
811631136refgcc2018090320180818
812945568refgcc -funroll-loops2018090320180818
1035302400avx2clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2018090320180818
1037767584avx2clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018090320180818
1040599168avx2clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2018090320180818
1043026464avx2clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018090320180818
1186537216avx2gcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018090320180818
1214549600avx2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018090320180818
1218576832avx2gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018090320180818
1219470272avx2gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018090320180818
1219470688avx2gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018090320180818
1222137696avx2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018090320180818
1224969056avx2gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018090320180818
1262862720avx2gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018090320180818
1264881888avx2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018090320180818
1429813952avx2gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018090320180818
1433367328avx2gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018090320180818
1570079072avx2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018090320180818

Compiler output

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