Implementation notes: amd64, kizomba, crypto_hash/md6d384

Computer: kizomba
Architecture: amd64
CPU ID: GenuineIntel-000906e9-bfebfbff
SUPERCOP version: 20181216
Operation: crypto_hash
Primitive: md6d384
TimeImplementationCompilerBenchmark dateSUPERCOP version
39379refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2018082020180818
39431refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018082020180818
39605refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018082020180818
39623refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2018082020180818
39631refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018082020180818
39695refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018082020180818
39714refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018082020180818
39814refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018082020180818
39854refgcc -funroll-loops -O2 -fomit-frame-pointer2018082020180818
39857refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018082020180818
39907refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018082020180818
39919refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018082020180818
39922refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018082020180818
39974refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2018082020180818
39974refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018082020180818
40004refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018082020180818
40115refgcc -march=barcelona -O2 -fomit-frame-pointer2018082020180818
40149refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2018082020180818
40165refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018082020180818
40215refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2018082020180818
40219refgcc -m64 -O2 -fomit-frame-pointer2018082020180818
40223refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018082020180818
40257refgcc -march=nocona -O2 -fomit-frame-pointer2018082020180818
40355refgcc -O2 -fomit-frame-pointer2018082020180818
40401refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018082020180818
40437refgcc -march=k8 -O2 -fomit-frame-pointer2018082020180818
40467refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018082020180818
40494refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2018082020180818
40534refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018082020180818
40552refgcc -funroll-loops -Os -fomit-frame-pointer2018082020180818
40567refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018082020180818
40699refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018082020180818
40766refgcc -m64 -march=core2 -Os -fomit-frame-pointer2018082020180818
40772refgcc -march=nocona -Os -fomit-frame-pointer2018082020180818
40778refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018082020180818
40783refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018082020180818
40785refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2018082020180818
40790refgcc -march=k8 -Os -fomit-frame-pointer2018082020180818
40839refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2018082020180818
40851refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018082020180818
40861refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018082020180818
40964refgcc -m64 -Os -fomit-frame-pointer2018082020180818
41014refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018082020180818
41032refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018082020180818
41046refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018082020180818
41064refgcc -m64 -march=nocona -Os -fomit-frame-pointer2018082020180818
41125refgcc -fno-schedule-insns -Os -fomit-frame-pointer2018082020180818
41131refgcc -Os -fomit-frame-pointer2018082020180818
41152refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018082020180818
41206refgcc -march=barcelona -Os -fomit-frame-pointer2018082020180818
41272refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2018082020180818
41347refgcc -m64 -march=k8 -Os -fomit-frame-pointer2018082020180818
49208refgcc -funroll-loops -O -fomit-frame-pointer2018082020180818
49236refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018082020180818
49450refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018082020180818
49454refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018082020180818
49470refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2018082020180818
49492refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018082020180818
49496refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2018082020180818
49587refgcc -funroll-loops -m64 -O -fomit-frame-pointer2018082020180818
49617refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018082020180818
49726refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018082020180818
50780refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018082020180818
51090refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018082020180818
51125refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018082020180818
51135refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018082020180818
51179refgcc -m64 -march=core2 -O -fomit-frame-pointer2018082020180818
51226refgcc -march=nocona -O -fomit-frame-pointer2018082020180818
51244refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018082020180818
51280refgcc -m64 -march=k8 -O -fomit-frame-pointer2018082020180818
51311refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018082020180818
51333refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018082020180818
51361refgcc -m64 -march=nocona -O -fomit-frame-pointer2018082020180818
51367refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018082020180818
51415refgcc -m64 -O -fomit-frame-pointer2018082020180818
51500refgcc -O -fomit-frame-pointer2018082020180818
51558refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018082020180818
51582refgcc -m64 -march=corei7 -O -fomit-frame-pointer2018082020180818
51592refgcc -march=k8 -O -fomit-frame-pointer2018082020180818
51762refgcc -march=barcelona -O -fomit-frame-pointer2018082020180818
51814refgcc -m64 -march=barcelona -O -fomit-frame-pointer2018082020180818
51879refgcc -fno-schedule-insns -O -fomit-frame-pointer2018082020180818
60405refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018082020180818
61020refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018082020180818
61040refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018082020180818
61250refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018082020180818
61317refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018082020180818
61419refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018082020180818
61429refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2018082020180818
61463refgcc -O3 -fomit-frame-pointer2018082020180818
61488refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018082020180818
61570refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018082020180818
61578refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2018082020180818
61675refgcc -funroll-loops -O3 -fomit-frame-pointer2018082020180818
61732refgcc -march=nocona -O3 -fomit-frame-pointer2018082020180818
61788refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018082020180818
61885refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2018082020180818
61890refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018082020180818
62427refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018082020180818
62433refgcc -m64 -O3 -fomit-frame-pointer2018082020180818
64782refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018082020180818
64821refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018082020180818
65196refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2018082020180818
66187refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018082020180818
66195refgcc -march=barcelona -O3 -fomit-frame-pointer2018082020180818
66200refgcc -march=k8 -O3 -fomit-frame-pointer2018082020180818
66278refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2018082020180818
70083refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2018082020180818
192284refcc2018082020180818
193095refgcc2018082020180818
193161refgcc -funroll-loops2018082020180818

Compiler output

Implementation: crypto_hash/md6d384/ref
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
md6_compress.c: md6_compress.c:424:11: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
md6_compress.c: if ( (C == NULL) ) return MD6_NULL_C;
md6_compress.c: ~~^~~~~~~
md6_compress.c: md6_compress.c:424:11: note: remove extraneous parentheses around the comparison to silence this warning
md6_compress.c: if ( (C == NULL) ) return MD6_NULL_C;
md6_compress.c: ~ ^ ~
md6_compress.c: md6_compress.c:424:11: note: use '=' to turn this equality comparison into an assignment
md6_compress.c: if ( (C == NULL) ) return MD6_NULL_C;
md6_compress.c: ^~
md6_compress.c: =
md6_compress.c: md6_compress.c:425:11: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
md6_compress.c: if ( (B == NULL) ) return MD6_NULL_B;
md6_compress.c: ~~^~~~~~~
md6_compress.c: md6_compress.c:425:11: note: remove extraneous parentheses around the comparison to silence this warning
md6_compress.c: if ( (B == NULL) ) return MD6_NULL_B;
md6_compress.c: ~ ^ ~
md6_compress.c: md6_compress.c:425:11: note: use '=' to turn this equality comparison into an assignment
md6_compress.c: if ( (B == NULL) ) return MD6_NULL_B;
md6_compress.c: ^~
md6_compress.c: =
md6_compress.c: md6_compress.c:431:11: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
md6_compress.c: if ( (K == NULL) ) return MD6_NULL_K;
md6_compress.c: ~~^~~~~~~
md6_compress.c: md6_compress.c:431:11: note: remove extraneous parentheses around the comparison to silence this warning
md6_compress.c: if ( (K == NULL) ) return MD6_NULL_K;
md6_compress.c: ...

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref