Implementation notes: amd64, glyme, crypto_aead/hs1sivv2

Computer: glyme
Architecture: amd64
CPU ID: GenuineIntel-00020652-bfebfbff
SUPERCOP version: 201720170105
Operation: crypto_aead
Primitive: hs1sivv2
TimeImplementationCompilerBenchmark dateSUPERCOP version
14116fasterclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017020420170105
14116fasterclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
14828dolbeau/amd64-sseclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017020420170105
14828dolbeau/amd64-sseclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
15080fasterclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
15084fasterclang -O3 -fomit-frame-pointer -Qunused-arguments2017020420170105
15092fasterclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
15092fasterclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
15332fastergcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020420170105
15344fastergcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020420170105
15364fastergcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020420170105
15520fastergcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020420170105
15524fastergcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020420170105
15532fastergcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020420170105
15540fastergcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020420170105
15588fastergcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020420170105
15588fastergcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020420170105
15696fastergcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020420170105
15776fastergcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020420170105
15824fastergcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020420170105
15992fastergcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020420170105
15996fastergcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020420170105
15996fastergcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020420170105
16184fastergcc -m64 -march=core2 -Os -fomit-frame-pointer2017020420170105
16236fastergcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020420170105
16292fastergcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020420170105
16392dolbeau/amd64-ssegcc -m64 -march=corei7 -O -fomit-frame-pointer2017020420170105
16392dolbeau/amd64-ssegcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020420170105
16412dolbeau/amd64-ssegcc -m64 -march=core2 -O -fomit-frame-pointer2017020420170105
16416dolbeau/amd64-ssegcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020420170105
16416dolbeau/amd64-ssegcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020420170105
16420dolbeau/amd64-ssegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020420170105
16448fastergcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020420170105
16456fastergcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
16580dolbeau/amd64-ssegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020420170105
16620fastergcc -march=nocona -O3 -fomit-frame-pointer2017020420170105
16624fastergcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
16644dolbeau/amd64-ssegcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020420170105
16644dolbeau/amd64-ssegcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020420170105
16656fastergcc -march=barcelona -O3 -fomit-frame-pointer2017020420170105
16660fastergcc -funroll-loops -O3 -fomit-frame-pointer2017020420170105
16660fastergcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020420170105
16660fastergcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
16660fastergcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020420170105
16660fastergcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
16660dolbeau/amd64-ssegcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020420170105
16668dolbeau/amd64-ssegcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020420170105
16680dolbeau/amd64-ssegcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020420170105
16680dolbeau/amd64-ssegcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020420170105
16680dolbeau/amd64-ssegcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020420170105
16680dolbeau/amd64-ssegcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020420170105
16692dolbeau/amd64-ssegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020420170105
16696fastergcc -march=k8 -O3 -fomit-frame-pointer2017020420170105
16704fastergcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
16716fastergcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020420170105
16720fastergcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
16724fastergcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
16724fastergcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020420170105
16724fastergcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
16732dolbeau/amd64-ssegcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020420170105
16732dolbeau/amd64-ssegcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020420170105
16748fastergcc -march=nocona -O2 -fomit-frame-pointer2017020420170105
16752fastergcc -O3 -fomit-frame-pointer2017020420170105
16756fastergcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
16756fastergcc -m64 -O3 -fomit-frame-pointer2017020420170105
16760fastergcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
16768fastergcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020420170105
16776fastergcc -funroll-loops -O2 -fomit-frame-pointer2017020420170105
16820fastergcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
16836fastergcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
16840fastergcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020420170105
16844fastergcc -march=barcelona -O2 -fomit-frame-pointer2017020420170105
16912fastergcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
16924fastergcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
16928fastergcc -march=k8 -O2 -fomit-frame-pointer2017020420170105
16936fastergcc -O2 -fomit-frame-pointer2017020420170105
16936fastergcc -m64 -O2 -fomit-frame-pointer2017020420170105
16952fastergcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
16964fastergcc -m64 -march=corei7 -O -fomit-frame-pointer2017020420170105
16972fastergcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020420170105
16972fastergcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020420170105
16996fastergcc -m64 -march=core2 -O -fomit-frame-pointer2017020420170105
17000fastergcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020420170105
17004fastergcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020420170105
17056fastergcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020420170105
17072fastergcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
17172fastergcc -march=barcelona -Os -fomit-frame-pointer2017020420170105
17180fastergcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
17232fastergcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
17248fastergcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020420170105
17296fastergcc -march=nocona -Os -fomit-frame-pointer2017020420170105
17304fastergcc -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
17324fastergcc -march=k8 -Os -fomit-frame-pointer2017020420170105
17340fastergcc -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
17440fastergcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020420170105
17444fastergcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
17460fastergcc -Os -fomit-frame-pointer2017020420170105
17460fastergcc -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
17460fastergcc -m64 -Os -fomit-frame-pointer2017020420170105
17480fastergcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
17500fastergcc -funroll-loops -Os -fomit-frame-pointer2017020420170105
17500fastergcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020420170105
17520fastergcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
17532fastergcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
17532fastergcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020420170105
17536fastergcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020420170105
17560fastergcc -march=nocona -O -fomit-frame-pointer2017020420170105
17564fastergcc -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
17572fastergcc -funroll-loops -O -fomit-frame-pointer2017020420170105
17572fastergcc -funroll-loops -m64 -O -fomit-frame-pointer2017020420170105
17576fastergcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
17608fastergcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
17608fastergcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020420170105
17644fastergcc -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
17648fastergcc -O -fomit-frame-pointer2017020420170105
17648fastergcc -m64 -O -fomit-frame-pointer2017020420170105
17720fastergcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020420170105
17736fastergcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
17860fastergcc -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
17860fastergcc -march=barcelona -O -fomit-frame-pointer2017020420170105
17960fastergcc -march=k8 -O -fomit-frame-pointer2017020420170105
17968fastergcc -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
19932dolbeau/amd64-ssegcc -m64 -march=core2 -Os -fomit-frame-pointer2017020420170105
19932dolbeau/amd64-ssegcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020420170105
19932dolbeau/amd64-ssegcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020420170105
20216dolbeau/amd64-ssegcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020420170105
20224dolbeau/amd64-ssegcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020420170105
20224dolbeau/amd64-ssegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020420170105
37644refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020420170105
37664refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
38044refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
38044refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
38048refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
38072refclang -O3 -fomit-frame-pointer -Qunused-arguments2017020420170105
38120refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017020420170105
38320refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
38428refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
38460refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020420170105
38464refgcc -funroll-loops -O3 -fomit-frame-pointer2017020420170105
39464refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
39492refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020420170105
39624refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
39624refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020420170105
40476refgcc -march=nocona -O3 -fomit-frame-pointer2017020420170105
40516refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
40848refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020420170105
40860refgcc -funroll-loops -O2 -fomit-frame-pointer2017020420170105
40868refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020420170105
40876refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
40948refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
41128refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020420170105
41132refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
41644refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020420170105
41648refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020420170105
41652refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
41740refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020420170105
41744refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020420170105
41764refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020420170105
41824refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020420170105
41952refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020420170105
44360refgcc -m64 -O3 -fomit-frame-pointer2017020420170105
44472refgcc -O3 -fomit-frame-pointer2017020420170105
44520refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
45048refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
45048refgcc -march=k8 -O3 -fomit-frame-pointer2017020420170105
45060refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
45060refgcc -march=barcelona -O3 -fomit-frame-pointer2017020420170105
54132refgcc -funroll-loops -O -fomit-frame-pointer2017020420170105
54148refgcc -funroll-loops -m64 -O -fomit-frame-pointer2017020420170105
54176refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
54612refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
54624refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020420170105
54816refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020420170105
54944refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020420170105
54972refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
55416refgcc -march=barcelona -O2 -fomit-frame-pointer2017020420170105
55704refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
55704refgcc -march=k8 -O2 -fomit-frame-pointer2017020420170105
55744refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020420170105
55760refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020420170105
55772refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020420170105
55776refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020420170105
55808refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020420170105
55936refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
56452refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
56540refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020420170105
56732refgcc -march=nocona -O2 -fomit-frame-pointer2017020420170105
57260refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
57316refgcc -m64 -O2 -fomit-frame-pointer2017020420170105
57336refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
57552refgcc -O2 -fomit-frame-pointer2017020420170105
66116refgcc -march=nocona -O -fomit-frame-pointer2017020420170105
66212refgcc -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
66852fastercc2017020420170105
68860refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020420170105
68864refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020420170105
68868refgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020420170105
68876refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020420170105
68892refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020420170105
68900refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020420170105
69176refgcc -O -fomit-frame-pointer2017020420170105
69176refgcc -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
69324refgcc -m64 -O -fomit-frame-pointer2017020420170105
69588refgcc -Os -fomit-frame-pointer2017020420170105
69604refgcc -m64 -Os -fomit-frame-pointer2017020420170105
69616refgcc -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
69616refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
69616refgcc -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
69616refgcc -march=k8 -Os -fomit-frame-pointer2017020420170105
69628refgcc -march=barcelona -Os -fomit-frame-pointer2017020420170105
69952refgcc -march=barcelona -O -fomit-frame-pointer2017020420170105
69968refgcc -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
69992refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
70004refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
70016refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020420170105
70020refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020420170105
70084refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020420170105
70100refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
70144refgcc -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
70144refgcc -march=k8 -O -fomit-frame-pointer2017020420170105
70148refgcc -funroll-loops -Os -fomit-frame-pointer2017020420170105
70524refgcc -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
70952refgcc -march=nocona -Os -fomit-frame-pointer2017020420170105
71336refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020420170105
71448refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
71948refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020420170105
71948refgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020420170105
71952refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020420170105
71972refgcc -m64 -march=core2 -O -fomit-frame-pointer2017020420170105
71972refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020420170105
72428refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020420170105
81088fastergcc2017020420170105
81288fastergcc -funroll-loops2017020420170105
435348refgcc2017020420170105
435764refgcc -funroll-loops2017020420170105
474668refcc2017020420170105

Compiler output

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

Number of similar (compiler,implementation) pairs: 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/hs1sivv2/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/hs1sivv2/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:334:15: error: invalid input constraint 'Yz' in asm
encrypt.c: : [a] "Yz" (a)
encrypt.c: ^
encrypt.c: encrypt.c:482:26: warning: implicit declaration of function '_mm512_loadu_si512' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: __m512i kv0 = _mm512_loadu_si512((const __m512i*)(nhkey+ 0)); // 1
encrypt.c: ^
encrypt.c: encrypt.c:482:19: error: initializing '__m512i' (vector of 8 'long long' values) with an expression of incompatible type 'int'
encrypt.c: __m512i kv0 = _mm512_loadu_si512((const __m512i*)(nhkey+ 0)); // 1
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:483:19: error: initializing '__m512i' (vector of 8 'long long' values) with an expression of incompatible type 'int'
encrypt.c: __m512i kv4 = _mm512_loadu_si512((const __m512i*)(nhkey+ 4)); // 1
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:484:19: error: initializing '__m512i' (vector of 8 'long long' values) with an expression of incompatible type 'int'
encrypt.c: __m512i kv8 = _mm512_loadu_si512((const __m512i*)(nhkey+ 8)); // 1, 2
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:485:19: error: initializing '__m512i' (vector of 8 'long long' values) with an expression of incompatible type 'int'
encrypt.c: __m512i kv12 = _mm512_loadu_si512((const __m512i*)(nhkey+12)); // 1, 2
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:486:19: error: initializing '__m512i' (vector of 8 'long long' values) with an expression of incompatible type 'int'
encrypt.c: __m512i kv16 = _mm512_loadu_si512((const __m512i*)(nhkey+16)); // 2
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:487:19: error: initializing '__m512i' (vector of 8 'long long' values) with an expression of incompatible type 'int'
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 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/hs1sivv2/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: c176.h: In function 'chacha_noxor176':
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: c176.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: c176.h:17:36: note: in expansion of macro 'VEC4_QUARTERROUND_SHUFFLE'
encrypt.c: #define VEC4_QUARTERROUND(a,b,c,d) VEC4_QUARTERROUND_SHUFFLE(a,b,c,d)
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: c176.h:106:7: note: in expansion of macro 'VEC4_QUARTERROUND'
encrypt.c: VEC4_QUARTERROUND( 3, 4, 9,14);
encrypt.c: ^~~~~~~~~~~~~~~~~
encrypt.c: In file included from /usr/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: c176.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/hs1sivv2/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_2':
encrypt.c: encrypt.c:425:19: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
encrypt.c: __m256i kv0 = _mm256_loadu_si256((const __m256i*)(nhkey+ 0)); // 1
encrypt.c: ^~~

Number of similar (compiler,implementation) pairs: 93, 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 -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/hs1sivv2/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:321:20: note: The ABI for passing parameters with 64-byte alignment has changed in GCC 4.6
encrypt.c: unsigned long long _mm512_reduce_add_epi64 (__m512i a) {
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c: In function 'prf_hash2_2':
encrypt.c: encrypt.c:482:19: warning: AVX512F vector return without AVX512F enabled changes the ABI [-Wpsabi]
encrypt.c: __m512i kv0 = _mm512_loadu_si512((const __m512i*)(nhkey+ 0)); // 1
encrypt.c: ^~~
encrypt.c: In file included from /usr/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:501:50: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
encrypt.c: __m256i inv0 = _mm256_inserti128_si256(_mm256_castsi128_si256(inv0lo), inv0lo, 1);
encrypt.c: ^

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

Compiler output

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

Number of similar (compiler,implementation) pairs: 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/hs1sivv2/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: c176.h: In function 'chacha_noxor176':
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: c176.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: c176.h:17:36: note: in expansion of macro 'VEC4_QUARTERROUND_SHUFFLE'
encrypt.c: #define VEC4_QUARTERROUND(a,b,c,d) VEC4_QUARTERROUND_SHUFFLE(a,b,c,d)
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: c176.h:106:7: note: in expansion of macro 'VEC4_QUARTERROUND'
encrypt.c: VEC4_QUARTERROUND( 3, 4, 9,14);
encrypt.c: ^~~~~~~~~~~~~~~~~
encrypt.c: In file included from /usr/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: c176.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: c176.h: In function 'chacha_noxor176':
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: c176.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: c176.h:17:36: note: in expansion of macro 'VEC4_QUARTERROUND_SHUFFLE'
encrypt.c: #define VEC4_QUARTERROUND(a,b,c,d) VEC4_QUARTERROUND_SHUFFLE(a,b,c,d)
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: c176.h:106:7: note: in expansion of macro 'VEC4_QUARTERROUND'
encrypt.c: VEC4_QUARTERROUND( 3, 4, 9,14);
encrypt.c: ^~~~~~~~~~~~~~~~~
encrypt.c: In file included from /usr/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: c176.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/hs1sivv2/dolbeau/amd64-avx2
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
encrypt.c: encrypt.c:90:2: error: #error "This code requires AVX2 to work"
encrypt.c: #error "This code requires AVX2 to work"
encrypt.c: ^~~~~
encrypt.c: encrypt.c: In function 'prf_hash2_2':
encrypt.c: encrypt.c:425:19: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
encrypt.c: __m256i kv0 = _mm256_loadu_si256((const __m256i*)(nhkey+ 0)); // 1
encrypt.c: ^~~
encrypt.c: encrypt.c:90:2: error: #error "This code requires AVX2 to work"
encrypt.c: #error "This code requires AVX2 to work"
encrypt.c: ^~~~~
encrypt.c: encrypt.c: In function 'prf_hash2_2':
encrypt.c: encrypt.c:425:19: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
encrypt.c: __m256i kv0 = _mm256_loadu_si256((const __m256i*)(nhkey+ 0)); // 1
encrypt.c: ^~~

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

Compiler output

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

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

Compiler output

Implementation: crypto_aead/hs1sivv2/dolbeau/amd64-avx2
Compiler: gcc -m64 -march=core2 -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 'chacha_noxor176':
encrypt.c: encrypt.c:194:18: fatal error: c176.h: No such file or directory
encrypt.c: #include "c176.h"
encrypt.c: ^
encrypt.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -m64 -march=core2 -O2 -fomit-frame-pointer dolbeau/amd64-avx2