Implementation notes: amd64, skylake, crypto_hash/lane256

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_hash
Primitive: lane256
TimeImplementationCompilerBenchmark dateSUPERCOP version
34672cclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121520161026
35020cclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121520161026
35784cgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121520161026
35828cgcc -march=nocona -Os -fomit-frame-pointer2016121520161026
35938cgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121520161026
35974cgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121520161026
36064cgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121520161026
36070cgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121520161026
36142cgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121520161026
36274cgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121520161026
36326cgcc -m64 -Os -fomit-frame-pointer2016121520161026
36326cgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121520161026
36350cgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121520161026
36358cgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121520161026
36386cgcc -Os -fomit-frame-pointer2016121520161026
36484cgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121520161026
36526cgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121520161026
36990cgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121520161026
37014cgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121520161026
37020cgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121520161026
37028cgcc -march=barcelona -Os -fomit-frame-pointer2016121520161026
37114cgcc -march=k8 -Os -fomit-frame-pointer2016121520161026
37322cgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121520161026
37474cgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121520161026
37576cgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121520161026
37602cgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121520161026
37650cgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121520161026
37736cgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121520161026
37758cgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121520161026
37768cgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121520161026
37838cgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121520161026
37840cgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121520161026
37874cgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121520161026
37956cgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121520161026
37956cgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121520161026
37956cgcc -march=nocona -O3 -fomit-frame-pointer2016121520161026
37992cgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121520161026
37998cgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121520161026
38004cgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121520161026
38034cgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121520161026
38034cgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121520161026
38046cgcc -march=barcelona -O2 -fomit-frame-pointer2016121520161026
38168cgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121520161026
38174cgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121520161026
38192cgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121520161026
38196cgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121520161026
38222cgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121520161026
38244cgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121520161026
38260cgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121520161026
38328cgcc -march=barcelona -O3 -fomit-frame-pointer2016121520161026
38414cgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121520161026
38426cgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121520161026
38436cgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121520161026
38444cgcc -O3 -fomit-frame-pointer2016121520161026
38452cgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121520161026
38468cgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121520161026
38570cgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121520161026
38614cgcc -m64 -O3 -fomit-frame-pointer2016121520161026
38624cgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121520161026
38632cgcc -funroll-loops -Os -fomit-frame-pointer2016121520161026
38668cgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121520161026
38720cgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121520161026
38744cgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121520161026
38802cgcc -m64 -O2 -fomit-frame-pointer2016121520161026
38846cgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121520161026
38896cgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121520161026
38902cgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121520161026
38902cgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121520161026
39016cgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121520161026
39028cgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121520161026
39040cgcc -funroll-loops -O2 -fomit-frame-pointer2016121520161026
39094cgcc -march=k8 -O3 -fomit-frame-pointer2016121520161026
39112cgcc -O2 -fomit-frame-pointer2016121520161026
39164cgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121520161026
39166cgcc -march=k8 -O2 -fomit-frame-pointer2016121520161026
39166cgcc -march=nocona -O2 -fomit-frame-pointer2016121520161026
39288cgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121520161026
39294cgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121520161026
39334cgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121520161026
39404cgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121520161026
39418cgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121520161026
39476cgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121520161026
39560cgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121520161026
39578cgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121520161026
39780cgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121520161026
39798cgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121520161026
39856cgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121520161026
39874cgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121520161026
39902cgcc -m64 -march=k8 -O -fomit-frame-pointer2016121520161026
40074cgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121520161026
40288cgcc -march=barcelona -O -fomit-frame-pointer2016121520161026
40290cgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121520161026
40294cgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121520161026
40320cgcc -march=k8 -O -fomit-frame-pointer2016121520161026
40358cgcc -funroll-loops -O3 -fomit-frame-pointer2016121520161026
40374cgcc -O -fomit-frame-pointer2016121520161026
40438cgcc -fno-schedule-insns -O -fomit-frame-pointer2016121520161026
40508cgcc -m64 -march=nocona -O -fomit-frame-pointer2016121520161026
40714cgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121520161026
40738cgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121520161026
40868cgcc -march=nocona -O -fomit-frame-pointer2016121520161026
40998cgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121520161026
41058cgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121520161026
41152cgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121520161026
41546bitslicegcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121520161026
41556bitslicegcc -march=nocona -O3 -fomit-frame-pointer2016121520161026
41564cgcc -m64 -march=core2 -O -fomit-frame-pointer2016121520161026
41594bitslicegcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121520161026
41596bitslicegcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121520161026
41638bitslicegcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121520161026
41650bitslicegcc -m64 -O -fomit-frame-pointer2016121520161026
41658bitslicegcc -m64 -march=corei7 -O -fomit-frame-pointer2016121520161026
41668bitslicegcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121520161026
41750bitslicegcc -march=barcelona -O3 -fomit-frame-pointer2016121520161026
41752cgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121520161026
41760bitsliceclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121520161026
41820cgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121520161026
41842bitslicegcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121520161026
41880bitslicegcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121520161026
41896bitslicegcc -m64 -march=nocona -O -fomit-frame-pointer2016121520161026
41906bitsliceclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121520161026
41954bitslicegcc -m64 -march=core2 -O -fomit-frame-pointer2016121520161026
41968bitslicegcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121520161026
41972bitslicegcc -march=nocona -O2 -fomit-frame-pointer2016121520161026
41982bitslicegcc -march=barcelona -O2 -fomit-frame-pointer2016121520161026
41988bitslicegcc -funroll-loops -m64 -O -fomit-frame-pointer2016121520161026
41996bitslicegcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121520161026
42004bitslicegcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121520161026
42008bitslicegcc -fno-schedule-insns -O -fomit-frame-pointer2016121520161026
42010bitsliceclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121520161026
42010bitslicegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121520161026
42032bitslicegcc -funroll-loops -O -fomit-frame-pointer2016121520161026
42036bitslicegcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121520161026
42038bitslicegcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121520161026
42046bitslicegcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121520161026
42048bitslicegcc -m64 -march=barcelona -O -fomit-frame-pointer2016121520161026
42056bitslicegcc -march=barcelona -O -fomit-frame-pointer2016121520161026
42058bitslicegcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121520161026
42090bitslicegcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121520161026
42092bitslicegcc -march=nocona -O -fomit-frame-pointer2016121520161026
42148bitsliceclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121520161026
42158bitslicegcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121520161026
42178bitslicegcc -m64 -O2 -fomit-frame-pointer2016121520161026
42184bitslicegcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121520161026
42186bitslicecc2016121520161026
42188cgcc -funroll-loops -O -fomit-frame-pointer2016121520161026
42214bitslicegcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121520161026
42252bitsliceclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121520161026
42258cgcc -m64 -O -fomit-frame-pointer2016121520161026
42270bitslicegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121520161026
42308bitslicegcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121520161026
42328bitsliceclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121520161026
42420bitslicegcc -m64 -O3 -fomit-frame-pointer2016121520161026
42430bitslicegcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121520161026
42438bitslicegcc -m64 -march=k8 -O -fomit-frame-pointer2016121520161026
42442bitslicegcc -funroll-loops -O3 -fomit-frame-pointer2016121520161026
42450bitslicegcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121520161026
42452bitslicegcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121520161026
42516bitslicegcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121520161026
42526bitslicegcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121520161026
42528bitslicegcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121520161026
42532bitslicegcc -O2 -fomit-frame-pointer2016121520161026
42552cgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121520161026
42580bitslicegcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121520161026
42586bitslicegcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121520161026
42602bitslicegcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121520161026
42610bitslicegcc -funroll-loops2016121520161026
42632bitslicegcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121520161026
42648bitslicegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121520161026
42690bitslicegcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121520161026
42724bitsliceclang -O3 -fomit-frame-pointer -Qunused-arguments2016121520161026
42754bitslicegcc -O -fomit-frame-pointer2016121520161026
42754bitslicegcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121520161026
42768bitslicegcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121520161026
42802bitslicegcc -march=k8 -O3 -fomit-frame-pointer2016121520161026
42828bitslicegcc -march=k8 -O -fomit-frame-pointer2016121520161026
42836bitslicegcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121520161026
42838bitslicegcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121520161026
42874bitslicegcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121520161026
42876bitslicegcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121520161026
42944bitsliceclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121520161026
42976bitsliceclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121520161026
43050bitslicegcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121520161026
43068bitslicegcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121520161026
43108bitslicegcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121520161026
43190bitslicegcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121520161026
43258bitslicegcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121520161026
43312bitslicegcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121520161026
43362bitslicegcc -O3 -fomit-frame-pointer2016121520161026
43486bitslicegcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121520161026
43554bitsliceclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121520161026
43556bitslicegcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121520161026
43574bitslicegcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121520161026
43732bitslicegcc2016121520161026
43768bitslicegcc -march=k8 -O2 -fomit-frame-pointer2016121520161026
43886bitslicegcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121520161026
43890bitslicegcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121520161026
43938bitslicegcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121520161026
43974bitslicegcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121520161026
44434bitslicegcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121520161026
44446bitslicegcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121520161026
44458bitslicegcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121520161026
45610bitslicegcc -funroll-loops -O2 -fomit-frame-pointer2016121520161026
46130bitslicegcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121520161026
49600cclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121520161026
49996cclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121520161026
50056cclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121520161026
50076cclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121520161026
50730bitslicegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121520161026
50746bitslicegcc -Os -fomit-frame-pointer2016121520161026
50758bitslicegcc -m64 -march=core2 -Os -fomit-frame-pointer2016121520161026
50806cclang -O3 -fomit-frame-pointer -Qunused-arguments2016121520161026
50808bitslicegcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121520161026
50886bitslicegcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121520161026
50972bitslicegcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121520161026
50990cclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121520161026
51002bitslicegcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121520161026
51074bitslicegcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121520161026
51152cclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121520161026
51156bitslicegcc -march=barcelona -Os -fomit-frame-pointer2016121520161026
51174bitslicegcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121520161026
51298bitslicegcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121520161026
51422bitslicegcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121520161026
51446bitslicegcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121520161026
51470cclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121520161026
51486bitslicegcc -funroll-loops -Os -fomit-frame-pointer2016121520161026
51514bitslicegcc -march=k8 -Os -fomit-frame-pointer2016121520161026
51610bitslicegcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121520161026
51784bitslicegcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121520161026
51898bitslicegcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121520161026
52050bitslicegcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121520161026
52146bitslicegcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121520161026
52440bitslicegcc -m64 -Os -fomit-frame-pointer2016121520161026
52944bitslicegcc -fno-schedule-insns -Os -fomit-frame-pointer2016121520161026
52982bitslicegcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121520161026
53178bitslicegcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121520161026
53354bitslicegcc -m64 -march=nocona -Os -fomit-frame-pointer2016121520161026
54378bitslicegcc -m64 -march=k8 -Os -fomit-frame-pointer2016121520161026
55580bitslicegcc -march=nocona -Os -fomit-frame-pointer2016121520161026
63544cgcc -funroll-loops2016121520161026
64048cgcc2016121520161026
65602ccc2016121520161026