Implementation notes: amd64, hydra6, crypto_aead/hs1sivhiv2

Computer: hydra6
Architecture: amd64
CPU ID: AuthenticAMD-00600f12-178bfbff
SUPERCOP version: 20171218
Operation: crypto_aead
Primitive: hs1sivhiv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
24092? ? ?? ? ?fasterclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2017091020170725
24122? ? ?? ? ?fasterclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017091020170725
24166? ? ?? ? ?fasterclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2017091020170725
24198? ? ?? ? ?fasterclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017091020170725
24560? ? ?? ? ?dolbeau/amd64-sseclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2017091020170725
24678? ? ?? ? ?fastergcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017091020170725
24687? ? ?? ? ?dolbeau/amd64-sseclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017091020170725
24790? ? ?? ? ?fastergcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017091020170725
24797? ? ?? ? ?fastergcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017091020170725
24848? ? ?? ? ?fastergcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017091020170725
25326? ? ?? ? ?fastergcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017091020170725
25622? ? ?? ? ?fastergcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017091020170725
25750? ? ?? ? ?fastergcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017091020170725
26484? ? ?? ? ?fastergcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017091020170725
26656? ? ?? ? ?fastergcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017091020170725
26666? ? ?? ? ?fastergcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017091020170725
26763? ? ?? ? ?fastergcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017091020170725
26856? ? ?? ? ?fastergcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017091020170725
26998? ? ?? ? ?fastergcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2017091020170725
27074? ? ?? ? ?fastergcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2017091020170725
27238? ? ?? ? ?fastergcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2017091020170725
27656? ? ?? ? ?fasterclang_-O3_-fomit-frame-pointer_-Qunused-arguments2017091020170725
27668? ? ?? ? ?fasterclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017091020170725
27670? ? ?? ? ?fastergcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017091020170725
27708? ? ?? ? ?fastergcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017091020170725
27708? ? ?? ? ?fastergcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2017091020170725
27726? ? ?? ? ?fasterclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017091020170725
27802? ? ?? ? ?fasterclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017091020170725
27804? ? ?? ? ?fastergcc_-m64_-march=core2_-O3_-fomit-frame-pointer2017091020170725
27870? ? ?? ? ?fastergcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017091020170725
27894? ? ?? ? ?fastergcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017091020170725
28398? ? ?? ? ?fastergcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017091020170725
28596? ? ?? ? ?fastergcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017091020170725
28608? ? ?? ? ?fastergcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017091020170725
28692? ? ?? ? ?fastergcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2017091020170725
28874? ? ?? ? ?fastergcc_-m64_-march=core2_-O2_-fomit-frame-pointer2017091020170725
29033? ? ?? ? ?fastergcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017091020170725
29070? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017091020170725
29138? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017091020170725
29478? ? ?? ? ?fastergcc_-march=nocona_-O3_-fomit-frame-pointer2017091020170725
29618? ? ?? ? ?fastergcc_-march=barcelona_-O2_-fomit-frame-pointer2017091020170725
29644? ? ?? ? ?fastergcc_-march=barcelona_-O3_-fomit-frame-pointer2017091020170725
29651? ? ?? ? ?fastergcc_-march=k8_-O3_-fomit-frame-pointer2017091020170725
29662? ? ?? ? ?fastergcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017091020170725
29664? ? ?? ? ?fastergcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017091020170725
29728? ? ?? ? ?fastergcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2017091020170725
29738? ? ?? ? ?fastergcc_-m64_-march=k8_-O3_-fomit-frame-pointer2017091020170725
29782? ? ?? ? ?fastergcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2017091020170725
29794? ? ?? ? ?fastergcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2017091020170725
29800? ? ?? ? ?fastergcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2017091020170725
29802? ? ?? ? ?fastergcc_-funroll-loops_-O3_-fomit-frame-pointer2017091020170725
29814? ? ?? ? ?fastergcc_-m64_-O3_-fomit-frame-pointer2017091020170725
29832? ? ?? ? ?fastergcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2017091020170725
29842? ? ?? ? ?fastergcc_-O3_-fomit-frame-pointer2017091020170725
29882? ? ?? ? ?dolbeau/amd64-ssegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017091020170725
29883? ? ?? ? ?fastergcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017091020170725
29908? ? ?? ? ?fastergcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2017091020170725
29940? ? ?? ? ?fastergcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2017091020170725
29974? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017091020170725
30014? ? ?? ? ?fastergcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017091020170725
30062? ? ?? ? ?fastergcc_-m64_-march=k8_-O2_-fomit-frame-pointer2017091020170725
30064? ? ?? ? ?fastergcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2017091020170725
30070? ? ?? ? ?fastergcc_-march=k8_-O2_-fomit-frame-pointer2017091020170725
30132? ? ?? ? ?fastergcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2017091020170725
30194? ? ?? ? ?fastergcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017091020170725
30232? ? ?? ? ?fastergcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017091020170725
30244? ? ?? ? ?fastergcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2017091020170725
30248? ? ?? ? ?fastergcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2017091020170725
30260? ? ?? ? ?fastergcc_-funroll-loops_-O2_-fomit-frame-pointer2017091020170725
30262? ? ?? ? ?fastergcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2017091020170725
30288? ? ?? ? ?fastergcc_-O2_-fomit-frame-pointer2017091020170725
30288? ? ?? ? ?fastergcc_-m64_-O2_-fomit-frame-pointer2017091020170725
30323? ? ?? ? ?fastergcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2017091020170725
30326? ? ?? ? ?fastergcc_-march=nocona_-O2_-fomit-frame-pointer2017091020170725
30332? ? ?? ? ?fastergcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2017091020170725
30344? ? ?? ? ?fastergcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2017091020170725
30352? ? ?? ? ?fastergcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2017091020170725
30368? ? ?? ? ?fastergcc_-m64_-march=corei7_-O_-fomit-frame-pointer2017091020170725
30430? ? ?? ? ?fastergcc_-m64_-march=core2_-Os_-fomit-frame-pointer2017091020170725
30472? ? ?? ? ?fastergcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017091020170725
30520? ? ?? ? ?fastergcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017091020170725
30752? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017091020170725
30809? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017091020170725
30902? ? ?? ? ?fastergcc_-march=k8_-Os_-fomit-frame-pointer2017091020170725
30916? ? ?? ? ?fastergcc_-m64_-march=k8_-Os_-fomit-frame-pointer2017091020170725
30936? ? ?? ? ?dolbeau/amd64-ssegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017091020170725
30950? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017091020170725
30952? ? ?? ? ?fastergcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017091020170725
31001? ? ?? ? ?dolbeau/amd64-ssegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017091020170725
31024? ? ?? ? ?dolbeau/amd64-sseclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2017091020170725
31036? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017091020170725
31090? ? ?? ? ?fastergcc_-m64_-Os_-fomit-frame-pointer2017091020170725
31092? ? ?? ? ?fastergcc_-march=barcelona_-Os_-fomit-frame-pointer2017091020170725
31144? ? ?? ? ?fastergcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2017091020170725
31174? ? ?? ? ?fastergcc_-Os_-fomit-frame-pointer2017091020170725
31185? ? ?? ? ?dolbeau/amd64-sseclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017091020170725
31230? ? ?? ? ?dolbeau/amd64-ssegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017091020170725
31306? ? ?? ? ?fastergcc_-m64_-march=core2_-O_-fomit-frame-pointer2017091020170725
31392? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017091020170725
31728? ? ?? ? ?fastergcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2017091020170725
32068? ? ?? ? ?fastergcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2017091020170725
32110? ? ?? ? ?fastergcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2017091020170725
32116? ? ?? ? ?fastergcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2017091020170725
32230? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017091020170725
32236? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017091020170725
32264? ? ?? ? ?fastergcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2017091020170725
32280? ? ?? ? ?fastergcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2017091020170725
32305? ? ?? ? ?fastergcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2017091020170725
32308? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017091020170725
32351? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017091020170725
32400? ? ?? ? ?fastergcc_-march=nocona_-Os_-fomit-frame-pointer2017091020170725
32424? ? ?? ? ?fastergcc_-funroll-loops_-Os_-fomit-frame-pointer2017091020170725
32424? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=core2_-Os_-fomit-frame-pointer2017091020170725
32428? ? ?? ? ?fastergcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2017091020170725
32478? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017091020170725
32547? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2017091020170725
32568? ? ?? ? ?fastergcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2017091020170725
32570? ? ?? ? ?fastergcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2017091020170725
32582? ? ?? ? ?fastergcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017091020170725
32588? ? ?? ? ?fastergcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2017091020170725
32626? ? ?? ? ?fastergcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2017091020170725
32626? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017091020170725
32736? ? ?? ? ?fastergcc_-m64_-march=k8_-O_-fomit-frame-pointer2017091020170725
32746? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=core2_-O_-fomit-frame-pointer2017091020170725
32824? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017091020170725
32838? ? ?? ? ?fastergcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2017091020170725
32850? ? ?? ? ?fastergcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017091020170725
32856? ? ?? ? ?fastergcc_-funroll-loops_-O_-fomit-frame-pointer2017091020170725
32908? ? ?? ? ?fastergcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2017091020170725
32919? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017091020170725
32968? ? ?? ? ?fastergcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017091020170725
32996? ? ?? ? ?fastergcc_-m64_-O_-fomit-frame-pointer2017091020170725
33068? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=corei7_-O_-fomit-frame-pointer2017091020170725
33086? ? ?? ? ?fastergcc_-march=k8_-O_-fomit-frame-pointer2017091020170725
33128? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=core2_-O3_-fomit-frame-pointer2017091020170725
33138? ? ?? ? ?fastergcc_-fno-schedule-insns_-O_-fomit-frame-pointer2017091020170725
33164? ? ?? ? ?fastergcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017091020170725
33198? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2017091020170725
33214? ? ?? ? ?fastergcc_-O_-fomit-frame-pointer2017091020170725
33250? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2017091020170725
33306? ? ?? ? ?fastergcc_-march=barcelona_-O_-fomit-frame-pointer2017091020170725
33338? ? ?? ? ?fastergcc_-m64_-march=nocona_-O_-fomit-frame-pointer2017091020170725
33414? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017091020170725
33530? ? ?? ? ?fastergcc_-march=nocona_-O_-fomit-frame-pointer2017091020170725
33584? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2017091020170725
33663? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017091020170725
33708? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2017091020170725
34174? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=core2_-O2_-fomit-frame-pointer2017091020170725
76167? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2017091020170725
76189? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2017091020170725
76336? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017091020170725
76346? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2017091020170725
76764? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017091020170725
76824? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2017091020170725
77136? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2017091020170725
77728? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2017091020170725
78359? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2017091020170725
78528? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017091020170725
78536? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2017091020170725
78638? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2017091020170725
78662? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017091020170725
78666? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2017091020170725
78697? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2017091020170725
78708? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017091020170725
78808? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2017091020170725
78822? ? ?? ? ?refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2017091020170725
78854? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2017091020170725
78880? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2017091020170725
78937? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2017091020170725
78966? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017091020170725
79107? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2017091020170725
79140? ? ?? ? ?refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017091020170725
79186? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017091020170725
79246? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2017091020170725
79588? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2017091020170725
79623? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017091020170725
79628? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017091020170725
79907? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2017091020170725
80076? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2017091020170725
80356? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2017091020170725
80908? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2017091020170725
81654? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2017091020170725
84267? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2017091020170725
84398? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2017091020170725
85169? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017091020170725
85528? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017091020170725
85574? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017091020170725
85580? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017091020170725
85719? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2017091020170725
86395? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2017091020170725
87128? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2017091020170725
97962? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2017091020170725
98027? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2017091020170725
98663? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2017091020170725
98694? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2017091020170725
98885? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2017091020170725
98908? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2017091020170725
99115? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2017091020170725
100493? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017091020170725
100616? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2017091020170725
100668? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2017091020170725
102345? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017091020170725
103624? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2017091020170725
103701? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2017091020170725
103816? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2017091020170725
104700? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017091020170725
104899? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017091020170725
104969? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2017091020170725
106650? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2017091020170725
106687? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2017091020170725
106737? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2017091020170725
107405? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017091020170725
107478? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017091020170725
107724? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017091020170725
107781? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017091020170725
107884? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017091020170725
108014? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2017091020170725
108133? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017091020170725
109316? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2017091020170725
109395? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2017091020170725
110346? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2017091020170725
110792? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017091020170725
111127? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2017091020170725
111946? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017091020170725
112200? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2017091020170725
112230? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2017091020170725
112370? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2017091020170725
112516? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2017091020170725
112605? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2017091020170725
113238? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017091020170725
113578? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2017091020170725
113802? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2017091020170725
113964? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2017091020170725
114032? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017091020170725
114103? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2017091020170725
114140? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017091020170725
114382? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2017091020170725
114421? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2017091020170725
114500? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2017091020170725
114510? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017091020170725
114603? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2017091020170725
114914? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017091020170725
115086? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2017091020170725
115228? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017091020170725
115294? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2017091020170725
115639? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017091020170725
115646? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2017091020170725
115919? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017091020170725
115988? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017091020170725
116594? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2017091020170725
116606? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2017091020170725
116696? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2017091020170725
116878? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2017091020170725
117834? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2017091020170725
119558? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017091020170725
122159? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017091020170725
129330? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2017091020170725
143216? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017091020170725
144032? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2017091020170725
146052? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2017091020170725
243542? ? ?? ? ?fastercc2017091020170725
243618? ? ?? ? ?fastergcc_-funroll-loops2017091020170725
245959? ? ?? ? ?fastergcc2017091020170725
962589? ? ?? ? ?refgcc_-funroll-loops2017091020170725
970476? ? ?? ? ?refcc2017091020170725
970974? ? ?? ? ?refgcc2017091020170725

Test failure

Implementation: crypto_aead/hs1sivhiv2/dolbeau/amd64-avx2
Compiler: gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer dolbeau/amd64-avx2 dolbeau/amd64-sse faster ref
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer dolbeau/amd64-avx2 dolbeau/amd64-sse faster ref
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer dolbeau/amd64-avx2 dolbeau/amd64-sse faster ref

Compiler output

Implementation: crypto_aead/hs1sivhiv2/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: c256.h: In function 'chacha_noxor368':
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:192:0:
encrypt.c: c256.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: c256.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: c256.h:105: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:192:0:
encrypt.c: c256.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: 71, 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=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=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/hs1sivhiv2/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: In file included from encrypt.c:195:0:
encrypt.c: c368.h: In function 'chacha_noxor368':
encrypt.c: c368.h:110:11: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
encrypt.c: __m256i rot16 = _mm256_set_epi8(13,12,15,14,9,8,11,10,5,4,7,6,1,0,3,2,13,12,15,14,9,8,11,10,5,4,7,6,1,0,3,2);
encrypt.c: ^

Number of similar (compiler,implementation) pairs: 87, 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 -O3 -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 -O3 -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 -O3 -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=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=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/hs1sivhiv2/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:330: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: In file included from encrypt.c:195:0:
encrypt.c: c368.h: In function 'chacha_noxor368':
encrypt.c: c368.h:111:11: warning: AVX512F vector return without AVX512F enabled changes the ABI [-Wpsabi]
encrypt.c: __m512i x_0 = _mm512_set1_epi32(x[0]);
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: In function 'prf_hash2_3':
encrypt.c: encrypt.c:528: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/hs1sivhiv2/dolbeau/amd64-sse
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
encrypt.c: In file included from encrypt.c:192:
encrypt.c: ./c256.h:98:7: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'chacha_noxor368' that is compiled without support for 'ssse3'
encrypt.c: VEC4_QUARTERROUND( 0, 4, 8,12);
encrypt.c: ^
encrypt.c: ./c256.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: ./c256.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: ./c256.h:98:7: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'chacha_noxor368' that is compiled without support for 'ssse3'
encrypt.c: ./c256.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: ./c256.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: ./c256.h:99:7: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'chacha_noxor368' that is compiled without support for 'ssse3'
encrypt.c: VEC4_QUARTERROUND( 1, 5, 9,13);
encrypt.c: ^
encrypt.c: ./c256.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: ./c256.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: 4, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -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/hs1sivhiv2/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: 8, 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 -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments dolbeau/amd64-avx2
clang -O3 -fwrapv -mavx -maes -mpclmul -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/hs1sivhiv2/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: In file included from encrypt.c:195:
encrypt.c: ./c368.h:177:28: warning: implicit declaration of function '_mm512_set_epi32' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: const __m512i addv12 = _mm512_set_epi32(15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0);
encrypt.c: ^
encrypt.c: ./c368.h:177:19: error: initializing 'const __m512i' (vector of 8 'long long' values) with an expression of incompatible type 'int'
encrypt.c: const __m512i addv12 = _mm512_set_epi32(15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: ./c368.h:179:12: warning: implicit declaration of function '_mm512_broadcastd_epi32' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: t_12 = _mm512_broadcastd_epi32(_mm_cvtsi32_si128(in12));
encrypt.c: ^
encrypt.c: ./c368.h:179:10: error: assigning to '__m512i' (vector of 8 'long long' values) from incompatible type 'int'
encrypt.c: t_12 = _mm512_broadcastd_epi32(_mm_cvtsi32_si128(in12));
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: ./c368.h:185:7: warning: implicit declaration of function '_mm512_rol_epi32' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: VEC16_ROUND( 0, 4, 8,12, 1, 5, 9,13, 2, 6,10,14, 3, 7,11,15);
encrypt.c: ^
encrypt.c: ./c368.h:106:70: note: expanded from macro 'VEC16_ROUND'
encrypt.c: #define VEC16_ROUND(a1,b1,c1,d1,a2,b2,c2,d2,a3,b3,c3,d3,a4,b4,c4,d4) VEC16_ROUND_SEQ(a1,b1,c1,d1,a2,b2,c2,d2,a3,b3,c3,d3,a4,b4,c4,d4)
encrypt.c: ^
encrypt.c: ./c368.h:82:3: note: expanded from macro 'VEC16_ROUND_SEQ'
encrypt.c: VEC16_LINE1(a1,b1,c1,d1); \
encrypt.c: ^
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 8, 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 -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments dolbeau/amd64-avx512
clang -O3 -fwrapv -mavx -maes -mpclmul -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/hs1sivhiv2/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:330: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: In file included from encrypt.c:195:0:
encrypt.c: c368.h: In function 'chacha_noxor368':
encrypt.c: c368.h:111:11: warning: AVX512F vector return without AVX512F enabled changes the ABI [-Wpsabi]
encrypt.c: __m512i x_0 = _mm512_set1_epi32(x[0]);
encrypt.c: ^
encrypt.c: encrypt.c: In function 'prf_hash2_3':
encrypt.c: encrypt.c:528: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: 84, 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 -O3 -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 -O3 -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 -O3 -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=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=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/hs1sivhiv2/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: c256.h: In function 'chacha_noxor368':
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:192:0:
encrypt.c: c256.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: c256.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: c256.h:105: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:192:0:
encrypt.c: c256.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: c256.h: In function 'chacha_noxor368':
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:192:0:
encrypt.c: c256.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: c256.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: c256.h:105: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:192:0:
encrypt.c: c256.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/hs1sivhiv2/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: In file included from encrypt.c:195:0:
encrypt.c: c368.h: In function 'chacha_noxor368':
encrypt.c: c368.h:110:11: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
encrypt.c: __m256i rot16 = _mm256_set_epi8(13,12,15,14,9,8,11,10,5,4,7,6,1,0,3,2,13,12,15,14,9,8,11,10,5,4,7,6,1,0,3,2);
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: In file included from encrypt.c:195:0:
encrypt.c: c368.h: In function 'chacha_noxor368':
encrypt.c: c368.h:110:11: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
encrypt.c: __m256i rot16 = _mm256_set_epi8(13,12,15,14,9,8,11,10,5,4,7,6,1,0,3,2,13,12,15,14,9,8,11,10,5,4,7,6,1,0,3,2);
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/hs1sivhiv2/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:330: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: In file included from encrypt.c:195:0:
encrypt.c: c368.h: In function 'chacha_noxor368':
encrypt.c: c368.h:111:11: warning: AVX512F vector return without AVX512F enabled changes the ABI [-Wpsabi]
encrypt.c: __m512i x_0 = _mm512_set1_epi32(x[0]);
encrypt.c: ^
encrypt.c: encrypt.c: In function 'prf_hash2_3':
encrypt.c: encrypt.c:528: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:330: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: In file included from encrypt.c:195:0:
encrypt.c: c368.h: In function 'chacha_noxor368':
encrypt.c: c368.h:111:11: warning: AVX512F vector return without AVX512F enabled changes the ABI [-Wpsabi]
encrypt.c: __m512i x_0 = _mm512_set1_epi32(x[0]);
encrypt.c: ^
encrypt.c: encrypt.c: In function 'prf_hash2_3':
encrypt.c: encrypt.c:528: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

Compiler output

Implementation: crypto_aead/hs1sivhiv2/dolbeau/amd64-avx2
Compiler: gcc -m64 -march=core-avx-i -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: ^

Number of similar (compiler,implementation) pairs: 16, namely:
CompilerImplementations
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=corei7-avx -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 -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

Compiler output

Implementation: crypto_aead/hs1sivhiv2/dolbeau/amd64-avx512
Compiler: gcc -m64 -march=core-avx-i -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:330: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: In file included from encrypt.c:195:0:
encrypt.c: c368.h: In function 'chacha_noxor368':
encrypt.c: c368.h:111:11: warning: AVX512F vector return without AVX512F enabled changes the ABI [-Wpsabi]
encrypt.c: __m512i x_0 = _mm512_set1_epi32(x[0]);
encrypt.c: ^

Number of similar (compiler,implementation) pairs: 19, namely:
CompilerImplementations
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=corei7-avx -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 -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