Implementation notes: amd64, rumba5, crypto_sign/sphincss192sha256

Computer: rumba5
Architecture: amd64
CPU ID: AuthenticAMD-00800f11-178bfbff
SUPERCOP version: 20181216
Operation: crypto_sign
Primitive: sphincss192sha256
TimeImplementationCompilerBenchmark dateSUPERCOP version
4336844224refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018090820180818
4338475936refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2018090920180818
4348446528refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2018090920180818
4348490400refclang -O3 -fomit-frame-pointer -Qunused-arguments2018090920180818
4352008384refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018090920180818
4352310240refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018090820180818
4357055264refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018090820180818
4369320736refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018090820180818
4391153248refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018090920180818
4400963168refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2018090920180818
4507914208refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2018090920180818
4508008384refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2018090920180818
4547790560refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018090920180818
4553151680refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018090920180818
4558690944refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018090920180818
4565411072refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018090920180818
4567205600refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018090920180818
4570036096refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018090920180818
4582281856refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018090920180818
4593755200refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018090920180818
4594321824refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018090920180818
4596738624refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018090920180818
4617498208refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2018090920180818
4618182560refgcc -funroll-loops -O3 -fomit-frame-pointer2018090920180818
4622991200refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2018090920180818
4632840224refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018090920180818
4647436384refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018090920180818
4655695808refgcc -O3 -fomit-frame-pointer2018090920180818
4656284416refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018090920180818
4659604896refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018090920180818
4662794080refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2018090920180818
4663900640refgcc -m64 -O3 -fomit-frame-pointer2018090820180818
4668449120refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2018090920180818
4671899328refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018090820180818
4671987872refgcc -march=k8 -O3 -fomit-frame-pointer2018090920180818
4674012480refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018090920180818
4679758080refgcc -funroll-loops -m64 -O -fomit-frame-pointer2018090920180818
4680937728refgcc -funroll-loops -O -fomit-frame-pointer2018090920180818
4683205632refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018090920180818
4687204512refgcc -march=barcelona -O3 -fomit-frame-pointer2018090920180818
4689573184refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018090920180818
4691004512refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018090820180818
4692779552refgcc -funroll-loops -O2 -fomit-frame-pointer2018090920180818
4692869088refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018090820180818
4693622784refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018090820180818
4698405120refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018090920180818
4698529024refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018090820180818
4705205472refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2018090820180818
4709068160refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2018090920180818
4720842848refgcc -march=k8 -O2 -fomit-frame-pointer2018090920180818
4721008544refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018090920180818
4721601856refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018090920180818
4728649952refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2018090920180818
4729318176refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018090820180818
4729694656refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2018090920180818
4744241824refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018090820180818
4750607360refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018090920180818
4751319200refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018090920180818
4753170336refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018090820180818
4762455296refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2018090920180818
4765672288refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2018090820180818
4766627520refgcc -O2 -fomit-frame-pointer2018090920180818
4767072288refgcc -m64 -O2 -fomit-frame-pointer2018090820180818
4768080992refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018090820180818
4768266048refgcc -m64 -march=nocona -O -fomit-frame-pointer2018090920180818
4768477792refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018090820180818
4768754656refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018090920180818
4772705088refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2018090920180818
4775313056refgcc -march=nocona -O -fomit-frame-pointer2018090920180818
4780151520refgcc -march=nocona -O3 -fomit-frame-pointer2018090920180818
4790818624refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018090820180818
4797319968refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018090820180818
4802136640refgcc -march=barcelona -O -fomit-frame-pointer2018090920180818
4803779872refgcc -march=barcelona -O2 -fomit-frame-pointer2018090920180818
4815141632refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018090920180818
4816872896refgcc -m64 -march=barcelona -O -fomit-frame-pointer2018090820180818
4823779680refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018090820180818
4823814912refgcc -m64 -O -fomit-frame-pointer2018090820180818
4826437376refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2018090920180818
4835542848refgcc -fno-schedule-insns -O -fomit-frame-pointer2018090920180818
4838269280refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018090820180818
4846291328refgcc -march=nocona -O2 -fomit-frame-pointer2018090920180818
4847408192refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018090920180818
4849623008refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018090920180818
4852187328refgcc -O -fomit-frame-pointer2018090920180818
4860089312refgcc -m64 -march=corei7 -O -fomit-frame-pointer2018090820180818
4865196096refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018090820180818
4870432928refgcc -m64 -march=core2 -O -fomit-frame-pointer2018090820180818
4885277568refgcc -m64 -march=k8 -O -fomit-frame-pointer2018090920180818
4891094688refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018090820180818
4916782208refgcc -march=k8 -O -fomit-frame-pointer2018090920180818
5397384064refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018090920180818
5418415648refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018090920180818
5418748224refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018090920180818
5419263232refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018090820180818
5420590112refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018090920180818
5425179680refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018090920180818
5431187744refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018090920180818
5435211264refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018090920180818
5436004672refgcc -funroll-loops -Os -fomit-frame-pointer2018090920180818
5441717024refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2018090920180818
5442874816refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018090920180818
5452691936refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018090920180818
5463221344refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018090920180818
5469522848refgcc -m64 -march=nocona -Os -fomit-frame-pointer2018090920180818
5482495808refgcc -march=nocona -Os -fomit-frame-pointer2018090920180818
5526334176refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018090820180818
5530290816refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018090820180818
5539193600refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018090820180818
5545965792refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2018090820180818
5547440608refgcc -Os -fomit-frame-pointer2018090920180818
5548320256refgcc -m64 -march=core2 -Os -fomit-frame-pointer2018090820180818
5549266496refgcc -m64 -Os -fomit-frame-pointer2018090820180818
5549856832refgcc -march=k8 -Os -fomit-frame-pointer2018090920180818
5555649216refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2018090820180818
5558509088refgcc -march=barcelona -Os -fomit-frame-pointer2018090920180818
5562204512refgcc -m64 -march=k8 -Os -fomit-frame-pointer2018090920180818
5566480480refgcc -fno-schedule-insns -Os -fomit-frame-pointer2018090920180818
7116212288refgcc -funroll-loops2018090920180818
7131130272refcc2018090920180818
7146310560refgcc2018090920180818
8149990400avx2clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2018090820180818
8154033952avx2clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018090820180818
8169488448avx2clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018090820180818
8178038144avx2clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2018090820180818
9330125856avx2gcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018090820180818
9370902528avx2gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018090820180818
9568510208avx2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018090820180818
9573772704avx2gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018090820180818
9588552000avx2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018090820180818
9618068064avx2gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018090820180818
9651878240avx2gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018090820180818
9671098432avx2gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018090820180818
9711058432avx2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018090820180818
11083326656avx2gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018090820180818
11120308928avx2gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018090820180818
11241899552avx2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018090820180818

Compiler output

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