Implementation notes: amd64, skylake, crypto_aead/hs1sivlov2

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: hs1sivlov2
TimeImplementationCompilerBenchmark dateSUPERCOP version
4530fasterclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
4540fasterclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
4800dolbeau/amd64-avx2gcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
4816dolbeau/amd64-avx2clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
4816dolbeau/amd64-avx2clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
4834dolbeau/amd64-avx2clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
4836dolbeau/amd64-avx2gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
4850dolbeau/amd64-avx2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
4854dolbeau/amd64-avx2clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
4896fastergcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
4900fastergcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
4912dolbeau/amd64-avx2gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
4926fastergcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
4932dolbeau/amd64-avx2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
4942fastergcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
4946dolbeau/amd64-avx2gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
4962dolbeau/amd64-avx2gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
4968fastergcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
4976fastergcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
4980fastergcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
4986fastergcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
4990dolbeau/amd64-avx2gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
5000fastergcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
5004fastergcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
5012fastergcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
5048fastergcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
5074dolbeau/amd64-avx2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
5206dolbeau/amd64-avx2gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
5210dolbeau/amd64-avx2gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
5218dolbeau/amd64-avx2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
6530fasterclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
6586fasterclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
6708fastergcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
6724fastergcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
6826fastergcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
6862fastergcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
6906fastergcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
6948fastergcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
6978fastergcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
6982fastergcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
7026dolbeau/amd64-ssegcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
7030dolbeau/amd64-ssegcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
7066dolbeau/amd64-ssegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
7074dolbeau/amd64-ssegcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
7196dolbeau/amd64-ssegcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
7208dolbeau/amd64-ssegcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
7214fastergcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
7216dolbeau/amd64-ssegcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
7220dolbeau/amd64-sseclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
7222dolbeau/amd64-ssegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
7224dolbeau/amd64-sseclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
7224dolbeau/amd64-ssegcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
7230dolbeau/amd64-sseclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
7232dolbeau/amd64-sseclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
7232dolbeau/amd64-ssegcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
7232dolbeau/amd64-ssegcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
7236dolbeau/amd64-ssegcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
7242dolbeau/amd64-sseclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
7246dolbeau/amd64-ssegcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
7246dolbeau/amd64-ssegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
7250dolbeau/amd64-ssegcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
7254dolbeau/amd64-ssegcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
7262dolbeau/amd64-sseclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
7270fastergcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
7278fastergcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
7278fastergcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
7282fastergcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
7282dolbeau/amd64-ssegcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
7294dolbeau/amd64-ssegcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
7344dolbeau/amd64-ssegcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
7346fastergcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
7348dolbeau/amd64-ssegcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
7370fastergcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
7376dolbeau/amd64-ssegcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
7394dolbeau/amd64-ssegcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
7402dolbeau/amd64-ssegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
7442fastergcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
7480dolbeau/amd64-ssegcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
7538dolbeau/amd64-ssegcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
7544dolbeau/amd64-ssegcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
7558dolbeau/amd64-ssegcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
7560dolbeau/amd64-ssegcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
7564dolbeau/amd64-ssegcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
7576fastergcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
7580dolbeau/amd64-ssegcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
7604dolbeau/amd64-ssegcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
7622fastergcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
7640fastergcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
7682fastergcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
7740dolbeau/amd64-ssegcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
7752fasterclang -O3 -fomit-frame-pointer -Qunused-arguments2016121620161026
7752fasterclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
7752fasterclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
7892fasterclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
8104fastergcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
8114fastergcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
8114fastergcc -march=k8 -O3 -fomit-frame-pointer2016121620161026
8118fastergcc -m64 -O3 -fomit-frame-pointer2016121620161026
8122fastergcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
8128fastergcc -O3 -fomit-frame-pointer2016121620161026
8128fastergcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
8140fastergcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
8140fastergcc -march=barcelona -O3 -fomit-frame-pointer2016121620161026
8142fastergcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121620161026
8160fastergcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121620161026
8160fastergcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
8162fastergcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121620161026
8168fastergcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121620161026
8170fastergcc -funroll-loops -O3 -fomit-frame-pointer2016121620161026
8186fastergcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
8186fastergcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121620161026
8188fastergcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
8200fastergcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121620161026
8202fastergcc -march=nocona -O3 -fomit-frame-pointer2016121620161026
8206fastergcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121620161026
8208fastergcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121620161026
8212fastergcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
8224fastergcc -funroll-loops -O2 -fomit-frame-pointer2016121620161026
8260fastergcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
8292fastergcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
8302fastergcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
8306fastergcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
8324fastergcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121620161026
8338fastergcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121620161026
8342fastergcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
8346fastergcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
8348fastergcc -funroll-loops -m64 -O -fomit-frame-pointer2016121620161026
8350fastergcc -funroll-loops -O -fomit-frame-pointer2016121620161026
8360fastergcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
8374fastergcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121620161026
8408fastergcc -march=nocona -O2 -fomit-frame-pointer2016121620161026
8414fastergcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
8576fastergcc -march=k8 -O2 -fomit-frame-pointer2016121620161026
8606fastergcc -march=barcelona -O2 -fomit-frame-pointer2016121620161026
8610fastergcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
8612fastergcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
8634fastergcc -m64 -O2 -fomit-frame-pointer2016121620161026
8640fastergcc -O2 -fomit-frame-pointer2016121620161026
8678fastergcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
8788fastergcc -march=nocona -O -fomit-frame-pointer2016121620161026
8804fastergcc -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
8826fastergcc -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
8830fastergcc -march=barcelona -O -fomit-frame-pointer2016121620161026
8832fastergcc -march=k8 -O -fomit-frame-pointer2016121620161026
8848fastergcc -O -fomit-frame-pointer2016121620161026
8856fastergcc -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
8858fastergcc -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
8880fastergcc -m64 -O -fomit-frame-pointer2016121620161026
10692dolbeau/amd64-ssegcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
10722dolbeau/amd64-ssegcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
10728dolbeau/amd64-ssegcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
10840dolbeau/amd64-ssegcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
11602fastergcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
11642fastergcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121620161026
11678fastergcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
11724fastergcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121620161026
11780fastergcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
11830fastergcc -funroll-loops -Os -fomit-frame-pointer2016121620161026
11858fastergcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
11884fastergcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121620161026
11982fastergcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121620161026
14302fastergcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
14436fastergcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
14470fastergcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
14478fastergcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
15166fastergcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
15192fastergcc -march=barcelona -Os -fomit-frame-pointer2016121620161026
15236fastergcc -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
15250fastergcc -Os -fomit-frame-pointer2016121620161026
15252fastergcc -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
15252fastergcc -march=k8 -Os -fomit-frame-pointer2016121620161026
15260fastergcc -m64 -Os -fomit-frame-pointer2016121620161026
15450fastergcc -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
15728fastergcc -march=nocona -Os -fomit-frame-pointer2016121620161026
17190refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
17202refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
17230refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
17422refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
17518refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
17672refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
17752refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
17916refclang -O3 -fomit-frame-pointer -Qunused-arguments2016121620161026
17972refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
18150refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
20530refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
20720refgcc -funroll-loops -O3 -fomit-frame-pointer2016121620161026
20724refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
20764refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121620161026
20904refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121620161026
21202refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
21228refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121620161026
21254refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
21364refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121620161026
21752refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
21760refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
21784refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
22040refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
22054refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
22078refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
22096refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
22170refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
22206refgcc -march=nocona -O3 -fomit-frame-pointer2016121620161026
22360refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
22378refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
22790refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
22918refgcc -m64 -O3 -fomit-frame-pointer2016121620161026
23202refgcc -march=barcelona -O3 -fomit-frame-pointer2016121620161026
23236refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
23238refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
23274refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121620161026
23294refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121620161026
23320refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
23390refgcc -march=k8 -O3 -fomit-frame-pointer2016121620161026
23436refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121620161026
23560refgcc -funroll-loops -O2 -fomit-frame-pointer2016121620161026
23624refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
23628refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
23676refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121620161026
23874refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
23960refgcc -O3 -fomit-frame-pointer2016121620161026
27760refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
27852refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
27978refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
28258refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
28340refgcc -march=k8 -O2 -fomit-frame-pointer2016121620161026
28366refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
28374refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
28454refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
28484refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
28588refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
28628refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
28780refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
28792refgcc -march=barcelona -O2 -fomit-frame-pointer2016121620161026
29046refgcc -O2 -fomit-frame-pointer2016121620161026
29110refgcc -m64 -O2 -fomit-frame-pointer2016121620161026
29126refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
29878refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
30090fastercc2016121620161026
30118refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
30468refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
30870refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
31018fastergcc2016121620161026
31070fastergcc -funroll-loops2016121620161026
31130refgcc -march=nocona -O2 -fomit-frame-pointer2016121620161026
31270refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121620161026
31306refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
31344refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
31356refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121620161026
31364refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121620161026
31382refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
31480refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
31512refgcc -funroll-loops -Os -fomit-frame-pointer2016121620161026
31630refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
31674refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
31706refgcc -march=k8 -Os -fomit-frame-pointer2016121620161026
31766refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
31772refgcc -Os -fomit-frame-pointer2016121620161026
31774refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
31800refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
31830refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
31856refgcc -march=nocona -Os -fomit-frame-pointer2016121620161026
31858refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
31866refgcc -m64 -Os -fomit-frame-pointer2016121620161026
31958refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
31978refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121620161026
32048refgcc -march=barcelona -Os -fomit-frame-pointer2016121620161026
32822refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
32900refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121620161026
32926refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
32952refgcc -funroll-loops -O -fomit-frame-pointer2016121620161026
32980refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121620161026
33074refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121620161026
33096refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
33120refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
33144refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
33346refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
33608refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121620161026
37120refgcc -march=nocona -O -fomit-frame-pointer2016121620161026
37184refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
37806refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
39244refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
39348refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
39470refgcc -march=k8 -O -fomit-frame-pointer2016121620161026
39548refgcc -m64 -O -fomit-frame-pointer2016121620161026
39628refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
39704refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
39916refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
40132refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
40164refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
40210refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
40232refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
40264refgcc -O -fomit-frame-pointer2016121620161026
40344refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
40348refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
40568refgcc -march=barcelona -O -fomit-frame-pointer2016121620161026
226054refcc2016121620161026
226876refgcc -funroll-loops2016121620161026
227240refgcc2016121620161026

Test failure

Implementation: crypto_aead/hs1sivlov2/faster
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
error 111

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments faster
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments faster

Compiler output

Implementation: crypto_aead/hs1sivlov2/dolbeau/amd64-sse
Compiler: cc
encrypt.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/smmintrin.h:32:0,
encrypt.c: from encrypt.c:54:
encrypt.c: c128.h: In function 'chacha_noxor128':
encrypt.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/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: c128.h:14:84: note: 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: c128.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: c128.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-pc-linux-gnu/6.2.1/include/smmintrin.h:32:0,
encrypt.c: from encrypt.c:54:
encrypt.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/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: c128.h:12:84: note: 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/hs1sivlov2/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_1':
encrypt.c: encrypt.c:403: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: 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/hs1sivlov2/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:316: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_1':
encrypt.c: encrypt.c:460: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-pc-linux-gnu/6.2.1/include/immintrin.h:43:0,
encrypt.c: from encrypt.c:54:
encrypt.c: encrypt.c:476: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/hs1sivlov2/dolbeau/amd64-sse
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
encrypt.c: In file included from encrypt.c:190:
encrypt.c: ./c128.h:99:7: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'chacha_noxor128' that is compiled without support for 'ssse3'
encrypt.c: VEC4_QUARTERROUND( 0, 4, 8,12);
encrypt.c: ^
encrypt.c: ./c128.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: ./c128.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: ./c128.h:99:7: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'chacha_noxor128' that is compiled without support for 'ssse3'
encrypt.c: ./c128.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: ./c128.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: ./c128.h:100:7: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'chacha_noxor128' that is compiled without support for 'ssse3'
encrypt.c: VEC4_QUARTERROUND( 1, 5, 9,13);
encrypt.c: ^
encrypt.c: ./c128.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: ./c128.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/hs1sivlov2/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 -mavx -fomit-frame-pointer -Qunused-arguments dolbeau/amd64-avx2
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -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/hs1sivlov2/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:329:15: error: invalid input constraint 'Yz' in asm
encrypt.c: : [a] "Yz" (a)
encrypt.c: ^
encrypt.c: 2 errors generated.

Number of similar (compiler,implementation) pairs: 10, 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 -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments dolbeau/amd64-avx512
clang -O3 -fwrapv -mavx2 -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/hs1sivlov2/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:316: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_1':
encrypt.c: encrypt.c:460: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:476: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/hs1sivlov2/dolbeau/amd64-sse
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
encrypt.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/smmintrin.h:32:0,
encrypt.c: from encrypt.c:54:
encrypt.c: c128.h: In function 'chacha_noxor128':
encrypt.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/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: c128.h:14:84: note: 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: c128.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: c128.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-pc-linux-gnu/6.2.1/include/smmintrin.h:32:0,
encrypt.c: from encrypt.c:54:
encrypt.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/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: c128.h:12:84: note: 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-pc-linux-gnu/6.2.1/include/smmintrin.h:32:0,
encrypt.c: from encrypt.c:54:
encrypt.c: c128.h: In function 'chacha_noxor128':
encrypt.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/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: c128.h:14:84: note: 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: c128.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: c128.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-pc-linux-gnu/6.2.1/include/smmintrin.h:32:0,
encrypt.c: from encrypt.c:54:
encrypt.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/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: c128.h:12:84: note: 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/hs1sivlov2/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_1':
encrypt.c: encrypt.c:403: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_1':
encrypt.c: encrypt.c:403: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/hs1sivlov2/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:316: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_1':
encrypt.c: encrypt.c:460: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:476: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:316: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_1':
encrypt.c: encrypt.c:460: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:476: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/hs1sivlov2/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: 8, 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

Compiler output

Implementation: crypto_aead/hs1sivlov2/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:316: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_1':
encrypt.c: encrypt.c:460: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: ^~~

Number of similar (compiler,implementation) pairs: 20, 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 -O3 -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