Implementation notes: amd64, haswell, crypto_hash/blake2b

Computer: haswell
Architecture: amd64
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20130419
Operation: crypto_hash
Primitive: blake2b
TimeImplementationCompilerBenchmark dateSUPERCOP version
5712avxiccgcc -m64 -O2 -fomit-frame-pointer2013060820130419
5732avxiccgcc -m64 -Os -fomit-frame-pointer2013060820130419
5864avxiccgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2013060820130419
5878avxiccgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2013060820130419
5900avxiccgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2013060820130419
5928avxiccgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2013060820130419
5980avxiccgcc -m64 -O -fomit-frame-pointer2013060820130419
6065avxiccgcc -m64 -march=core2 -O2 -fomit-frame-pointer2013060820130419
6106avxiccgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2013060820130419
6144avxiccgcc -m64 -march=barcelona -O -fomit-frame-pointer2013060820130419
6184avxiccgcc -march=nocona -Os -fomit-frame-pointer2013060820130419
6208avxiccgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2013060820130419
6211avxiccgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2013060820130419
6284avxiccgcc -m64 -march=nocona -O -fomit-frame-pointer2013060820130419
6292avxiccgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2013060820130419
6296avxiccgcc -fno-schedule-insns -O2 -fomit-frame-pointer2013060820130419
6296avxiccgcc -march=barcelona -Os -fomit-frame-pointer2013060820130419
6316xmmclang -O3 -mavx2013060820130419
6416avxiccgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2013060820130419
6428avxiccgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2013060820130419
6442avxiccgcc -funroll-loops -m64 -Os -fomit-frame-pointer2013060820130419
6446avxiccgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2013060820130419
6452avxiccgcc -march=barcelona -O3 -fomit-frame-pointer2013060820130419
6464avxiccgcc -march=nocona -O3 -fomit-frame-pointer2013060820130419
6484avxiccgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2013060820130419
6484avxiccgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2013060820130419
6508avxiccgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2013060820130419
6520xmmgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2013060820130419
6524avxicccc2013060820130419
6594avxiccgcc -m64 -march=core2 -O -fomit-frame-pointer2013060820130419
6600avxiccgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2013060820130419
6620avxiccgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2013060820130419
6636avxiccgcc -funroll-loops -O -fomit-frame-pointer2013060820130419
6668avxiccgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2013060820130419
6676avxiccgcc -m64 -march=k8 -O2 -fomit-frame-pointer2013060820130419
6678avxiccgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2013060820130419
6682avxiccgcc -m64 -march=nocona -O2 -fomit-frame-pointer2013060820130419
6692xmmgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2013060820130419
6694avxiccgcc -fno-schedule-insns -O -fomit-frame-pointer2013060820130419
6696avxiccgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2013060820130419
6704avxiccgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2013060820130419
6704avxiccgcc -m64 -march=k8 -O3 -fomit-frame-pointer2013060820130419
6724avxiccgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2013060820130419
6728avxiccgcc -m64 -march=corei7 -O -fomit-frame-pointer2013060820130419
6732regsgcc -march=barcelona -O -fomit-frame-pointer2013060820130419
6736avxiccgcc -funroll-loops -O2 -fomit-frame-pointer2013060820130419
6736avxiccgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2013060820130419
6744avxiccgcc -funroll-loops2013060820130419
6748avxiccgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2013060820130419
6752regsgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2013060820130419
6754regsgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2013060820130419
6760avxiccgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2013060820130419
6768avxiccgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2013060820130419
6780avxiccgcc -funroll-loops -O3 -fomit-frame-pointer2013060820130419
6784avxiccgcc2013060820130419
6824avxiccgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2013060820130419
6824avxiccgcc -march=k8 -O3 -fomit-frame-pointer2013060820130419
6944avxiccgcc -march=nocona -O2 -fomit-frame-pointer2013060820130419
6948avxiccgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2013060820130419
6964avxiccgcc -fno-schedule-insns -Os -fomit-frame-pointer2013060820130419
6976avxiccgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2013060820130419
6977avxiccgcc -march=k8 -O2 -fomit-frame-pointer2013060820130419
6989avxiccgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2013060820130419
6992regsgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2013060820130419
6993avxiccgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2013060820130419
6996regsgcc -funroll-loops -m64 -O -fomit-frame-pointer2013060820130419
6997avxiccgcc -m64 -march=barcelona -Os -fomit-frame-pointer2013060820130419
7005avxiccgcc -O2 -fomit-frame-pointer2013060820130419
7009avxiccgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2013060820130419
7012regsgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2013060820130419
7014avxiccgcc -m64 -march=nocona -O3 -fomit-frame-pointer2013060820130419
7030avxiccgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2013060820130419
7034xmmgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2013060820130419
7035avxiccgcc -funroll-loops -Os -fomit-frame-pointer2013060820130419
7047avxiccgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2013060820130419
7056avxiccgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2013060820130419
7060avxiccgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2013060820130419
7071avxiccgcc -m64 -march=core2 -O3 -fomit-frame-pointer2013060820130419
7076xmmgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2013060820130419
7084xmmgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2013060820130419
7086avxiccgcc -march=nocona -O -fomit-frame-pointer2013060820130419
7096xmmgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2013060820130419
7120regsgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2013060820130419
7136regsgcc -march=barcelona -O2 -fomit-frame-pointer2013060820130419
7138avxiccgcc -m64 -O3 -fomit-frame-pointer2013060820130419
7142avxiccgcc -m64 -march=core2 -Os -fomit-frame-pointer2013060820130419
7164regsgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2013060820130419
7208xmmgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2013060820130419
7227avxiccgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2013060820130419
7232avxiccgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2013060820130419
7242regsgcc -m64 -march=barcelona -O -fomit-frame-pointer2013060820130419
7254regsgcc -m64 -march=k8 -O -fomit-frame-pointer2013060820130419
7254regsgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2013060820130419
7260regsgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2013060820130419
7262avxiccgcc -O -fomit-frame-pointer2013060820130419
7267avxiccgcc -march=barcelona -O -fomit-frame-pointer2013060820130419
7271avxiccgcc -march=barcelona -O2 -fomit-frame-pointer2013060820130419
7284regsgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2013060820130419
7288avxiccgcc -m64 -march=corei7 -Os -fomit-frame-pointer2013060820130419
7293avxiccgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2013060820130419
7323avxiccgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2013060820130419
7328regsgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2013060820130419
7353avxiccgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2013060820130419
7354avxiccgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2013060820130419
7354xmmgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2013060820130419
7356avxiccgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2013060820130419
7359avxiccgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2013060820130419
7373avxiccgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2013060820130419
7404avxiccgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2013060820130419
7436regsgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2013060820130419
7436xmmgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2013060820130419
7444avxiccgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2013060820130419
7454avxiccgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2013060820130419
7455avxiccgcc -m64 -march=k8 -Os -fomit-frame-pointer2013060820130419
7470avxiccgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2013060820130419
7475avxiccgcc -m64 -march=k8 -O -fomit-frame-pointer2013060820130419
7476regsgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2013060820130419
7482regsgcc -funroll-loops -m64 -Os -fomit-frame-pointer2013060820130419
7486xmmgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2013060820130419
7492regsgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2013060820130419
7495avxiccgcc -march=k8 -O -fomit-frame-pointer2013060820130419
7498regsgcc -funroll-loops -Os -fomit-frame-pointer2013060820130419
7504regsgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2013060820130419
7508regsgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2013060820130419
7524regsgcc -march=k8 -Os -fomit-frame-pointer2013060820130419
7526regsgcc -m64 -march=corei7 -Os -fomit-frame-pointer2013060820130419
7544regsgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2013060820130419
7544regsgcc -march=nocona -O -fomit-frame-pointer2013060820130419
7560regsgcc -m64 -O -fomit-frame-pointer2013060820130419
7560regsgcc -m64 -march=core2 -O -fomit-frame-pointer2013060820130419
7562regsgcc -fno-schedule-insns -Os -fomit-frame-pointer2013060820130419
7564regsgcc -funroll-loops -O -fomit-frame-pointer2013060820130419
7570avxiccgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2013060820130419
7574regsgcc -march=barcelona -O3 -fomit-frame-pointer2013060820130419
7581avxiccgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2013060820130419
7582regsgcc -m64 -O2 -fomit-frame-pointer2013060820130419
7585avxiccgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2013060820130419
7602xmmgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2013060820130419
7612xmmgcc -m64 -march=core2 -O3 -fomit-frame-pointer2013060820130419
7613avxiccgcc -O3 -fomit-frame-pointer2013060820130419
7660xmmgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2013060820130419
7661avxiccgcc -Os -fomit-frame-pointer2013060820130419
7666regsgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2013060820130419
7686avxiccgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2013060820130419
7686xmmgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2013060820130419
7689avxiccgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2013060820130419
7692regsgcc -funroll-loops -O2 -fomit-frame-pointer2013060820130419
7704regsgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2013060820130419
7712regsgcc -fno-schedule-insns -O3 -fomit-frame-pointer2013060820130419
7712regsgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2013060820130419
7712regsgcc -m64 -march=k8 -O2 -fomit-frame-pointer2013060820130419
7716regsgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2013060820130419
7724regsgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2013060820130419
7732regsgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2013060820130419
7732regsgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2013060820130419
7732xmmgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2013060820130419
7756regsgcc -m64 -march=core2 -O3 -fomit-frame-pointer2013060820130419
7756regsgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2013060820130419
7764regsgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2013060820130419
7768regsgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2013060820130419
7788regsgcc -march=k8 -O2 -fomit-frame-pointer2013060820130419
7797avxiccgcc -march=k8 -Os -fomit-frame-pointer2013060820130419
7800regsgcc -m64 -march=nocona -O2 -fomit-frame-pointer2013060820130419
7807avxiccgcc -funroll-loops -m64 -O -fomit-frame-pointer2013060820130419
7828regsgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2013060820130419
7836regsgcc -m64 -march=k8 -Os -fomit-frame-pointer2013060820130419
7855regsgcc -march=k8 -O -fomit-frame-pointer2013060820130419
7859regsgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2013060820130419
7871xmmgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2013060820130419
7872regsclang -O3 -mavx2013060820130419
7872regsgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2013060820130419
7876regsgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2013060820130419
7879regsgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2013060820130419
7880regsgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2013060820130419
7933avxiccgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2013060820130419
7938xmmgcc -m64 -march=corei7 -Os -fomit-frame-pointer2013060820130419
7938regsgcc -m64 -march=nocona -Os -fomit-frame-pointer2013060820130419
7959avxiccgcc -fno-schedule-insns -O3 -fomit-frame-pointer2013060820130419
8020regsgcc -O3 -fomit-frame-pointer2013060820130419
8025regsgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2013060820130419
8029regsgcc -fno-schedule-insns -O2 -fomit-frame-pointer2013060820130419
8041regsgcc -m64 -march=core2 -O2 -fomit-frame-pointer2013060820130419
8074regsgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2013060820130419
8078regsgcc -funroll-loops -O3 -fomit-frame-pointer2013060820130419
8091regsgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2013060820130419
8095xmmgcc -m64 -march=core2 -O2 -fomit-frame-pointer2013060820130419
8100regsgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2013060820130419
8108regsgcc -m64 -march=nocona -O3 -fomit-frame-pointer2013060820130419
8112regsclang -O32013060820130419
8140xmmgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2013060820130419
8157regsgcc -m64 -march=barcelona -Os -fomit-frame-pointer2013060820130419
8163regsgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2013060820130419
8182regsgcc -m64 -Os -fomit-frame-pointer2013060820130419
8184xmmgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2013060820130419
8186regsgcc -m64 -march=corei7 -O -fomit-frame-pointer2013060820130419
8200regsgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2013060820130419
8204xmmgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2013060820130419
8206regsgcc -O -fomit-frame-pointer2013060820130419
8210regsgcc -fno-schedule-insns -O -fomit-frame-pointer2013060820130419
8226regsgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2013060820130419
8228regsgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2013060820130419
8232regsgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2013060820130419
8236regsgcc -march=k8 -O3 -fomit-frame-pointer2013060820130419
8253regsgcc -m64 -march=k8 -O3 -fomit-frame-pointer2013060820130419
8376xmmgcc -fno-schedule-insns -O -fomit-frame-pointer2013060820130419
8387regsgcc -O2 -fomit-frame-pointer2013060820130419
8389xmmgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2013060820130419
8389xmmgcc -m64 -march=core2 -Os -fomit-frame-pointer2013060820130419
8393regsgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2013060820130419
8423xmmgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2013060820130419
8448regsgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2013060820130419
8453regsgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2013060820130419
8498regsgcc -Os -fomit-frame-pointer2013060820130419
8501xmmgcc -m64 -march=core2 -O -fomit-frame-pointer2013060820130419
8506xmmgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2013060820130419
8508xmmgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2013060820130419
8513regsgcc -march=barcelona -Os -fomit-frame-pointer2013060820130419
8518regsgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2013060820130419
8546xmmgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2013060820130419
8559regsgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2013060820130419
8569regsgcc -m64 -march=nocona -O -fomit-frame-pointer2013060820130419
8580xmmgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2013060820130419
8584regsgcc -march=nocona -Os -fomit-frame-pointer2013060820130419
8589avxiccgcc -m64 -march=nocona -Os -fomit-frame-pointer2013060820130419
8598xmmgcc -m64 -march=k8 -O2 -fomit-frame-pointer2013060820130419
8599regsgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2013060820130419
8605regsgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2013060820130419
8620xmmgcc -m64 -march=k8 -O3 -fomit-frame-pointer2013060820130419
8621regsgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2013060820130419
8645regsgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2013060820130419
8720xmmgcc -funroll-loops -O3 -fomit-frame-pointer2013060820130419
8752xmmclang -O32013060820130419
8753regsgcc -m64 -O3 -fomit-frame-pointer2013060820130419
8756xmmgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2013060820130419
8758regsgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2013060820130419
8760xmmgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2013060820130419
8796regsgcc -march=nocona -O3 -fomit-frame-pointer2013060820130419
8801regsgcc -march=nocona -O2 -fomit-frame-pointer2013060820130419
8864xmmgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2013060820130419
8916xmmgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2013060820130419
8927regsgcc -m64 -march=core2 -Os -fomit-frame-pointer2013060820130419
8960xmmgcc -march=barcelona -O3 -fomit-frame-pointer2013060820130419
8968xmmgcc -march=k8 -O3 -fomit-frame-pointer2013060820130419
8977regsgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2013060820130419
8987regsgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2013060820130419
9012xmmgcc -m64 -O2 -fomit-frame-pointer2013060820130419
9018xmmgcc -m64 -march=corei7 -O -fomit-frame-pointer2013060820130419
9020xmmgcc -fno-schedule-insns -O2 -fomit-frame-pointer2013060820130419
9036xmmgcc -O -fomit-frame-pointer2013060820130419
9056xmmgcc -m64 -O -fomit-frame-pointer2013060820130419
9122xmmgcc -march=nocona -O2 -fomit-frame-pointer2013060820130419
9126xmmgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2013060820130419
9222xmmgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2013060820130419
9222xmmgcc -funroll-loops -m64 -O -fomit-frame-pointer2013060820130419
9243xmmgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2013060820130419
9247xmmgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2013060820130419
9290regsgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2013060820130419
9296xmmgcc -march=k8 -O2 -fomit-frame-pointer2013060820130419
9297xmmgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2013060820130419
9305xmmgcc -march=barcelona -O2 -fomit-frame-pointer2013060820130419
9388xmmgcc -fno-schedule-insns -O3 -fomit-frame-pointer2013060820130419
9396xmmgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2013060820130419
9404xmmgcc -m64 -march=nocona -O -fomit-frame-pointer2013060820130419
9411xmmgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2013060820130419
9413xmmgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2013060820130419
9421xmmgcc -m64 -march=barcelona -O -fomit-frame-pointer2013060820130419
9425xmmgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2013060820130419
9446xmmgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2013060820130419
9458xmmgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2013060820130419
9487xmmgcc -march=k8 -O -fomit-frame-pointer2013060820130419
9491xmmgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2013060820130419
9508xmmgcc -m64 -march=k8 -Os -fomit-frame-pointer2013060820130419
9570xmmgcc -march=nocona -Os -fomit-frame-pointer2013060820130419
9618xmmgcc -funroll-loops -O -fomit-frame-pointer2013060820130419
9648xmmgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2013060820130419
9704xmmgcc -funroll-loops -m64 -Os -fomit-frame-pointer2013060820130419
9720xmmgcc -funroll-loops -Os -fomit-frame-pointer2013060820130419
9749xmmgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2013060820130419
9764xmmgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2013060820130419
9805xmmgcc -O3 -fomit-frame-pointer2013060820130419
9806xmmgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2013060820130419
9829xmmgcc -march=barcelona -O -fomit-frame-pointer2013060820130419
9839xmmgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2013060820130419
9865xmmgcc -funroll-loops -O2 -fomit-frame-pointer2013060820130419
9868xmmgcc -Os -fomit-frame-pointer2013060820130419
9872xmmgcc -m64 -Os -fomit-frame-pointer2013060820130419
9875xmmgcc -O2 -fomit-frame-pointer2013060820130419
9900xmmgcc -march=barcelona -Os -fomit-frame-pointer2013060820130419
9952xmmgcc -m64 -march=nocona -Os -fomit-frame-pointer2013060820130419
9980xmmgcc -m64 -march=nocona -O2 -fomit-frame-pointer2013060820130419
10064xmmgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2013060820130419
10104xmmgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2013060820130419
10105xmmgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2013060820130419
10196xmmgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2013060820130419
10208xmmgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2013060820130419
10228xmmgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2013060820130419
10246xmmgcc -march=nocona -O -fomit-frame-pointer2013060820130419
10299xmmgcc -fno-schedule-insns -Os -fomit-frame-pointer2013060820130419
10319xmmgcc -m64 -march=k8 -O -fomit-frame-pointer2013060820130419
10425xmmgcc -m64 -march=nocona -O3 -fomit-frame-pointer2013060820130419
10465xmmgcc -march=nocona -O3 -fomit-frame-pointer2013060820130419
10604xmmgcc -m64 -O3 -fomit-frame-pointer2013060820130419
10712xmmgcc -march=k8 -Os -fomit-frame-pointer2013060820130419
10732xmmgcc -m64 -march=barcelona -Os -fomit-frame-pointer2013060820130419
10758xmmgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2013060820130419
11030xmmgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2013060820130419
11325xmmgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2013060820130419
31478regsgcc2013060820130419
31664regsgcc -funroll-loops2013060820130419
32640regscc2013060820130419
81232xmmgcc2013060820130419
85277xmmcc2013060820130419
85844xmmgcc -funroll-loops2013060820130419

Compiler output

Implementation: crypto_hash/blake2b/ref
Compiler: cc
blake2b-ref.c: blake2b-ref.c: In function 'blake2b_init0':
blake2b-ref.c: blake2b-ref.c:144:3: error: 'for' loop initial declarations are only allowed in C99 mode
blake2b-ref.c: for( int i = 0; i gt;h[i] = blake2b_IV[i];
blake2b-ref.c: ^
blake2b-ref.c: blake2b-ref.c:144:3: note: use option -std=c99 or -std=gnu99 to compile your code
blake2b-ref.c: blake2b-ref.c: In function 'blake2b_init_param':
blake2b-ref.c: blake2b-ref.c:156:3: error: 'for' loop initial declarations are only allowed in C99 mode
blake2b-ref.c: for( size_t i = 0; i blake2b-ref.c: ^
blake2b-ref.c: blake2b-ref.c: In function 'blake2b_final':
blake2b-ref.c: blake2b-ref.c:329:3: error: 'for' loop initial declarations are only allowed in C99 mode
blake2b-ref.c: for( int i = 0; i blake2b-ref.c: ^

Number of similar (compiler,implementation) pairs: 99, namely:
CompilerImplementations
cc ref
gcc ref
gcc -O2 -fomit-frame-pointer ref
gcc -O3 -fomit-frame-pointer ref
gcc -O -fomit-frame-pointer ref
gcc -Os -fomit-frame-pointer ref
gcc -fno-schedule-insns -O2 -fomit-frame-pointer ref
gcc -fno-schedule-insns -O3 -fomit-frame-pointer ref
gcc -fno-schedule-insns -O -fomit-frame-pointer ref
gcc -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -funroll-loops ref
gcc -funroll-loops -O2 -fomit-frame-pointer ref
gcc -funroll-loops -O3 -fomit-frame-pointer ref
gcc -funroll-loops -O -fomit-frame-pointer ref
gcc -funroll-loops -Os -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer ref
gcc -m64 -O2 -fomit-frame-pointer ref
gcc -m64 -O3 -fomit-frame-pointer ref
gcc -m64 -O -fomit-frame-pointer ref
gcc -m64 -Os -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer ref
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer ref
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer ref
gcc -m64 -march=corei7 -O -fomit-frame-pointer ref
gcc -m64 -march=corei7 -Os -fomit-frame-pointer ref
gcc -m64 -march=k8 -O2 -fomit-frame-pointer ref
gcc -m64 -march=k8 -O3 -fomit-frame-pointer ref
gcc -m64 -march=k8 -O -fomit-frame-pointer ref
gcc -m64 -march=k8 -Os -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer ref
gcc -m64 -march=nocona -O2 -fomit-frame-pointer ref
gcc -m64 -march=nocona -O3 -fomit-frame-pointer ref
gcc -m64 -march=nocona -O -fomit-frame-pointer ref
gcc -m64 -march=nocona -Os -fomit-frame-pointer ref
gcc -march=barcelona -O2 -fomit-frame-pointer ref
gcc -march=barcelona -O3 -fomit-frame-pointer ref
gcc -march=barcelona -O -fomit-frame-pointer ref
gcc -march=barcelona -Os -fomit-frame-pointer ref
gcc -march=k8 -O2 -fomit-frame-pointer ref
gcc -march=k8 -O3 -fomit-frame-pointer ref
gcc -march=k8 -O -fomit-frame-pointer ref
gcc -march=k8 -Os -fomit-frame-pointer ref
gcc -march=nocona -O2 -fomit-frame-pointer ref
gcc -march=nocona -O3 -fomit-frame-pointer ref
gcc -march=nocona -O -fomit-frame-pointer ref
gcc -march=nocona -Os -fomit-frame-pointer ref

Compiler output

Implementation: crypto_hash/blake2b/ymm
Compiler: cc
blake2b.c: blake2b.c:15:2: error: #error "This code requires at least AVX."
blake2b.c: #error "This code requires at least AVX."
blake2b.c: ^
blake2b.c: blake2b.c: In function 'crypto_hash_blake2b_ymm':
blake2b.c: blake2b.c:140:5: error: unknown type name '__m256i'
blake2b.c: const __m256i m0 = _mm256_loadu_si256((__m256i*)(in + 00));
blake2b.c: ^
blake2b.c: blake2b.c:140:44: error: '__m256i' undeclared (first use in this function)
blake2b.c: const __m256i m0 = _mm256_loadu_si256((__m256i*)(in + 00));
blake2b.c: ^
blake2b.c: blake2b.c:140:44: note: each undeclared identifier is reported only once for each function it appears in
blake2b.c: blake2b.c:140:52: error: expected expression before ')' token
blake2b.c: const __m256i m0 = _mm256_loadu_si256((__m256i*)(in + 00));
blake2b.c: ^
blake2b.c: blake2b.c:141:19: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'm1'
blake2b.c: const __m256i m1 = _mm256_loadu_si256((__m256i*)(in + 32));
blake2b.c: ^
blake2b.c: blake2b.c:141:19: error: 'm1' undeclared (first use in this function)
blake2b.c: blake2b.c:141:52: error: expected expression before ')' token
blake2b.c: const __m256i m1 = _mm256_loadu_si256((__m256i*)(in + 32));
blake2b.c: ^
blake2b.c: blake2b.c:142:19: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'm2'
blake2b.c: const __m256i m2 = _mm256_loadu_si256((__m256i*)(in + 64));
blake2b.c: ^
blake2b.c: blake2b.c:142:19: error: 'm2' undeclared (first use in this function)
blake2b.c: ...

Number of similar (compiler,implementation) pairs: 87, namely:
CompilerImplementations
cc ymm
gcc ymm
gcc -O2 -fomit-frame-pointer ymm
gcc -O3 -fomit-frame-pointer ymm
gcc -O -fomit-frame-pointer ymm
gcc -Os -fomit-frame-pointer ymm
gcc -fno-schedule-insns -O2 -fomit-frame-pointer ymm
gcc -fno-schedule-insns -O3 -fomit-frame-pointer ymm
gcc -fno-schedule-insns -O -fomit-frame-pointer ymm
gcc -fno-schedule-insns -Os -fomit-frame-pointer ymm
gcc -funroll-loops ymm
gcc -funroll-loops -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -O -fomit-frame-pointer ymm
gcc -funroll-loops -Os -fomit-frame-pointer ymm
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer ymm
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -O -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer ymm
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer ymm
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer ymm
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer ymm
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer ymm
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer ymm
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer ymm
gcc -m64 -O2 -fomit-frame-pointer ymm
gcc -m64 -O3 -fomit-frame-pointer ymm
gcc -m64 -O -fomit-frame-pointer ymm
gcc -m64 -Os -fomit-frame-pointer ymm
gcc -m64 -march=core2 -O2 -fomit-frame-pointer ymm
gcc -m64 -march=core2 -O3 -fomit-frame-pointer ymm
gcc -m64 -march=core2 -O -fomit-frame-pointer ymm
gcc -m64 -march=core2 -Os -fomit-frame-pointer ymm
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer ymm
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer ymm
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer ymm
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer ymm
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer ymm
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer ymm
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer ymm
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer ymm
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer ymm
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer ymm
gcc -m64 -march=corei7 -O -fomit-frame-pointer ymm
gcc -m64 -march=corei7 -Os -fomit-frame-pointer ymm
gcc -m64 -march=k8 -O2 -fomit-frame-pointer ymm
gcc -m64 -march=k8 -O3 -fomit-frame-pointer ymm
gcc -m64 -march=k8 -O -fomit-frame-pointer ymm
gcc -m64 -march=k8 -Os -fomit-frame-pointer ymm
gcc -m64 -march=nocona -O2 -fomit-frame-pointer ymm
gcc -m64 -march=nocona -O3 -fomit-frame-pointer ymm
gcc -m64 -march=nocona -O -fomit-frame-pointer ymm
gcc -m64 -march=nocona -Os -fomit-frame-pointer ymm
gcc -march=barcelona -O2 -fomit-frame-pointer ymm
gcc -march=barcelona -O3 -fomit-frame-pointer ymm
gcc -march=barcelona -O -fomit-frame-pointer ymm
gcc -march=barcelona -Os -fomit-frame-pointer ymm
gcc -march=k8 -O2 -fomit-frame-pointer ymm
gcc -march=k8 -O3 -fomit-frame-pointer ymm
gcc -march=k8 -O -fomit-frame-pointer ymm
gcc -march=k8 -Os -fomit-frame-pointer ymm
gcc -march=nocona -O2 -fomit-frame-pointer ymm
gcc -march=nocona -O3 -fomit-frame-pointer ymm
gcc -march=nocona -O -fomit-frame-pointer ymm
gcc -march=nocona -Os -fomit-frame-pointer ymm

Compiler output

Implementation: crypto_hash/blake2b/ymm
Compiler: clang -O3
blake2b.c: blake2b.c:15:2: error: "This code requires at least AVX."
blake2b.c: #error "This code requires at least AVX."
blake2b.c: ^
blake2b.c: blake2b.c:140:11: error: unknown type name '__m256i'
blake2b.c: const __m256i m0 = _mm256_loadu_si256((__m256i*)(in + 00));
blake2b.c: ^
blake2b.c: blake2b.c:140:24: warning: implicit declaration of function '_mm256_loadu_si256' is invalid in C99 [-Wimplicit-function-declaration]
blake2b.c: const __m256i m0 = _mm256_loadu_si256((__m256i*)(in + 00));
blake2b.c: ^
blake2b.c: blake2b.c:140:44: error: use of undeclared identifier '__m256i'
blake2b.c: const __m256i m0 = _mm256_loadu_si256((__m256i*)(in + 00));
blake2b.c: ^
blake2b.c: blake2b.c:140:52: error: expected expression
blake2b.c: const __m256i m0 = _mm256_loadu_si256((__m256i*)(in + 00));
blake2b.c: ^
blake2b.c: blake2b.c:141:11: error: unknown type name '__m256i'
blake2b.c: const __m256i m1 = _mm256_loadu_si256((__m256i*)(in + 32));
blake2b.c: ^
blake2b.c: blake2b.c:141:44: error: use of undeclared identifier '__m256i'
blake2b.c: const __m256i m1 = _mm256_loadu_si256((__m256i*)(in + 32));
blake2b.c: ^
blake2b.c: blake2b.c:141:52: error: expected expression
blake2b.c: const __m256i m1 = _mm256_loadu_si256((__m256i*)(in + 32));
blake2b.c: ^
blake2b.c: blake2b.c:142:11: error: unknown type name '__m256i'
blake2b.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 ymm

Compiler output

Implementation: crypto_hash/blake2b/avxicc
Compiler: clang -O3
blake2b.s: clang: warning: argument unused during compilation: '-I .'
blake2b.s: clang: warning: argument unused during compilation: '-I /home/krovetz/supercop-20130419/supercop-data/haswell/amd64/include'
blake2b.s: blake2b.s:19:58: error: unexpected token in argument list
blake2b.s: vmovdqu xmm2, XMMWORD PTR .L_2il0floatpacket.13[rip]
blake2b.s: ^
blake2b.s: blake2b.s:21:58: error: unexpected token in argument list
blake2b.s: vmovdqu xmm3, XMMWORD PTR .L_2il0floatpacket.14[rip]
blake2b.s: ^
blake2b.s: blake2b.s:23:58: error: unexpected token in argument list
blake2b.s: vmovdqu xmm4, XMMWORD PTR .L_2il0floatpacket.15[rip]
blake2b.s: ^
blake2b.s: blake2b.s:25:59: error: unexpected token in argument list
blake2b.s: vmovdqu xmm11, XMMWORD PTR .L_2il0floatpacket.16[rip]
blake2b.s: ^
blake2b.s: blake2b.s:26:58: error: unexpected token in argument list
blake2b.s: vmovdqu xmm1, XMMWORD PTR .L_2il0floatpacket.11[rip]
blake2b.s: ^
blake2b.s: blake2b.s:27:58: error: unexpected token in argument list
blake2b.s: vmovdqu xmm0, XMMWORD PTR .L_2il0floatpacket.12[rip]
blake2b.s: ^
blake2b.s: blake2b.s:28:35: error: Unexpected token
blake2b.s: vmovdqu XMMWORD PTR [448+rsp], xmm2
blake2b.s: ^
blake2b.s: blake2b.s:29:35: error: Unexpected token
blake2b.s: vmovdqu XMMWORD PTR [464+rsp], xmm3
blake2b.s: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 avxicc

Compiler output

Implementation: crypto_hash/blake2b/ref
Compiler: clang -O3
try.c: /tmp/try-YoVr5n.o:try.c:function doit: error: undefined reference to 'crypto_hash_blake2b_ref'
try.c: /tmp/try-YoVr5n.o:try.c:function checksum_compute: error: undefined reference to 'crypto_hash_blake2b_ref'
try.c: /tmp/try-YoVr5n.o:try.c:function checksum_compute: error: undefined reference to 'crypto_hash_blake2b_ref'
try.c: /tmp/try-YoVr5n.o:try.c:function checksum_compute: error: undefined reference to 'crypto_hash_blake2b_ref'
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 ref

Compiler output

Implementation: crypto_hash/blake2b/ymm
Compiler: clang -O3 -mavx
blake2b.c: blake2b.c:203:10: error: assigning to '__m128i' from incompatible type '__m256i'
blake2b.c: m0 = _mm256_loadu_si256((__m256i*)(in + 00));
blake2b.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:204:10: error: assigning to '__m128i' from incompatible type '__m256i'
blake2b.c: m1 = _mm256_loadu_si256((__m256i*)(in + 32));
blake2b.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:205:10: error: assigning to '__m128i' from incompatible type '__m256i'
blake2b.c: m2 = _mm256_loadu_si256((__m256i*)(in + 64));
blake2b.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:206:10: error: assigning to '__m128i' from incompatible type '__m256i'
blake2b.c: m3 = _mm256_loadu_si256((__m256i*)(in + 96));
blake2b.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:225:10: error: assigning to '__m128i' from incompatible type '__m256i'
blake2b.c: m0 = _mm256_loadu_si256((__m256i*)(buffer + 00));
blake2b.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:226:10: error: assigning to '__m128i' from incompatible type '__m256i'
blake2b.c: m1 = _mm256_loadu_si256((__m256i*)(buffer + 32));
blake2b.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:227:10: error: assigning to '__m128i' from incompatible type '__m256i'
blake2b.c: m2 = _mm256_loadu_si256((__m256i*)(buffer + 64));
blake2b.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:228:10: error: assigning to '__m128i' from incompatible type '__m256i'
blake2b.c: m3 = _mm256_loadu_si256((__m256i*)(buffer + 96));
blake2b.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:241:5: error: initializing '__m256i' with an expression of incompatible type '__m128i'
blake2b.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -mavx ymm

Compiler output

Implementation: crypto_hash/blake2b/avxicc
Compiler: clang -O3 -mavx
blake2b.s: clang: warning: argument unused during compilation: '-mavx'
blake2b.s: clang: warning: argument unused during compilation: '-I .'
blake2b.s: clang: warning: argument unused during compilation: '-I /home/krovetz/supercop-20130419/supercop-data/haswell/amd64/include'
blake2b.s: blake2b.s:19:58: error: unexpected token in argument list
blake2b.s: vmovdqu xmm2, XMMWORD PTR .L_2il0floatpacket.13[rip]
blake2b.s: ^
blake2b.s: blake2b.s:21:58: error: unexpected token in argument list
blake2b.s: vmovdqu xmm3, XMMWORD PTR .L_2il0floatpacket.14[rip]
blake2b.s: ^
blake2b.s: blake2b.s:23:58: error: unexpected token in argument list
blake2b.s: vmovdqu xmm4, XMMWORD PTR .L_2il0floatpacket.15[rip]
blake2b.s: ^
blake2b.s: blake2b.s:25:59: error: unexpected token in argument list
blake2b.s: vmovdqu xmm11, XMMWORD PTR .L_2il0floatpacket.16[rip]
blake2b.s: ^
blake2b.s: blake2b.s:26:58: error: unexpected token in argument list
blake2b.s: vmovdqu xmm1, XMMWORD PTR .L_2il0floatpacket.11[rip]
blake2b.s: ^
blake2b.s: blake2b.s:27:58: error: unexpected token in argument list
blake2b.s: vmovdqu xmm0, XMMWORD PTR .L_2il0floatpacket.12[rip]
blake2b.s: ^
blake2b.s: blake2b.s:28:35: error: Unexpected token
blake2b.s: vmovdqu XMMWORD PTR [448+rsp], xmm2
blake2b.s: ^
blake2b.s: blake2b.s:29:35: error: Unexpected token
blake2b.s: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -mavx avxicc

Compiler output

Implementation: crypto_hash/blake2b/ref
Compiler: clang -O3 -mavx
try.c: /tmp/try-20dMju.o:try.c:function doit: error: undefined reference to 'crypto_hash_blake2b_ref'
try.c: /tmp/try-20dMju.o:try.c:function checksum_compute: error: undefined reference to 'crypto_hash_blake2b_ref'
try.c: /tmp/try-20dMju.o:try.c:function checksum_compute: error: undefined reference to 'crypto_hash_blake2b_ref'
try.c: /tmp/try-20dMju.o:try.c:function checksum_compute: error: undefined reference to 'crypto_hash_blake2b_ref'
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -mavx ref

Compiler output

Implementation: crypto_hash/blake2b/ref
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
blake2b-ref.c: blake2b-ref.c: In function 'blake2b_init0':
blake2b-ref.c: blake2b-ref.c:144:3: error: 'for' loop initial declarations are only allowed in C99 mode
blake2b-ref.c: for( int i = 0; i gt;h[i] = blake2b_IV[i];
blake2b-ref.c: ^
blake2b-ref.c: blake2b-ref.c:144:3: note: use option -std=c99 or -std=gnu99 to compile your code
blake2b-ref.c: blake2b-ref.c: In function 'blake2b_init_param':
blake2b-ref.c: blake2b-ref.c:156:3: error: 'for' loop initial declarations are only allowed in C99 mode
blake2b-ref.c: for( size_t i = 0; i blake2b-ref.c: ^
blake2b-ref.c: blake2b-ref.c: In function 'blake2b_final':
blake2b-ref.c: blake2b-ref.c:329:3: error: 'for' loop initial declarations are only allowed in C99 mode
blake2b-ref.c: for( int i = 0; i blake2b-ref.c: ^
blake2b-ref.c: blake2b-ref.c: In function 'blake2b_init0':
blake2b-ref.c: blake2b-ref.c:144:3: error: 'for' loop initial declarations are only allowed in C99 mode
blake2b-ref.c: for( int i = 0; i gt;h[i] = blake2b_IV[i];
blake2b-ref.c: ^
blake2b-ref.c: blake2b-ref.c:144:3: note: use option -std=c99 or -std=gnu99 to compile your code
blake2b-ref.c: blake2b-ref.c: In function 'blake2b_init_param':
blake2b-ref.c: blake2b-ref.c:156:3: error: 'for' loop initial declarations are only allowed in C99 mode
blake2b-ref.c: for( size_t i = 0; i blake2b-ref.c: ^
blake2b-ref.c: blake2b-ref.c: In function 'blake2b_final':
blake2b-ref.c: blake2b-ref.c:329:3: error: 'for' loop initial declarations are only allowed in C99 mode
blake2b-ref.c: for( int i = 0; i blake2b-ref.c: ^

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

Compiler output

Implementation: crypto_hash/blake2b/ymm
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
blake2b.c: blake2b.c:15:2: error: #error "This code requires at least AVX."
blake2b.c: #error "This code requires at least AVX."
blake2b.c: ^
blake2b.c: blake2b.c: In function 'crypto_hash_blake2b_ymm':
blake2b.c: blake2b.c:140:5: error: unknown type name '__m256i'
blake2b.c: const __m256i m0 = _mm256_loadu_si256((__m256i*)(in + 00));
blake2b.c: ^
blake2b.c: blake2b.c:140:44: error: '__m256i' undeclared (first use in this function)
blake2b.c: const __m256i m0 = _mm256_loadu_si256((__m256i*)(in + 00));
blake2b.c: ^
blake2b.c: blake2b.c:140:44: note: each undeclared identifier is reported only once for each function it appears in
blake2b.c: blake2b.c:140:52: error: expected expression before ')' token
blake2b.c: const __m256i m0 = _mm256_loadu_si256((__m256i*)(in + 00));
blake2b.c: ^
blake2b.c: blake2b.c:141:19: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'm1'
blake2b.c: const __m256i m1 = _mm256_loadu_si256((__m256i*)(in + 32));
blake2b.c: ^
blake2b.c: blake2b.c:141:19: error: 'm1' undeclared (first use in this function)
blake2b.c: blake2b.c:141:52: error: expected expression before ')' token
blake2b.c: const __m256i m1 = _mm256_loadu_si256((__m256i*)(in + 32));
blake2b.c: ^
blake2b.c: blake2b.c:142:19: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'm2'
blake2b.c: const __m256i m2 = _mm256_loadu_si256((__m256i*)(in + 64));
blake2b.c: ^
blake2b.c: blake2b.c:142:19: error: 'm2' undeclared (first use in this function)
blake2b.c: ...
blake2b.c: blake2b.c:15:2: error: #error "This code requires at least AVX."
blake2b.c: #error "This code requires at least AVX."
blake2b.c: ^
blake2b.c: blake2b.c: In function 'crypto_hash_blake2b_ymm':
blake2b.c: blake2b.c:140:5: error: unknown type name '__m256i'
blake2b.c: const __m256i m0 = _mm256_loadu_si256((__m256i*)(in + 00));
blake2b.c: ^
blake2b.c: blake2b.c:140:44: error: '__m256i' undeclared (first use in this function)
blake2b.c: const __m256i m0 = _mm256_loadu_si256((__m256i*)(in + 00));
blake2b.c: ^
blake2b.c: blake2b.c:140:44: note: each undeclared identifier is reported only once for each function it appears in
blake2b.c: blake2b.c:140:52: error: expected expression before ')' token
blake2b.c: const __m256i m0 = _mm256_loadu_si256((__m256i*)(in + 00));
blake2b.c: ^
blake2b.c: blake2b.c:141:19: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'm1'
blake2b.c: const __m256i m1 = _mm256_loadu_si256((__m256i*)(in + 32));
blake2b.c: ^
blake2b.c: blake2b.c:141:19: error: 'm1' undeclared (first use in this function)
blake2b.c: blake2b.c:141:52: error: expected expression before ')' token
blake2b.c: const __m256i m1 = _mm256_loadu_si256((__m256i*)(in + 32));
blake2b.c: ^
blake2b.c: blake2b.c:142:19: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'm2'
blake2b.c: const __m256i m2 = _mm256_loadu_si256((__m256i*)(in + 64));
blake2b.c: ^
blake2b.c: blake2b.c:142:19: error: 'm2' undeclared (first use in this function)
blake2b.c: ...

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

Compiler output

Implementation: crypto_hash/blake2b/ymm
Compiler: gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer
blake2b.c: blake2b.c: In function 'crypto_hash_blake2b_ymm':
blake2b.c: blake2b.c:203:10: error: incompatible types when assigning to type '__m128i' from type '__m256i'
blake2b.c: m0 = _mm256_loadu_si256((__m256i*)(in + 00));
blake2b.c: ^
blake2b.c: blake2b.c:204:10: error: incompatible types when assigning to type '__m128i' from type '__m256i'
blake2b.c: m1 = _mm256_loadu_si256((__m256i*)(in + 32));
blake2b.c: ^
blake2b.c: blake2b.c:205:10: error: incompatible types when assigning to type '__m128i' from type '__m256i'
blake2b.c: m2 = _mm256_loadu_si256((__m256i*)(in + 64));
blake2b.c: ^
blake2b.c: blake2b.c:206:10: error: incompatible types when assigning to type '__m128i' from type '__m256i'
blake2b.c: m3 = _mm256_loadu_si256((__m256i*)(in + 96));
blake2b.c: ^
blake2b.c: blake2b.c:225:10: error: incompatible types when assigning to type '__m128i' from type '__m256i'
blake2b.c: m0 = _mm256_loadu_si256((__m256i*)(buffer + 00));
blake2b.c: ^
blake2b.c: blake2b.c:226:10: error: incompatible types when assigning to type '__m128i' from type '__m256i'
blake2b.c: m1 = _mm256_loadu_si256((__m256i*)(buffer + 32));
blake2b.c: ^
blake2b.c: blake2b.c:227:10: error: incompatible types when assigning to type '__m128i' from type '__m256i'
blake2b.c: m2 = _mm256_loadu_si256((__m256i*)(buffer + 64));
blake2b.c: ^
blake2b.c: blake2b.c:228:10: error: incompatible types when assigning to type '__m128i' from type '__m256i'
blake2b.c: m3 = _mm256_loadu_si256((__m256i*)(buffer + 96));
blake2b.c: ^
blake2b.c: ...

Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer ymm
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer ymm
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer ymm
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer ymm
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer ymm
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer ymm
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer ymm
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer ymm
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer ymm
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer ymm
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer ymm
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer ymm