Implementation notes: amd64, bolero, crypto_sign/sphincss128sha256

Computer: bolero
Architecture: amd64
CPU ID: GenuineIntel-000406f1-bfebfbff
SUPERCOP version: 20190110
Operation: crypto_sign
Primitive: sphincss128sha256
TimeImplementationCompilerBenchmark dateSUPERCOP version
2121243052avx2clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018092420180818
2121861772avx2clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2018092420180818
2367678368avx2clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018092420180818
2370259664avx2clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2018092420180818
2429393804avx2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018092420180818
2469255932avx2gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018092420180818
2470901252avx2gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018092420180818
2477126692avx2gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018092420180818
2521024264avx2gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018092420180818
2527990480avx2gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018092420180818
2546066584avx2gcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018092420180818
2590087788avx2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018092420180818
2678801020avx2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018092420180818
2873628068avx2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018092420180818
2939524564avx2gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018092420180818
2949365136avx2gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018092420180818
4341087252refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018092420180818
4341762892refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2018092420180818
4368178264refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018092420180818
4369224228refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018092420180818
4369703432refclang -O3 -fomit-frame-pointer -Qunused-arguments2018092420180818
4385232148refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2018092420180818
4387070784refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018092420180818
4438488744refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018092420180818
4450210052refgcc -march=nocona -O3 -fomit-frame-pointer2018092420180818
4452127732refgcc -march=barcelona -O3 -fomit-frame-pointer2018092420180818
4453528724refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018092420180818
4454925624refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2018092420180818
4455994588refgcc -funroll-loops -O3 -fomit-frame-pointer2018092420180818
4457377524refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018092420180818
4457631528refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018092420180818
4460023740refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018092420180818
4462761500refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018092420180818
4466214988refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2018092420180818
4468190292refgcc -O3 -fomit-frame-pointer2018092420180818
4469739096refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2018092420180818
4469772896refgcc -march=barcelona -O2 -fomit-frame-pointer2018092420180818
4469857456refgcc -march=k8 -O3 -fomit-frame-pointer2018092420180818
4469901508refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2018092420180818
4471265604refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018092420180818
4472020968refgcc -m64 -O3 -fomit-frame-pointer2018092420180818
4474813508refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2018092420180818
4475531372refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018092420180818
4476717956refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018092420180818
4476920512refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2018092420180818
4482497272refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018092420180818
4483711692refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018092420180818
4485084484refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018092420180818
4485529508refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018092420180818
4494781920refgcc -m64 -O2 -fomit-frame-pointer2018092420180818
4497147076refgcc -O2 -fomit-frame-pointer2018092420180818
4497197164refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2018092420180818
4497921676refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018092420180818
4498526548refgcc -funroll-loops -O2 -fomit-frame-pointer2018092420180818
4498937500refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018092420180818
4509502916refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018092420180818
4510387004refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018092420180818
4510873200refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018092420180818
4510924828refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2018092420180818
4511227768refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018092420180818
4511372320refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018092420180818
4512154704refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018092420180818
4513666176refgcc -march=nocona -O2 -fomit-frame-pointer2018092420180818
4513670364refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018092420180818
4513994024refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018092420180818
4514193552refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2018092420180818
4515050376refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018092420180818
4516409452refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018092420180818
4518403496refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2018092420180818
4522485324refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018092420180818
4522900528refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018092420180818
4524269872refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018092420180818
4526292260refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018092420180818
4530334612refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018092420180818
4531922300refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018092420180818
4538408796refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2018092420180818
4538816732refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2018092420180818
4539833800refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2018092420180818
4545850568refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018092420180818
4546664020refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018092420180818
4548567772refgcc -march=k8 -O2 -fomit-frame-pointer2018092420180818
4555715136refgcc -m64 -march=nocona -O -fomit-frame-pointer2018092420180818
4561631212refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018092420180818
4563985760refgcc -march=nocona -O -fomit-frame-pointer2018092420180818
4567814340refgcc -m64 -march=k8 -O -fomit-frame-pointer2018092420180818
4575071696refgcc -march=k8 -O -fomit-frame-pointer2018092420180818
4579385596refgcc -march=barcelona -O -fomit-frame-pointer2018092420180818
4580895440refgcc -m64 -march=core2 -O -fomit-frame-pointer2018092420180818
4580927400refgcc -m64 -march=barcelona -O -fomit-frame-pointer2018092420180818
4581284324refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018092420180818
4582498668refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018092420180818
4584375772refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018092420180818
4585328404refgcc -m64 -march=corei7 -O -fomit-frame-pointer2018092420180818
4586915008refgcc -O -fomit-frame-pointer2018092420180818
4590723340refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018092420180818
4591903556refgcc -m64 -O -fomit-frame-pointer2018092420180818
4598077840refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018092420180818
4598297628refgcc -fno-schedule-insns -O -fomit-frame-pointer2018092420180818
4607166588refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018092420180818
4614109040refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2018092420180818
4616943316refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2018092420180818
4619496744refgcc -funroll-loops -O -fomit-frame-pointer2018092420180818
4620247916refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018092420180818
4622486704refgcc -funroll-loops -m64 -O -fomit-frame-pointer2018092420180818
4627430084refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018092420180818
4629103780refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018092420180818
4630357960refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018092420180818
4633014984refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018092420180818
4662971856refgcc -m64 -march=nocona -Os -fomit-frame-pointer2018092420180818
4663327524refgcc -march=nocona -Os -fomit-frame-pointer2018092420180818
4675497704refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018092420180818
4676138548refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018092420180818
4695890564refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018092420180818
4696342872refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018092420180818
4707387832refgcc -Os -fomit-frame-pointer2018092420180818
4707563736refgcc -fno-schedule-insns -Os -fomit-frame-pointer2018092420180818
4708353308refgcc -march=k8 -Os -fomit-frame-pointer2018092420180818
4709753884refgcc -m64 -march=core2 -Os -fomit-frame-pointer2018092420180818
4710190048refgcc -m64 -Os -fomit-frame-pointer2018092420180818
4710496272refgcc -march=barcelona -Os -fomit-frame-pointer2018092420180818
4710680812refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2018092420180818
4710687328refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018092420180818
4711030016refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018092420180818
4711044556refgcc -m64 -march=k8 -Os -fomit-frame-pointer2018092420180818
4712080828refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018092420180818
4713398696refgcc -funroll-loops -Os -fomit-frame-pointer2018092420180818
4713574340refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2018092420180818
4714120108refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018092420180818
4714354352refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018092420180818
4714899024refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2018092420180818
4716255792refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018092420180818
4716265708refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018092420180818
4722821668refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018092420180818
4725363884refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018092420180818
5362829112refgcc -funroll-loops2018092420180818
5370322520refgcc2018092420180818
5462198288refcc2018092420180818

Compiler output

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