Implementation notes: amd64, kizomba, crypto_hash/md6d256

Computer: kizomba
Architecture: amd64
CPU ID: GenuineIntel-000906e9-bfebfbff
SUPERCOP version: 20181216
Operation: crypto_hash
Primitive: md6d256
TimeImplementationCompilerBenchmark dateSUPERCOP version
30554refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018082020180818
30652refgcc -funroll-loops -O2 -fomit-frame-pointer2018082020180818
30792refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018082020180818
30884refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018082020180818
30896refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018082020180818
30931refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2018082020180818
30937refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018082020180818
30947refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2018082020180818
30983refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018082020180818
31119refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018082020180818
31176refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018082020180818
31189refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018082020180818
31195refgcc -march=barcelona -O2 -fomit-frame-pointer2018082020180818
31196refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2018082020180818
31206refgcc -march=nocona -O2 -fomit-frame-pointer2018082020180818
31232refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018082020180818
31246refgcc -m64 -O2 -fomit-frame-pointer2018082020180818
31319refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018082020180818
31322refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018082020180818
31371refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2018082020180818
31434refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018082020180818
31443refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018082020180818
31540refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2018082020180818
31566refgcc -march=k8 -O2 -fomit-frame-pointer2018082020180818
31577refgcc -O2 -fomit-frame-pointer2018082020180818
31613refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018082020180818
31621refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018082020180818
31729refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2018082020180818
31744refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018082020180818
31844refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018082020180818
31862refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018082020180818
31895refgcc -Os -fomit-frame-pointer2018082020180818
31895refgcc -march=barcelona -Os -fomit-frame-pointer2018082020180818
31930refgcc -march=nocona -Os -fomit-frame-pointer2018082020180818
31942refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018082020180818
31948refgcc -fno-schedule-insns -Os -fomit-frame-pointer2018082020180818
31966refgcc -funroll-loops -Os -fomit-frame-pointer2018082020180818
32002refgcc -m64 -march=k8 -Os -fomit-frame-pointer2018082020180818
32010refgcc -march=k8 -Os -fomit-frame-pointer2018082020180818
32040refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018082020180818
32077refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018082020180818
32098refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018082020180818
32117refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018082020180818
32147refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018082020180818
32164refgcc -m64 -march=core2 -Os -fomit-frame-pointer2018082020180818
32171refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018082020180818
32195refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018082020180818
32218refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2018082020180818
32226refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2018082020180818
32226refgcc -m64 -march=nocona -Os -fomit-frame-pointer2018082020180818
32254refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2018082020180818
32254refgcc -m64 -Os -fomit-frame-pointer2018082020180818
38391refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018082020180818
38428refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018082020180818
38508refgcc -funroll-loops -m64 -O -fomit-frame-pointer2018082020180818
38518refgcc -funroll-loops -O -fomit-frame-pointer2018082020180818
38744refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018082020180818
38762refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2018082020180818
38772refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018082020180818
38794refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018082020180818
38814refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018082020180818
38850refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2018082020180818
39569refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018082020180818
39760refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018082020180818
39853refgcc -m64 -march=core2 -O -fomit-frame-pointer2018082020180818
39853refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018082020180818
39936refgcc -march=nocona -O -fomit-frame-pointer2018082020180818
39952refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018082020180818
39980refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018082020180818
40059refgcc -m64 -march=nocona -O -fomit-frame-pointer2018082020180818
40139refgcc -m64 -march=corei7 -O -fomit-frame-pointer2018082020180818
40145refgcc -m64 -march=k8 -O -fomit-frame-pointer2018082020180818
40151refgcc -march=k8 -O -fomit-frame-pointer2018082020180818
40153refgcc -march=barcelona -O -fomit-frame-pointer2018082020180818
40157refgcc -fno-schedule-insns -O -fomit-frame-pointer2018082020180818
40197refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018082020180818
40256refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018082020180818
40363refgcc -m64 -march=barcelona -O -fomit-frame-pointer2018082020180818
40379refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018082020180818
40387refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018082020180818
40542refgcc -O -fomit-frame-pointer2018082020180818
40796refgcc -m64 -O -fomit-frame-pointer2018082020180818
46728refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018082020180818
47014refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018082020180818
47063refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018082020180818
47075refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018082020180818
47117refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018082020180818
47194refgcc -m64 -O3 -fomit-frame-pointer2018082020180818
47264refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018082020180818
47355refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018082020180818
47433refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018082020180818
47515refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2018082020180818
47524refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2018082020180818
47544refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018082020180818
47621refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018082020180818
47637refgcc -funroll-loops -O3 -fomit-frame-pointer2018082020180818
47748refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018082020180818
47881refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2018082020180818
47940refgcc -O3 -fomit-frame-pointer2018082020180818
48186refgcc -march=nocona -O3 -fomit-frame-pointer2018082020180818
49790refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018082020180818
50077refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018082020180818
50260refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2018082020180818
50520refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2018082020180818
50964refgcc -march=k8 -O3 -fomit-frame-pointer2018082020180818
51095refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2018082020180818
51273refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018082020180818
51385refgcc -march=barcelona -O3 -fomit-frame-pointer2018082020180818
148914refgcc2018082020180818
149183refcc2018082020180818
149353refgcc -funroll-loops2018082020180818

Compiler output

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