Implementation notes: amd64, kizomba, crypto_hash/md6d224

Computer: kizomba
Architecture: amd64
CPU ID: GenuineIntel-000906e9-bfebfbff
SUPERCOP version: 20181216
Operation: crypto_hash
Primitive: md6d224
TimeImplementationCompilerBenchmark dateSUPERCOP version
28330refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018082020180818
28422refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018082020180818
28442refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018082020180818
28478refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018082020180818
28623refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018082020180818
28625refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018082020180818
28633refgcc -funroll-loops -O2 -fomit-frame-pointer2018082020180818
28645refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018082020180818
28653refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2018082020180818
28665refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018082020180818
28726refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018082020180818
28734refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018082020180818
28748refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018082020180818
28760refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018082020180818
28818refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2018082020180818
28851refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2018082020180818
28861refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2018082020180818
28862refgcc -m64 -O2 -fomit-frame-pointer2018082020180818
28873refgcc -O2 -fomit-frame-pointer2018082020180818
28946refgcc -march=nocona -O2 -fomit-frame-pointer2018082020180818
28978refgcc -march=barcelona -O2 -fomit-frame-pointer2018082020180818
28996refgcc -march=k8 -O2 -fomit-frame-pointer2018082020180818
29080refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018082020180818
29216refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2018082020180818
29280refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2018082020180818
29314refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018082020180818
29421refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018082020180818
29439refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2018082020180818
29488refgcc -funroll-loops -Os -fomit-frame-pointer2018082020180818
29651refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018082020180818
29679refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2018082020180818
29689refgcc -march=barcelona -Os -fomit-frame-pointer2018082020180818
29702refgcc -m64 -march=nocona -Os -fomit-frame-pointer2018082020180818
29711refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018082020180818
29746refgcc -march=nocona -Os -fomit-frame-pointer2018082020180818
29750refgcc -m64 -march=k8 -Os -fomit-frame-pointer2018082020180818
29762refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018082020180818
29768refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018082020180818
29777refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2018082020180818
29800refgcc -fno-schedule-insns -Os -fomit-frame-pointer2018082020180818
29805refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018082020180818
29814refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018082020180818
29835refgcc -m64 -march=core2 -Os -fomit-frame-pointer2018082020180818
29948refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018082020180818
29965refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018082020180818
30030refgcc -m64 -Os -fomit-frame-pointer2018082020180818
30034refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018082020180818
30054refgcc -Os -fomit-frame-pointer2018082020180818
30077refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018082020180818
30085refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018082020180818
30125refgcc -march=k8 -Os -fomit-frame-pointer2018082020180818
30268refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018082020180818
35354refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018082020180818
35815refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018082020180818
36051refgcc -funroll-loops -O -fomit-frame-pointer2018082020180818
36061refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018082020180818
36123refgcc -funroll-loops -m64 -O -fomit-frame-pointer2018082020180818
36125refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018082020180818
36127refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018082020180818
36178refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2018082020180818
36190refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018082020180818
36396refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2018082020180818
36829refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018082020180818
37000refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018082020180818
37057refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018082020180818
37152refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018082020180818
37206refgcc -march=nocona -O -fomit-frame-pointer2018082020180818
37321refgcc -march=k8 -O -fomit-frame-pointer2018082020180818
37426refgcc -O -fomit-frame-pointer2018082020180818
37463refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018082020180818
37472refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018082020180818
37474refgcc -m64 -O -fomit-frame-pointer2018082020180818
37502refgcc -m64 -march=core2 -O -fomit-frame-pointer2018082020180818
37502refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018082020180818
37516refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018082020180818
37565refgcc -m64 -march=nocona -O -fomit-frame-pointer2018082020180818
37677refgcc -m64 -march=corei7 -O -fomit-frame-pointer2018082020180818
37686refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018082020180818
37714refgcc -march=barcelona -O -fomit-frame-pointer2018082020180818
37786refgcc -m64 -march=k8 -O -fomit-frame-pointer2018082020180818
37788refgcc -fno-schedule-insns -O -fomit-frame-pointer2018082020180818
37823refgcc -m64 -march=barcelona -O -fomit-frame-pointer2018082020180818
42931refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018082020180818
43480refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018082020180818
43591refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018082020180818
43593refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018082020180818
43688refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018082020180818
43770refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2018082020180818
43802refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018082020180818
43841refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2018082020180818
43883refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018082020180818
43954refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018082020180818
44031refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018082020180818
44129refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018082020180818
44147refgcc -O3 -fomit-frame-pointer2018082020180818
44147refgcc -funroll-loops -O3 -fomit-frame-pointer2018082020180818
44226refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018082020180818
44234refgcc -march=nocona -O3 -fomit-frame-pointer2018082020180818
44256refgcc -m64 -O3 -fomit-frame-pointer2018082020180818
44512refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2018082020180818
46250refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018082020180818
46569refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2018082020180818
46591refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018082020180818
46633refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2018082020180818
47464refgcc -march=k8 -O3 -fomit-frame-pointer2018082020180818
47474refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018082020180818
47762refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2018082020180818
48533refgcc -march=barcelona -O3 -fomit-frame-pointer2018082020180818
137883refcc2018082020180818
138867refgcc -funroll-loops2018082020180818
139547refgcc2018082020180818

Compiler output

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