Implementation notes: amd64, kizomba, crypto_hash/md6d512

Computer: kizomba
Architecture: amd64
CPU ID: GenuineIntel-000906e9-bfebfbff
SUPERCOP version: 20181216
Operation: crypto_hash
Primitive: md6d512
TimeImplementationCompilerBenchmark dateSUPERCOP version
48143refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2018082020180818
48167refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018082020180818
48268refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2018082020180818
48295refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018082020180818
48347refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018082020180818
48348refgcc -funroll-loops -O2 -fomit-frame-pointer2018082020180818
48379refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018082020180818
48482refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018082020180818
48549refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018082020180818
48558refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018082020180818
48662refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018082020180818
48722refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018082020180818
48793refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2018082020180818
48845refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018082020180818
48863refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018082020180818
48885refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018082020180818
48938refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2018082020180818
48940refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018082020180818
48958refgcc -march=barcelona -O2 -fomit-frame-pointer2018082020180818
49153refgcc -m64 -O2 -fomit-frame-pointer2018082020180818
49155refgcc -march=nocona -O2 -fomit-frame-pointer2018082020180818
49163refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018082020180818
49163refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2018082020180818
49173refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018082020180818
49248refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018082020180818
49260refgcc -O2 -fomit-frame-pointer2018082020180818
49292refgcc -march=k8 -O2 -fomit-frame-pointer2018082020180818
49319refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018082020180818
49331refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2018082020180818
49384refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018082020180818
49460refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2018082020180818
49496refgcc -funroll-loops -Os -fomit-frame-pointer2018082020180818
49512refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018082020180818
49607refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018082020180818
49621refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018082020180818
49635refgcc -Os -fomit-frame-pointer2018082020180818
49669refgcc -m64 -march=k8 -Os -fomit-frame-pointer2018082020180818
49726refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018082020180818
49736refgcc -m64 -march=nocona -Os -fomit-frame-pointer2018082020180818
49818refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2018082020180818
49822refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018082020180818
49827refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018082020180818
49828refgcc -march=barcelona -Os -fomit-frame-pointer2018082020180818
49904refgcc -march=nocona -Os -fomit-frame-pointer2018082020180818
49907refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018082020180818
49970refgcc -m64 -march=core2 -Os -fomit-frame-pointer2018082020180818
49972refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018082020180818
50016refgcc -fno-schedule-insns -Os -fomit-frame-pointer2018082020180818
50080refgcc -march=k8 -Os -fomit-frame-pointer2018082020180818
50081refgcc -m64 -Os -fomit-frame-pointer2018082020180818
50166refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2018082020180818
50332refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018082020180818
59994refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018082020180818
60020refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018082020180818
60129refgcc -funroll-loops -O -fomit-frame-pointer2018082020180818
60149refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018082020180818
60307refgcc -funroll-loops -m64 -O -fomit-frame-pointer2018082020180818
60391refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018082020180818
60480refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018082020180818
60482refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2018082020180818
60681refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018082020180818
60752refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2018082020180818
61962refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018082020180818
62190refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018082020180818
62198refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018082020180818
62213refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018082020180818
62254refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018082020180818
62323refgcc -m64 -march=core2 -O -fomit-frame-pointer2018082020180818
62456refgcc -m64 -march=corei7 -O -fomit-frame-pointer2018082020180818
62500refgcc -march=nocona -O -fomit-frame-pointer2018082020180818
62567refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018082020180818
62611refgcc -march=k8 -O -fomit-frame-pointer2018082020180818
62617refgcc -m64 -march=barcelona -O -fomit-frame-pointer2018082020180818
62651refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018082020180818
62665refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018082020180818
62673refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018082020180818
62714refgcc -m64 -march=nocona -O -fomit-frame-pointer2018082020180818
62756refgcc -m64 -march=k8 -O -fomit-frame-pointer2018082020180818
62830refgcc -m64 -O -fomit-frame-pointer2018082020180818
62937refgcc -O -fomit-frame-pointer2018082020180818
62986refgcc -march=barcelona -O -fomit-frame-pointer2018082020180818
62996refgcc -fno-schedule-insns -O -fomit-frame-pointer2018082020180818
74054refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018082020180818
74086refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018082020180818
74806refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018082020180818
74836refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018082020180818
74958refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018082020180818
75095refgcc -m64 -O3 -fomit-frame-pointer2018082020180818
75180refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018082020180818
75192refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2018082020180818
75266refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018082020180818
75282refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018082020180818
75343refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2018082020180818
75383refgcc -O3 -fomit-frame-pointer2018082020180818
75492refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018082020180818
75520refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018082020180818
75585refgcc -funroll-loops -O3 -fomit-frame-pointer2018082020180818
75788refgcc -march=nocona -O3 -fomit-frame-pointer2018082020180818
75891refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018082020180818
75933refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2018082020180818
79111refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018082020180818
79131refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2018082020180818
79325refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018082020180818
79641refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2018082020180818
81020refgcc -march=k8 -O3 -fomit-frame-pointer2018082020180818
81228refgcc -march=barcelona -O3 -fomit-frame-pointer2018082020180818
81296refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018082020180818
81320refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2018082020180818
235401refgcc2018082020180818
235555refcc2018082020180818
236411refgcc -funroll-loops2018082020180818

Compiler output

Implementation: crypto_hash/md6d512/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