Implementation notes: amd64, hydra1, crypto_aead/hs1sivv2

Computer: hydra1
Architecture: amd64
CPU ID: AuthenticAMD-00100fa0-178bfbff
SUPERCOP version: 20161220
Operation: crypto_aead
Primitive: hs1sivv2
TimeImplementationCompilerBenchmark dateSUPERCOP version
21206fasterclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016101620161009
21349fasterclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016101620161009
21366fasterclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016101620161009
21485fasterclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016101620161009
21496fasterclang -O3 -fomit-frame-pointer -Qunused-arguments2016101620161009
21525fasterclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016101620161009
21904fastergcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016101620161009
21909fastergcc -march=barcelona -O3 -fomit-frame-pointer2016101620161009
21924fastergcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016101620161009
21924fastergcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016101620161009
22064fastergcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016101620161009
22070fastergcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016101620161009
22088fastergcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016101620161009
22090fastergcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016101620161009
22107fastergcc -funroll-loops -O3 -fomit-frame-pointer2016101620161009
22123fastergcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016101620161009
22133fastergcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016101620161009
22144fastergcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016101620161009
22150fastergcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016101620161009
22166fastergcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016101620161009
22197fastergcc -march=barcelona -O2 -fomit-frame-pointer2016101620161009
22198fastergcc -funroll-loops -O2 -fomit-frame-pointer2016101620161009
22200fastergcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016101620161009
22203fastergcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016101620161009
22217fastergcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016101620161009
22240fastergcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016101620161009
22253fastergcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016101620161009
22267fastergcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016101620161009
22322fastergcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016101620161009
22341fastergcc -m64 -O3 -fomit-frame-pointer2016101620161009
22346fastergcc -O3 -fomit-frame-pointer2016101620161009
22349fastergcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016101620161009
22355fastergcc -fno-schedule-insns -O3 -fomit-frame-pointer2016101620161009
22371fastergcc -march=k8 -O3 -fomit-frame-pointer2016101620161009
22376fastergcc -m64 -march=k8 -O3 -fomit-frame-pointer2016101620161009
22460fastergcc -m64 -march=nocona -O3 -fomit-frame-pointer2016101620161009
22466fastergcc -march=nocona -O3 -fomit-frame-pointer2016101620161009
22504fastergcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016101620161009
22513fastergcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016101620161009
22515fastergcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016101620161009
22528fastergcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016101620161009
22539fastergcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016101620161009
22568fastergcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016101620161009
22608fastergcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016101620161009
22629fastergcc -fno-schedule-insns -O -fomit-frame-pointer2016101620161009
22645fastergcc -m64 -march=k8 -O -fomit-frame-pointer2016101620161009
22651fastergcc -O -fomit-frame-pointer2016101620161009
22674fastergcc -march=k8 -O -fomit-frame-pointer2016101620161009
22678fastergcc -march=k8 -O2 -fomit-frame-pointer2016101620161009
22680fastergcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016101620161009
22682fastergcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016101620161009
22685fastergcc -fno-schedule-insns -O2 -fomit-frame-pointer2016101620161009
22690fastergcc -m64 -march=k8 -O2 -fomit-frame-pointer2016101620161009
22691fastergcc -m64 -O -fomit-frame-pointer2016101620161009
22693fastergcc -O2 -fomit-frame-pointer2016101620161009
22693fastergcc -m64 -O2 -fomit-frame-pointer2016101620161009
22704fastergcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016101620161009
22718fastergcc -funroll-loops -m64 -O -fomit-frame-pointer2016101620161009
22768fastergcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016101620161009
22776fastergcc -m64 -march=nocona -O2 -fomit-frame-pointer2016101620161009
22794fastergcc -march=nocona -O2 -fomit-frame-pointer2016101620161009
22798fastergcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016101620161009
22802fastergcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016101620161009
22822fastergcc -funroll-loops -O -fomit-frame-pointer2016101620161009
22870fastergcc -march=nocona -Os -fomit-frame-pointer2016101620161009
22952fastergcc -m64 -march=barcelona -O -fomit-frame-pointer2016101620161009
22978fastergcc -m64 -march=nocona -Os -fomit-frame-pointer2016101620161009
22987fastergcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016101620161009
23005fastergcc -march=nocona -O -fomit-frame-pointer2016101620161009
23011fastergcc -m64 -march=nocona -O -fomit-frame-pointer2016101620161009
23037fastergcc -march=barcelona -Os -fomit-frame-pointer2016101620161009
23059fastergcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016101620161009
23061fastergcc -m64 -march=barcelona -Os -fomit-frame-pointer2016101620161009
23066fastergcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016101620161009
23069fastergcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016101620161009
23072fastergcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016101620161009
23077fastergcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016101620161009
23083fastergcc -march=barcelona -O -fomit-frame-pointer2016101620161009
23093fastergcc -funroll-loops -m64 -Os -fomit-frame-pointer2016101620161009
23157fastergcc -funroll-loops -Os -fomit-frame-pointer2016101620161009
23166fastergcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016101620161009
23205fastergcc -fno-schedule-insns -Os -fomit-frame-pointer2016101620161009
23211fastergcc -m64 -march=k8 -Os -fomit-frame-pointer2016101620161009
23253fastergcc -Os -fomit-frame-pointer2016101620161009
23269fastergcc -m64 -Os -fomit-frame-pointer2016101620161009
23272fastergcc -march=k8 -Os -fomit-frame-pointer2016101620161009
42105refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016101620161009
42163refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016101620161009
42173refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016101620161009
42216refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016101620161009
42261refclang -O3 -fomit-frame-pointer -Qunused-arguments2016101620161009
42418refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016101620161009
42441refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016101620161009
42467refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016101620161009
42525refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016101620161009
42550refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016101620161009
42582refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016101620161009
42600refgcc -funroll-loops -O3 -fomit-frame-pointer2016101620161009
42605refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016101620161009
42607refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016101620161009
42710refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016101620161009
43860refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016101620161009
43898refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016101620161009
44574refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016101620161009
44592refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016101620161009
44594refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016101620161009
44606refgcc -march=barcelona -O3 -fomit-frame-pointer2016101620161009
44723refgcc -march=nocona -O3 -fomit-frame-pointer2016101620161009
44740refgcc -O3 -fomit-frame-pointer2016101620161009
44757refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016101620161009
44776refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016101620161009
44813refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016101620161009
44819refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016101620161009
44939refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016101620161009
44941refgcc -funroll-loops -O2 -fomit-frame-pointer2016101620161009
44952refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016101620161009
44957refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016101620161009
45021refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016101620161009
45373refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016101620161009
45408refgcc -march=k8 -O3 -fomit-frame-pointer2016101620161009
51092refgcc -m64 -O3 -fomit-frame-pointer2016101620161009
57816refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016101620161009
57829refgcc -march=barcelona -O2 -fomit-frame-pointer2016101620161009
57861refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016101620161009
57877refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016101620161009
58637refgcc -march=nocona -O2 -fomit-frame-pointer2016101620161009
58674refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016101620161009
58958refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016101620161009
58981refgcc -march=k8 -O2 -fomit-frame-pointer2016101620161009
60640refgcc -funroll-loops -O -fomit-frame-pointer2016101620161009
60841refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016101620161009
60846refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016101620161009
60909refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016101620161009
61000refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016101620161009
61166refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016101620161009
61280refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016101620161009
62984refgcc -O2 -fomit-frame-pointer2016101620161009
63008refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016101620161009
63544refgcc -m64 -O2 -fomit-frame-pointer2016101620161009
63731refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016101620161009
63797refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016101620161009
64018refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016101620161009
64026refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016101620161009
66653refgcc -march=barcelona -Os -fomit-frame-pointer2016101620161009
66677refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016101620161009
66690refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016101620161009
66717refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016101620161009
67158refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016101620161009
67302refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016101620161009
67304refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016101620161009
67309refgcc -m64 -Os -fomit-frame-pointer2016101620161009
67315refgcc -Os -fomit-frame-pointer2016101620161009
67482refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016101620161009
67514refgcc -funroll-loops -Os -fomit-frame-pointer2016101620161009
67514refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016101620161009
67515refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016101620161009
67654refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016101620161009
67668refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016101620161009
67838refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016101620161009
67843refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016101620161009
67922refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016101620161009
68029refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016101620161009
68512refgcc -march=nocona -Os -fomit-frame-pointer2016101620161009
71621refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016101620161009
72672refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016101620161009
74253refgcc -march=k8 -Os -fomit-frame-pointer2016101620161009
74787refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016101620161009
74880refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016101620161009
76886refgcc -march=nocona -O -fomit-frame-pointer2016101620161009
77077refgcc -m64 -march=nocona -O -fomit-frame-pointer2016101620161009
77184refgcc -march=barcelona -O -fomit-frame-pointer2016101620161009
77352refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016101620161009
77525refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016101620161009
77592refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016101620161009
77747refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016101620161009
79899refgcc -O -fomit-frame-pointer2016101620161009
80211refgcc -march=k8 -O -fomit-frame-pointer2016101620161009
80381refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016101620161009
80382refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016101620161009
80446refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016101620161009
80491refgcc -fno-schedule-insns -O -fomit-frame-pointer2016101620161009
80563refgcc -m64 -march=core2 -O -fomit-frame-pointer2016101620161009
80589refgcc -m64 -O -fomit-frame-pointer2016101620161009
84173refgcc -m64 -march=k8 -O -fomit-frame-pointer2016101620161009
122293fastergcc -funroll-loops2016101620161009
123019fastergcc2016101620161009
123824fastercc2016101620161009
506646refcc2016101620161009
507358refgcc2016101620161009
509134refgcc -funroll-loops2016101620161009

Test failure

Implementation: crypto_aead/hs1sivv2/dolbeau/amd64-sse
Compiler: gcc -m64 -march=core2 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 27, namely:
CompilerImplementations
gcc -m64 -march=core2 -O2 -fomit-frame-pointer dolbeau/amd64-sse faster
gcc -m64 -march=core2 -O3 -fomit-frame-pointer dolbeau/amd64-sse faster ref
gcc -m64 -march=core2 -O -fomit-frame-pointer dolbeau/amd64-sse faster
gcc -m64 -march=core2 -Os -fomit-frame-pointer dolbeau/amd64-sse faster
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer dolbeau/amd64-sse faster
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer dolbeau/amd64-sse faster
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer dolbeau/amd64-sse faster
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer dolbeau/amd64-sse faster
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer dolbeau/amd64-sse faster
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer dolbeau/amd64-sse faster
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer dolbeau/amd64-sse faster
gcc -m64 -march=corei7 -O -fomit-frame-pointer dolbeau/amd64-sse faster
gcc -m64 -march=corei7 -Os -fomit-frame-pointer dolbeau/amd64-sse faster

Compiler output

Implementation: crypto_aead/hs1sivv2/dolbeau/amd64-sse
Compiler: cc
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/smmintrin.h:32:0,
encrypt.c: from encrypt.c:54:
encrypt.c: c176.h: In function 'chacha_noxor176':
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
encrypt.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
encrypt.c: ^
encrypt.c: In file included from encrypt.c:190:0:
encrypt.c: c176.h:14:84: error: called from here
encrypt.c: x_##a = _mm_add_epi32(x_##a, x_##b); t_##a = _mm_xor_si128(x_##d, x_##a); x_##d = _mm_shuffle_epi8(t_##a, rot8); \
encrypt.c: ^
encrypt.c: c176.h:17:36: note: in expansion of macro 'VEC4_QUARTERROUND_SHUFFLE'
encrypt.c: #define VEC4_QUARTERROUND(a,b,c,d) VEC4_QUARTERROUND_SHUFFLE(a,b,c,d)
encrypt.c: ^
encrypt.c: c176.h:106:7: note: in expansion of macro 'VEC4_QUARTERROUND'
encrypt.c: VEC4_QUARTERROUND( 3, 4, 9,14);
encrypt.c: ^
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/smmintrin.h:32:0,
encrypt.c: from encrypt.c:54:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
encrypt.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
encrypt.c: ^
encrypt.c: In file included from encrypt.c:190:0:
encrypt.c: c176.h:12:84: error: called from here
encrypt.c: x_##a = _mm_add_epi32(x_##a, x_##b); t_##a = _mm_xor_si128(x_##d, x_##a); x_##d = _mm_shuffle_epi8(t_##a, rot16); \
encrypt.c: ^
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 79, namely:
CompilerImplementations
cc dolbeau/amd64-sse
gcc dolbeau/amd64-sse
gcc -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -Os -fomit-frame-pointer dolbeau/amd64-sse
gcc -fno-schedule-insns -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -fno-schedule-insns -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -fno-schedule-insns -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -fno-schedule-insns -Os -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops dolbeau/amd64-sse
gcc -funroll-loops -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -Os -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -m64 -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -m64 -Os -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -Os -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=k8 -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=k8 -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=k8 -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=k8 -Os -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=nocona -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=nocona -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=nocona -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=nocona -Os -fomit-frame-pointer dolbeau/amd64-sse
gcc -march=barcelona -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -march=barcelona -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -march=barcelona -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -march=barcelona -Os -fomit-frame-pointer dolbeau/amd64-sse
gcc -march=k8 -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -march=k8 -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -march=k8 -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -march=k8 -Os -fomit-frame-pointer dolbeau/amd64-sse
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv dolbeau/amd64-sse
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv dolbeau/amd64-sse
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv dolbeau/amd64-sse
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv dolbeau/amd64-sse
gcc -march=nocona -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -march=nocona -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -march=nocona -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -march=nocona -Os -fomit-frame-pointer dolbeau/amd64-sse

Compiler output

Implementation: crypto_aead/hs1sivv2/dolbeau/amd64-avx2
Compiler: cc
encrypt.c: encrypt.c:90:2: error: #error "This code requires AVX2 to work"
encrypt.c: #error "This code requires AVX2 to work"
encrypt.c: ^
encrypt.c: encrypt.c: In function 'prf_hash2_2':
encrypt.c: encrypt.c:425:19: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
encrypt.c: __m256i kv0 = _mm256_loadu_si256((const __m256i*)(nhkey+ 0)); // 1
encrypt.c: ^

Number of similar (compiler,implementation) pairs: 92, namely:
CompilerImplementations
cc dolbeau/amd64-avx2
gcc dolbeau/amd64-avx2
gcc -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -fno-schedule-insns -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -fno-schedule-insns -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -fno-schedule-insns -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -fno-schedule-insns -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops dolbeau/amd64-avx2
gcc -funroll-loops -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core2 -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core2 -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core2 -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core2 -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=corei7 -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=corei7 -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=k8 -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=k8 -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=k8 -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=k8 -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=nocona -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=nocona -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=nocona -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=nocona -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=barcelona -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=barcelona -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=barcelona -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=barcelona -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=k8 -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=k8 -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=k8 -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=k8 -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv dolbeau/amd64-avx2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv dolbeau/amd64-avx2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv dolbeau/amd64-avx2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv dolbeau/amd64-avx2
gcc -march=nocona -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=nocona -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=nocona -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=nocona -Os -fomit-frame-pointer dolbeau/amd64-avx2

Compiler output

Implementation: crypto_aead/hs1sivv2/dolbeau/amd64-avx512
Compiler: cc
encrypt.c: encrypt.c:90:2: error: #error "This code requires AVX512F to work"
encrypt.c: #error "This code requires AVX512F to work"
encrypt.c: ^
encrypt.c: encrypt.c: In function '_mm512_reduce_add_epi64':
encrypt.c: encrypt.c:321:20: note: The ABI for passing parameters with 64-byte alignment has changed in GCC 4.6
encrypt.c: unsigned long long _mm512_reduce_add_epi64 (__m512i a) {
encrypt.c: ^
encrypt.c: encrypt.c: In function 'prf_hash2_2':
encrypt.c: encrypt.c:482:19: warning: AVX512F vector return without AVX512F enabled changes the ABI [-Wpsabi]
encrypt.c: __m512i kv0 = _mm512_loadu_si512((const __m512i*)(nhkey+ 0)); // 1
encrypt.c: ^
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
encrypt.c: from encrypt.c:54:
encrypt.c: encrypt.c:501:50: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
encrypt.c: __m256i inv0 = _mm256_inserti128_si256(_mm256_castsi128_si256(inv0lo), inv0lo, 1);
encrypt.c: ^

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
cc dolbeau/amd64-avx512
gcc dolbeau/amd64-avx512
gcc -funroll-loops dolbeau/amd64-avx512

Compiler output

Implementation: crypto_aead/hs1sivv2/dolbeau/amd64-sse
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
encrypt.c: In file included from encrypt.c:190:
encrypt.c: ./c176.h:99:7: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'chacha_noxor176' that is compiled without support for 'ssse3'
encrypt.c: VEC4_QUARTERROUND( 0, 4, 8,12);
encrypt.c: ^
encrypt.c: ./c176.h:17:36: note: expanded from macro 'VEC4_QUARTERROUND'
encrypt.c: #define VEC4_QUARTERROUND(a,b,c,d) VEC4_QUARTERROUND_SHUFFLE(a,b,c,d)
encrypt.c: ^
encrypt.c: ./c176.h:12:86: note: expanded from macro 'VEC4_QUARTERROUND_SHUFFLE'
encrypt.c: x_##a = _mm_add_epi32(x_##a, x_##b); t_##a = _mm_xor_si128(x_##d, x_##a); x_##d = _mm_shuffle_epi8(t_##a, rot16); \
encrypt.c: ^
encrypt.c: ./c176.h:99:7: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'chacha_noxor176' that is compiled without support for 'ssse3'
encrypt.c: ./c176.h:17:36: note: expanded from macro 'VEC4_QUARTERROUND'
encrypt.c: #define VEC4_QUARTERROUND(a,b,c,d) VEC4_QUARTERROUND_SHUFFLE(a,b,c,d)
encrypt.c: ^
encrypt.c: ./c176.h:14:86: note: expanded from macro 'VEC4_QUARTERROUND_SHUFFLE'
encrypt.c: x_##a = _mm_add_epi32(x_##a, x_##b); t_##a = _mm_xor_si128(x_##d, x_##a); x_##d = _mm_shuffle_epi8(t_##a, rot8); \
encrypt.c: ^
encrypt.c: ./c176.h:100:7: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'chacha_noxor176' that is compiled without support for 'ssse3'
encrypt.c: VEC4_QUARTERROUND( 1, 5, 9,13);
encrypt.c: ^
encrypt.c: ./c176.h:17:36: note: expanded from macro 'VEC4_QUARTERROUND'
encrypt.c: #define VEC4_QUARTERROUND(a,b,c,d) VEC4_QUARTERROUND_SHUFFLE(a,b,c,d)
encrypt.c: ^
encrypt.c: ./c176.h:12:86: note: expanded from macro 'VEC4_QUARTERROUND_SHUFFLE'
encrypt.c: x_##a = _mm_add_epi32(x_##a, x_##b); t_##a = _mm_xor_si128(x_##d, x_##a); x_##d = _mm_shuffle_epi8(t_##a, rot16); \
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments dolbeau/amd64-sse
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments dolbeau/amd64-sse
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-sse
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-sse
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-sse
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-sse

Compiler output

Implementation: crypto_aead/hs1sivv2/dolbeau/amd64-avx2
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
encrypt.c: encrypt.c:90:2: error: "This code requires AVX2 to work"
encrypt.c: #error "This code requires AVX2 to work"
encrypt.c: ^
encrypt.c: 1 error generated.

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments dolbeau/amd64-avx2
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments dolbeau/amd64-avx2
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-avx2
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-avx2
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-avx2
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-avx2

Compiler output

Implementation: crypto_aead/hs1sivv2/dolbeau/amd64-avx512
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
encrypt.c: encrypt.c:90:2: error: "This code requires AVX512F to work"
encrypt.c: #error "This code requires AVX512F to work"
encrypt.c: ^
encrypt.c: encrypt.c:334:15: error: invalid input constraint 'Yz' in asm
encrypt.c: : [a] "Yz" (a)
encrypt.c: ^
encrypt.c: encrypt.c:482:26: warning: implicit declaration of function '_mm512_loadu_si512' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: __m512i kv0 = _mm512_loadu_si512((const __m512i*)(nhkey+ 0)); // 1
encrypt.c: ^
encrypt.c: encrypt.c:482:19: error: initializing '__m512i' (vector of 8 'long long' values) with an expression of incompatible type 'int'
encrypt.c: __m512i kv0 = _mm512_loadu_si512((const __m512i*)(nhkey+ 0)); // 1
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:483:19: error: initializing '__m512i' (vector of 8 'long long' values) with an expression of incompatible type 'int'
encrypt.c: __m512i kv4 = _mm512_loadu_si512((const __m512i*)(nhkey+ 4)); // 1
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:484:19: error: initializing '__m512i' (vector of 8 'long long' values) with an expression of incompatible type 'int'
encrypt.c: __m512i kv8 = _mm512_loadu_si512((const __m512i*)(nhkey+ 8)); // 1, 2
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:485:19: error: initializing '__m512i' (vector of 8 'long long' values) with an expression of incompatible type 'int'
encrypt.c: __m512i kv12 = _mm512_loadu_si512((const __m512i*)(nhkey+12)); // 1, 2
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:486:19: error: initializing '__m512i' (vector of 8 'long long' values) with an expression of incompatible type 'int'
encrypt.c: __m512i kv16 = _mm512_loadu_si512((const __m512i*)(nhkey+16)); // 2
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:487:19: error: initializing '__m512i' (vector of 8 'long long' values) with an expression of incompatible type 'int'
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments dolbeau/amd64-avx512
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments dolbeau/amd64-avx512
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-avx512
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-avx512
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-avx512
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-avx512

Compiler output

Implementation: crypto_aead/hs1sivv2/dolbeau/amd64-avx512
Compiler: gcc -O2 -fomit-frame-pointer
encrypt.c: encrypt.c:90:2: error: #error "This code requires AVX512F to work"
encrypt.c: #error "This code requires AVX512F to work"
encrypt.c: ^
encrypt.c: encrypt.c: In function '_mm512_reduce_add_epi64':
encrypt.c: encrypt.c:321:20: note: The ABI for passing parameters with 64-byte alignment has changed in GCC 4.6
encrypt.c: unsigned long long _mm512_reduce_add_epi64 (__m512i a) {
encrypt.c: ^
encrypt.c: encrypt.c: In function 'prf_hash2_2':
encrypt.c: encrypt.c:482:19: warning: AVX512F vector return without AVX512F enabled changes the ABI [-Wpsabi]
encrypt.c: __m512i kv0 = _mm512_loadu_si512((const __m512i*)(nhkey+ 0)); // 1
encrypt.c: ^
encrypt.c: encrypt.c:501:19: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
encrypt.c: __m256i inv0 = _mm256_inserti128_si256(_mm256_castsi128_si256(inv0lo), inv0lo, 1);
encrypt.c: ^

Number of similar (compiler,implementation) pairs: 89, namely:
CompilerImplementations
gcc -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -fno-schedule-insns -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -fno-schedule-insns -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -fno-schedule-insns -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -fno-schedule-insns -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -m64 -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -m64 -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=core2 -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=core2 -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=core2 -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=core2 -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=corei7 -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=corei7 -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=k8 -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=k8 -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=k8 -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=k8 -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=nocona -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=nocona -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=nocona -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=nocona -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -march=barcelona -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -march=barcelona -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -march=barcelona -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -march=barcelona -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -march=k8 -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -march=k8 -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -march=k8 -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -march=k8 -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv dolbeau/amd64-avx512
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv dolbeau/amd64-avx512
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv dolbeau/amd64-avx512
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv dolbeau/amd64-avx512
gcc -march=nocona -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -march=nocona -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -march=nocona -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -march=nocona -Os -fomit-frame-pointer dolbeau/amd64-avx512

Compiler output

Implementation: crypto_aead/hs1sivv2/dolbeau/amd64-sse
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/smmintrin.h:32:0,
encrypt.c: from encrypt.c:54:
encrypt.c: c176.h: In function 'chacha_noxor176':
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
encrypt.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
encrypt.c: ^
encrypt.c: In file included from encrypt.c:190:0:
encrypt.c: c176.h:14:84: error: called from here
encrypt.c: x_##a = _mm_add_epi32(x_##a, x_##b); t_##a = _mm_xor_si128(x_##d, x_##a); x_##d = _mm_shuffle_epi8(t_##a, rot8); \
encrypt.c: ^
encrypt.c: c176.h:17:36: note: in expansion of macro 'VEC4_QUARTERROUND_SHUFFLE'
encrypt.c: #define VEC4_QUARTERROUND(a,b,c,d) VEC4_QUARTERROUND_SHUFFLE(a,b,c,d)
encrypt.c: ^
encrypt.c: c176.h:106:7: note: in expansion of macro 'VEC4_QUARTERROUND'
encrypt.c: VEC4_QUARTERROUND( 3, 4, 9,14);
encrypt.c: ^
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/smmintrin.h:32:0,
encrypt.c: from encrypt.c:54:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
encrypt.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
encrypt.c: ^
encrypt.c: In file included from encrypt.c:190:0:
encrypt.c: c176.h:12:84: error: called from here
encrypt.c: x_##a = _mm_add_epi32(x_##a, x_##b); t_##a = _mm_xor_si128(x_##d, x_##a); x_##d = _mm_shuffle_epi8(t_##a, rot16); \
encrypt.c: ^
encrypt.c: ...
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/smmintrin.h:32:0,
encrypt.c: from encrypt.c:54:
encrypt.c: c176.h: In function 'chacha_noxor176':
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
encrypt.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
encrypt.c: ^
encrypt.c: In file included from encrypt.c:190:0:
encrypt.c: c176.h:14:84: error: called from here
encrypt.c: x_##a = _mm_add_epi32(x_##a, x_##b); t_##a = _mm_xor_si128(x_##d, x_##a); x_##d = _mm_shuffle_epi8(t_##a, rot8); \
encrypt.c: ^
encrypt.c: c176.h:17:36: note: in expansion of macro 'VEC4_QUARTERROUND_SHUFFLE'
encrypt.c: #define VEC4_QUARTERROUND(a,b,c,d) VEC4_QUARTERROUND_SHUFFLE(a,b,c,d)
encrypt.c: ^
encrypt.c: c176.h:106:7: note: in expansion of macro 'VEC4_QUARTERROUND'
encrypt.c: VEC4_QUARTERROUND( 3, 4, 9,14);
encrypt.c: ^
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/smmintrin.h:32:0,
encrypt.c: from encrypt.c:54:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
encrypt.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
encrypt.c: ^
encrypt.c: In file included from encrypt.c:190:0:
encrypt.c: c176.h:12:84: error: called from here
encrypt.c: x_##a = _mm_add_epi32(x_##a, x_##b); t_##a = _mm_xor_si128(x_##d, x_##a); x_##d = _mm_shuffle_epi8(t_##a, rot16); \
encrypt.c: ^
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=barcelona -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=barcelona -Os -fomit-frame-pointer dolbeau/amd64-sse

Compiler output

Implementation: crypto_aead/hs1sivv2/dolbeau/amd64-avx2
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
encrypt.c: encrypt.c:90:2: error: #error "This code requires AVX2 to work"
encrypt.c: #error "This code requires AVX2 to work"
encrypt.c: ^
encrypt.c: encrypt.c: In function 'prf_hash2_2':
encrypt.c: encrypt.c:425:19: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
encrypt.c: __m256i kv0 = _mm256_loadu_si256((const __m256i*)(nhkey+ 0)); // 1
encrypt.c: ^
encrypt.c: encrypt.c:90:2: error: #error "This code requires AVX2 to work"
encrypt.c: #error "This code requires AVX2 to work"
encrypt.c: ^
encrypt.c: encrypt.c: In function 'prf_hash2_2':
encrypt.c: encrypt.c:425:19: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
encrypt.c: __m256i kv0 = _mm256_loadu_si256((const __m256i*)(nhkey+ 0)); // 1
encrypt.c: ^

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=barcelona -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=barcelona -Os -fomit-frame-pointer dolbeau/amd64-avx2

Compiler output

Implementation: crypto_aead/hs1sivv2/dolbeau/amd64-avx512
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
encrypt.c: encrypt.c:90:2: error: #error "This code requires AVX512F to work"
encrypt.c: #error "This code requires AVX512F to work"
encrypt.c: ^
encrypt.c: encrypt.c: In function '_mm512_reduce_add_epi64':
encrypt.c: encrypt.c:321:20: note: The ABI for passing parameters with 64-byte alignment has changed in GCC 4.6
encrypt.c: unsigned long long _mm512_reduce_add_epi64 (__m512i a) {
encrypt.c: ^
encrypt.c: encrypt.c: In function 'prf_hash2_2':
encrypt.c: encrypt.c:482:19: warning: AVX512F vector return without AVX512F enabled changes the ABI [-Wpsabi]
encrypt.c: __m512i kv0 = _mm512_loadu_si512((const __m512i*)(nhkey+ 0)); // 1
encrypt.c: ^
encrypt.c: encrypt.c:501:19: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
encrypt.c: __m256i inv0 = _mm256_inserti128_si256(_mm256_castsi128_si256(inv0lo), inv0lo, 1);
encrypt.c: ^
encrypt.c: encrypt.c:90:2: error: #error "This code requires AVX512F to work"
encrypt.c: #error "This code requires AVX512F to work"
encrypt.c: ^
encrypt.c: encrypt.c: In function '_mm512_reduce_add_epi64':
encrypt.c: encrypt.c:321:20: note: The ABI for passing parameters with 64-byte alignment has changed in GCC 4.6
encrypt.c: unsigned long long _mm512_reduce_add_epi64 (__m512i a) {
encrypt.c: ^
encrypt.c: encrypt.c: In function 'prf_hash2_2':
encrypt.c: encrypt.c:482:19: warning: AVX512F vector return without AVX512F enabled changes the ABI [-Wpsabi]
encrypt.c: __m512i kv0 = _mm512_loadu_si512((const __m512i*)(nhkey+ 0)); // 1
encrypt.c: ^
encrypt.c: encrypt.c:501:19: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
encrypt.c: __m256i inv0 = _mm256_inserti128_si256(_mm256_castsi128_si256(inv0lo), inv0lo, 1);
encrypt.c: ^

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=barcelona -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=barcelona -Os -fomit-frame-pointer dolbeau/amd64-avx512