Implementation notes: amd64, rumba5, crypto_sign/sphincss128sha256

Computer: rumba5
Architecture: amd64
CPU ID: AuthenticAMD-00800f11-178bfbff
SUPERCOP version: 20181216
Operation: crypto_sign
Primitive: sphincss128sha256
TimeImplementationCompilerBenchmark dateSUPERCOP version
1645392576refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2018090520180818
1648233952refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018090520180818
1648900992refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018090520180818
1649326848refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2018090520180818
1672541984refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018090520180818
1673225024refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018090520180818
1674899840refclang -O3 -fomit-frame-pointer -Qunused-arguments2018090520180818
1677438944refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018090520180818
1688391552refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2018090520180818
1688551712refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018090520180818
1756643488refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2018090520180818
1761371200refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018090520180818
1761406400refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018090520180818
1762373536refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2018090520180818
1778236128refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2018090520180818
1780717152refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018090520180818
1782936800refgcc -march=k8 -O3 -fomit-frame-pointer2018090520180818
1786396224refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018090520180818
1789846496refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018090520180818
1790479840refgcc -funroll-loops -O3 -fomit-frame-pointer2018090520180818
1791381632refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018090520180818
1791840960refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018090520180818
1792525120refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018090520180818
1794908928refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2018090520180818
1795491360refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2018090520180818
1795713152refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018090520180818
1802966304refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018090520180818
1807226688refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018090520180818
1810061312refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018090520180818
1811953376refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018090520180818
1815512896refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018090520180818
1815811104refgcc -funroll-loops -O2 -fomit-frame-pointer2018090520180818
1818754752refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018090520180818
1821746176refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018090520180818
1822573984refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018090520180818
1822853408refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018090520180818
1823082400refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018090520180818
1823641856refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018090520180818
1823986976refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018090520180818
1824505536refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2018090520180818
1825393056refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018090520180818
1827178592refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2018090520180818
1830057280refgcc -O3 -fomit-frame-pointer2018090520180818
1832117632refgcc -m64 -O3 -fomit-frame-pointer2018090520180818
1832174080refgcc -march=nocona -O3 -fomit-frame-pointer2018090520180818
1832676448refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2018090520180818
1832866304refgcc -funroll-loops -O -fomit-frame-pointer2018090520180818
1833738528refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018090520180818
1833951104refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2018090520180818
1834316928refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2018090520180818
1834512672refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018090520180818
1837177248refgcc -funroll-loops -m64 -O -fomit-frame-pointer2018090520180818
1839046272refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018090520180818
1839282560refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2018090520180818
1840563392refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018090520180818
1840661408refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018090520180818
1840838848refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2018090520180818
1841486624refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2018090520180818
1841939456refgcc -march=nocona -O2 -fomit-frame-pointer2018090520180818
1842761824refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018090520180818
1843409664refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018090520180818
1844442080refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018090520180818
1845632512refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018090520180818
1850164160refgcc -march=barcelona -O2 -fomit-frame-pointer2018090520180818
1851274784refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018090520180818
1852811488refgcc -march=k8 -O -fomit-frame-pointer2018090520180818
1853927584refgcc -march=k8 -O2 -fomit-frame-pointer2018090520180818
1854746912refgcc -march=nocona -O -fomit-frame-pointer2018090520180818
1856511872refgcc -m64 -march=k8 -O -fomit-frame-pointer2018090520180818
1858554368refgcc -march=barcelona -O3 -fomit-frame-pointer2018090520180818
1867093440refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018090520180818
1869619360refgcc -m64 -march=nocona -O -fomit-frame-pointer2018090520180818
1875407264refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018090520180818
1876095008refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018090520180818
1877401344refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018090520180818
1880194240refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018090520180818
1880729088refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018090520180818
1880818208refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018090520180818
1881749728refgcc -m64 -march=corei7 -O -fomit-frame-pointer2018090520180818
1881827424refgcc -m64 -march=core2 -O -fomit-frame-pointer2018090520180818
1882833120refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018090520180818
1895349088refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018090520180818
1896065312refgcc -O2 -fomit-frame-pointer2018090520180818
1904234528refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2018090520180818
1904890048refgcc -m64 -O2 -fomit-frame-pointer2018090520180818
1908313952refgcc -m64 -O -fomit-frame-pointer2018090520180818
1914741120refgcc -march=barcelona -O -fomit-frame-pointer2018090520180818
1914883520refgcc -O -fomit-frame-pointer2018090520180818
1920759168refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018090520180818
1921556320refgcc -fno-schedule-insns -O -fomit-frame-pointer2018090520180818
1928375744refgcc -m64 -march=barcelona -O -fomit-frame-pointer2018090520180818
2037047136refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018090520180818
2052375744refgcc -m64 -march=nocona -Os -fomit-frame-pointer2018090520180818
2054279744refgcc -march=nocona -Os -fomit-frame-pointer2018090520180818
2074223040refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018090520180818
2075099968refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018090520180818
2099148064refgcc -m64 -march=core2 -Os -fomit-frame-pointer2018090520180818
2101598752refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2018090520180818
2103045760refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018090520180818
2103750752refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018090520180818
2104170272refgcc -march=k8 -Os -fomit-frame-pointer2018090520180818
2104359296refgcc -march=barcelona -Os -fomit-frame-pointer2018090520180818
2105369056refgcc -m64 -march=k8 -Os -fomit-frame-pointer2018090520180818
2107849248refgcc -m64 -Os -fomit-frame-pointer2018090520180818
2107988992refgcc -Os -fomit-frame-pointer2018090520180818
2109102592refgcc -fno-schedule-insns -Os -fomit-frame-pointer2018090520180818
2110743232refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2018090520180818
2150128512refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018090520180818
2155517536refgcc -funroll-loops -Os -fomit-frame-pointer2018090520180818
2156324704refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2018090520180818
2158335776refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018090520180818
2159244960refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018090520180818
2162017024refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018090520180818
2168132128refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018090520180818
2169698144refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018090520180818
2170851680refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018090520180818
2171055712refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018090520180818
2172723104refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018090520180818
2807275488refgcc2018090520180818
2808822560refcc2018090520180818
2811475776refgcc -funroll-loops2018090520180818
3541563424avx2clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2018090520180818
3543728928avx2clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2018090520180818
3548255968avx2clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018090520180818
3556731200avx2clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018090520180818
4125540192avx2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018090520180818
4160957184avx2gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018090520180818
4221447008avx2gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018090520180818
4254339520avx2gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018090520180818
4262528928avx2gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018090520180818
4270909376avx2gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018090520180818
4298037664avx2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018090520180818
4307103552avx2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018090520180818
4338581568avx2gcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018090520180818
4756634752avx2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018090520180818
4869330208avx2gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018090520180818
4893060352avx2gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018090520180818

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