Implementation notes: amd64, glyme, crypto_aead/hs1sivlov2

Computer: glyme
Architecture: amd64
CPU ID: GenuineIntel-00020652-bfebfbff
SUPERCOP version: 201720170105
Operation: crypto_aead
Primitive: hs1sivlov2
TimeImplementationCompilerBenchmark dateSUPERCOP version
8356fasterclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017020420170105
8356fasterclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
8796fastergcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020420170105
8800fastergcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020420170105
8800fastergcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020420170105
8932fastergcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020420170105
8960fastergcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020420170105
8964fasterclang -O3 -fomit-frame-pointer -Qunused-arguments2017020420170105
8964fasterclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
8964fasterclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
8964fasterclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
9032fastergcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020420170105
9280dolbeau/amd64-sseclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017020420170105
9280dolbeau/amd64-sseclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
9584fastergcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020420170105
9592fastergcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
9596fastergcc -funroll-loops -O3 -fomit-frame-pointer2017020420170105
9608fastergcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020420170105
9620fastergcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
9628fastergcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
9628fastergcc -march=nocona -O3 -fomit-frame-pointer2017020420170105
9644fastergcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
9648fastergcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020420170105
9648fastergcc -march=k8 -O3 -fomit-frame-pointer2017020420170105
9652fastergcc -O3 -fomit-frame-pointer2017020420170105
9660fastergcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
9660fastergcc -m64 -O3 -fomit-frame-pointer2017020420170105
9672fastergcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
9672fastergcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
9684fastergcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
9684fastergcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020420170105
9700fastergcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020420170105
9700fastergcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020420170105
9700fastergcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020420170105
9704fastergcc -funroll-loops -O2 -fomit-frame-pointer2017020420170105
9704fastergcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
9708fastergcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020420170105
9716fastergcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020420170105
9728fastergcc -march=barcelona -O3 -fomit-frame-pointer2017020420170105
9732fastergcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
9768fastergcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020420170105
9784fastergcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
9784fastergcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020420170105
9792fastergcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020420170105
9796fastergcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
9800fastergcc -funroll-loops -O -fomit-frame-pointer2017020420170105
9804fastergcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
9804fastergcc -funroll-loops -m64 -O -fomit-frame-pointer2017020420170105
9804fastergcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020420170105
9808fastergcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
9836fastergcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020420170105
9840fastergcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020420170105
9848fastergcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020420170105
9852fastergcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
9872dolbeau/amd64-ssegcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020420170105
9872dolbeau/amd64-ssegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020420170105
9876dolbeau/amd64-ssegcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020420170105
9880dolbeau/amd64-ssegcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020420170105
9880dolbeau/amd64-ssegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020420170105
9896fastergcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
9896fastergcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020420170105
9920dolbeau/amd64-ssegcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020420170105
9948dolbeau/amd64-ssegcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020420170105
9948dolbeau/amd64-ssegcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020420170105
9948dolbeau/amd64-ssegcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020420170105
9960dolbeau/amd64-ssegcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020420170105
9984dolbeau/amd64-ssegcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020420170105
9996dolbeau/amd64-ssegcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020420170105
10172fastergcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020420170105
10176fastergcc -m64 -march=core2 -O -fomit-frame-pointer2017020420170105
10176fastergcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020420170105
10176fastergcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020420170105
10184fastergcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020420170105
10192fastergcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020420170105
10192dolbeau/amd64-ssegcc -m64 -march=corei7 -O -fomit-frame-pointer2017020420170105
10204dolbeau/amd64-ssegcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020420170105
10204dolbeau/amd64-ssegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020420170105
10264fastergcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020420170105
10272dolbeau/amd64-ssegcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020420170105
10276dolbeau/amd64-ssegcc -m64 -march=core2 -O -fomit-frame-pointer2017020420170105
10276dolbeau/amd64-ssegcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020420170105
10308fastergcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020420170105
10312fastergcc -m64 -march=core2 -Os -fomit-frame-pointer2017020420170105
10344fastergcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020420170105
10344fastergcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020420170105
10352fastergcc -m64 -march=corei7 -O -fomit-frame-pointer2017020420170105
10356fastergcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
10372fastergcc -march=nocona -O2 -fomit-frame-pointer2017020420170105
10468fastergcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
10468fastergcc -march=barcelona -O2 -fomit-frame-pointer2017020420170105
10488fastergcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
10496fastergcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020420170105
10544fastergcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
10548fastergcc -march=k8 -O2 -fomit-frame-pointer2017020420170105
10552fastergcc -m64 -O2 -fomit-frame-pointer2017020420170105
10556fastergcc -O2 -fomit-frame-pointer2017020420170105
10564fastergcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
10576fastergcc -march=nocona -Os -fomit-frame-pointer2017020420170105
10600fastergcc -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
10660fastergcc -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
10680fastergcc -O -fomit-frame-pointer2017020420170105
10680fastergcc -m64 -O -fomit-frame-pointer2017020420170105
10720fastergcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
10728fastergcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020420170105
10768fastergcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
10812fastergcc -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
10820fastergcc -march=barcelona -Os -fomit-frame-pointer2017020420170105
10820fastergcc -march=k8 -O -fomit-frame-pointer2017020420170105
10824fastergcc -m64 -Os -fomit-frame-pointer2017020420170105
10828fastergcc -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
10832fastergcc -Os -fomit-frame-pointer2017020420170105
10876fastergcc -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
10884fastergcc -funroll-loops -Os -fomit-frame-pointer2017020420170105
10900fastergcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
10900fastergcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020420170105
10904fastergcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020420170105
10908fastergcc -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
10916fastergcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
10916fastergcc -march=barcelona -O -fomit-frame-pointer2017020420170105
10940fastergcc -march=k8 -Os -fomit-frame-pointer2017020420170105
10944fastergcc -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
10944fastergcc -march=nocona -O -fomit-frame-pointer2017020420170105
12684dolbeau/amd64-ssegcc -m64 -march=core2 -Os -fomit-frame-pointer2017020420170105
12688dolbeau/amd64-ssegcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020420170105
12688dolbeau/amd64-ssegcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020420170105
12800dolbeau/amd64-ssegcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020420170105
12804dolbeau/amd64-ssegcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020420170105
12824dolbeau/amd64-ssegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020420170105
27236refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020420170105
27256refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
27632refclang -O3 -fomit-frame-pointer -Qunused-arguments2017020420170105
27672refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
27700refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017020420170105
27708refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
27712refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
27764refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
28068refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020420170105
28072refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
28256refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
28264refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
28272refgcc -funroll-loops -O3 -fomit-frame-pointer2017020420170105
28272refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020420170105
28332refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020420170105
30056refgcc -march=nocona -O3 -fomit-frame-pointer2017020420170105
30100refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
30200refgcc -funroll-loops -O2 -fomit-frame-pointer2017020420170105
30200refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020420170105
30212refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
30280refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020420170105
30336refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
30760refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
30760refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020420170105
30968refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020420170105
31000refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
31340refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020420170105
31352refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020420170105
31360refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020420170105
31360refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020420170105
31396refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020420170105
31396refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020420170105
33624refgcc -march=barcelona -O3 -fomit-frame-pointer2017020420170105
33768refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
33812refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
33828refgcc -march=k8 -O3 -fomit-frame-pointer2017020420170105
34016refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
34032refgcc -O3 -fomit-frame-pointer2017020420170105
34192refgcc -m64 -O3 -fomit-frame-pointer2017020420170105
38108fastercc2017020420170105
40576refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
40608refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020420170105
40612refgcc -funroll-loops -m64 -O -fomit-frame-pointer2017020420170105
40616refgcc -funroll-loops -O -fomit-frame-pointer2017020420170105
40684refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
40872refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
40900refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020420170105
41084refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020420170105
41180refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
42520refgcc -march=nocona -O2 -fomit-frame-pointer2017020420170105
42684refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
43808refgcc -march=k8 -O2 -fomit-frame-pointer2017020420170105
43988refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
45276fastergcc2017020420170105
45280fastergcc -funroll-loops2017020420170105
45456refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
45488refgcc -march=barcelona -O2 -fomit-frame-pointer2017020420170105
47408refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020420170105
47428refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020420170105
47792refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020420170105
47808refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020420170105
47808refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020420170105
47828refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020420170105
49400refgcc -O2 -fomit-frame-pointer2017020420170105
49416refgcc -m64 -O2 -fomit-frame-pointer2017020420170105
49440refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
49992refgcc -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
50108refgcc -march=barcelona -O -fomit-frame-pointer2017020420170105
50904refgcc -march=nocona -O -fomit-frame-pointer2017020420170105
51192refgcc -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
52804refgcc -march=k8 -O -fomit-frame-pointer2017020420170105
52856refgcc -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
53876refgcc -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
54084refgcc -O -fomit-frame-pointer2017020420170105
54088refgcc -m64 -O -fomit-frame-pointer2017020420170105
54796refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020420170105
54840refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020420170105
54844refgcc -m64 -march=core2 -O -fomit-frame-pointer2017020420170105
54844refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020420170105
54848refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020420170105
54856refgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020420170105
57036refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020420170105
57048refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020420170105
57060refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020420170105
57100refgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020420170105
57104refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020420170105
57104refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020420170105
57528refgcc -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
57584refgcc -march=k8 -Os -fomit-frame-pointer2017020420170105
57592refgcc -Os -fomit-frame-pointer2017020420170105
57592refgcc -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
57596refgcc -m64 -Os -fomit-frame-pointer2017020420170105
57616refgcc -march=barcelona -Os -fomit-frame-pointer2017020420170105
57660refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
57996refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
57996refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020420170105
58000refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020420170105
58036refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
58044refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
58056refgcc -funroll-loops -Os -fomit-frame-pointer2017020420170105
58080refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020420170105
58692refgcc -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
58692refgcc -march=nocona -Os -fomit-frame-pointer2017020420170105
59208refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020420170105
59212refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
304916refgcc -funroll-loops2017020420170105
312748refgcc2017020420170105
341456refcc2017020420170105

Compiler output

Implementation: crypto_aead/hs1sivlov2/dolbeau/amd64-sse
Compiler: cc
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: 5, namely:
CompilerImplementations
cc dolbeau/amd64-sse
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: cc
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: 7, namely:
CompilerImplementations
cc dolbeau/amd64-avx2
clang -O3 -fomit-frame-pointer -Qunused-arguments dolbeau/amd64-avx2
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments dolbeau/amd64-avx2
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-avx2
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-avx2
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-avx2
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-avx2

Compiler output

Implementation: crypto_aead/hs1sivlov2/dolbeau/amd64-avx512
Compiler: cc
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: encrypt.c:460:26: warning: implicit declaration of function '_mm512_loadu_si512' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: __m512i kv0 = _mm512_loadu_si512((const __m512i*)(nhkey+ 0)); // 1
encrypt.c: ^
encrypt.c: encrypt.c:460:19: error: initializing '__m512i' (vector of 8 'long long' values) with an expression of incompatible type 'int'
encrypt.c: __m512i kv0 = _mm512_loadu_si512((const __m512i*)(nhkey+ 0)); // 1
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:461:19: error: initializing '__m512i' (vector of 8 'long long' values) with an expression of incompatible type 'int'
encrypt.c: __m512i kv4 = _mm512_loadu_si512((const __m512i*)(nhkey+ 4)); // 1
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:462:19: error: initializing '__m512i' (vector of 8 'long long' values) with an expression of incompatible type 'int'
encrypt.c: __m512i kv8 = _mm512_loadu_si512((const __m512i*)(nhkey+ 8)); // 1
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:463:19: error: initializing '__m512i' (vector of 8 'long long' values) with an expression of incompatible type 'int'
encrypt.c: __m512i kv12 = _mm512_loadu_si512((const __m512i*)(nhkey+12)); // 1
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:465:19: error: initializing '__m512i' (vector of 8 'long long' values) with an expression of incompatible type 'int'
encrypt.c: __m512i inv = _mm512_loadu_si512((const __m512i*)(in+ 0));
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:467:11: warning: implicit declaration of function '_mm512_unpacklo_epi32' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: ...

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

Compiler output

Implementation: crypto_aead/hs1sivlov2/dolbeau/amd64-sse
Compiler: gcc
encrypt.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/smmintrin.h:32:0,
encrypt.c: from encrypt.c:54:
encrypt.c: c128.h: In function 'chacha_noxor128':
encrypt.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/smmintrin.h:32:0,
encrypt.c: from encrypt.c:54:
encrypt.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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: 70, namely:
CompilerImplementations
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: gcc
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: 94, namely:
CompilerImplementations
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=native -mtune=native -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=nocona -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=nocona -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=nocona -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=nocona -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=barcelona -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=barcelona -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=barcelona -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=barcelona -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=k8 -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=k8 -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=k8 -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=k8 -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv dolbeau/amd64-avx2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv dolbeau/amd64-avx2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv dolbeau/amd64-avx2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv dolbeau/amd64-avx2
gcc -march=nocona -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=nocona -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=nocona -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=nocona -Os -fomit-frame-pointer dolbeau/amd64-avx2

Compiler output

Implementation: crypto_aead/hs1sivlov2/dolbeau/amd64-avx512
Compiler: gcc
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/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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: 2, namely:
CompilerImplementations
gcc dolbeau/amd64-avx512
gcc -funroll-loops 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: 92, 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=native -mtune=native -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=nocona -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=nocona -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=nocona -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=nocona -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -march=barcelona -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -march=barcelona -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -march=barcelona -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -march=barcelona -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -march=k8 -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -march=k8 -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -march=k8 -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -march=k8 -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv dolbeau/amd64-avx512
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv dolbeau/amd64-avx512
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv dolbeau/amd64-avx512
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv dolbeau/amd64-avx512
gcc -march=nocona -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -march=nocona -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -march=nocona -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -march=nocona -Os -fomit-frame-pointer dolbeau/amd64-avx512

Compiler output

Implementation: crypto_aead/hs1sivlov2/dolbeau/amd64-sse
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
encrypt.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/smmintrin.h:32:0,
encrypt.c: from encrypt.c:54:
encrypt.c: c128.h: In function 'chacha_noxor128':
encrypt.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/smmintrin.h:32:0,
encrypt.c: from encrypt.c:54:
encrypt.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/smmintrin.h:32:0,
encrypt.c: from encrypt.c:54:
encrypt.c: c128.h: In function 'chacha_noxor128':
encrypt.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/smmintrin.h:32:0,
encrypt.c: from encrypt.c:54:
encrypt.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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