Implementation notes: amd64, glyme, crypto_hash/md6d224

Computer: glyme
Architecture: amd64
CPU ID: GenuineIntel-00020652-bfebfbff
SUPERCOP version: 201720170105
Operation: crypto_hash
Primitive: md6d224
TimeImplementationCompilerBenchmark dateSUPERCOP version
40756refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020120170105
40784refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020120170105
41448refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020120170105
41476refgcc -march=nocona -O2 -fomit-frame-pointer2017020120170105
41852refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020120170105
41876refgcc -funroll-loops -O2 -fomit-frame-pointer2017020120170105
41904refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020120170105
42120refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020120170105
42196refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020120170105
42208refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020120170105
42216refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020120170105
42228refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020120170105
42240refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020120170105
42244refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020120170105
42260refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020120170105
42268refgcc -m64 -O2 -fomit-frame-pointer2017020120170105
42280refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020120170105
42300refgcc -O2 -fomit-frame-pointer2017020120170105
42440refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020120170105
42560refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020120170105
42560refgcc -march=k8 -O2 -fomit-frame-pointer2017020120170105
42644refgcc -march=barcelona -O2 -fomit-frame-pointer2017020120170105
42652refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020120170105
43008refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020120170105
43316refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020120170105
43848refgcc -march=nocona -Os -fomit-frame-pointer2017020120170105
44020refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020120170105
44072refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020120170105
44080refgcc -m64 -march=nocona -Os -fomit-frame-pointer2017020120170105
44364refgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020120170105
44444refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020120170105
44452refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020120170105
44464refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020120170105
44476refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020120170105
44576refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020120170105
44596refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020120170105
44644refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020120170105
44672refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020120170105
44792refgcc -funroll-loops -Os -fomit-frame-pointer2017020120170105
44828refgcc -m64 -march=k8 -Os -fomit-frame-pointer2017020120170105
44828refgcc -march=k8 -Os -fomit-frame-pointer2017020120170105
44840refgcc -m64 -Os -fomit-frame-pointer2017020120170105
44844refgcc -fno-schedule-insns -Os -fomit-frame-pointer2017020120170105
44856refgcc -Os -fomit-frame-pointer2017020120170105
44880refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020120170105
45100refgcc -march=barcelona -Os -fomit-frame-pointer2017020120170105
54856refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020120170105
54864refgcc -funroll-loops -O3 -fomit-frame-pointer2017020120170105
55032refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020120170105
56428refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020120170105
56528refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020120170105
56552refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020120170105
56576refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020120170105
56608refgcc -O3 -fomit-frame-pointer2017020120170105
56732refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020120170105
56744refgcc -m64 -O3 -fomit-frame-pointer2017020120170105
56768refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020120170105
57232refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020120170105
57324refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020120170105
58488refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020120170105
58500refgcc -march=nocona -O3 -fomit-frame-pointer2017020120170105
62544refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020120170105
62708refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020120170105
62924refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020120170105
62948refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020120170105
63612refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020120170105
63640refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020120170105
63664refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020120170105
63740refgcc -march=barcelona -O3 -fomit-frame-pointer2017020120170105
63852refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020120170105
63888refgcc -funroll-loops -m64 -O -fomit-frame-pointer2017020120170105
63968refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020120170105
63984refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020120170105
64104refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020120170105
64128refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020120170105
64164refgcc -funroll-loops -O -fomit-frame-pointer2017020120170105
65620refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020120170105
65708refgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020120170105
65888refgcc -m64 -march=k8 -O -fomit-frame-pointer2017020120170105
65948refgcc -m64 -O -fomit-frame-pointer2017020120170105
65988refgcc -fno-schedule-insns -O -fomit-frame-pointer2017020120170105
65992refgcc -O -fomit-frame-pointer2017020120170105
66068refgcc -m64 -march=nocona -O -fomit-frame-pointer2017020120170105
66092refgcc -march=nocona -O -fomit-frame-pointer2017020120170105
66116refgcc -march=k8 -O -fomit-frame-pointer2017020120170105
66688refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020120170105
66800refgcc -march=barcelona -O -fomit-frame-pointer2017020120170105
67004refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020120170105
67004refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020120170105
67068refgcc -m64 -march=core2 -O -fomit-frame-pointer2017020120170105
67100refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020120170105
67332refgcc -m64 -march=barcelona -O -fomit-frame-pointer2017020120170105
69592refgcc -march=k8 -O3 -fomit-frame-pointer2017020120170105
69636refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020120170105
69644refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020120170105
69680refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020120170105
260276refgcc -funroll-loops2017020120170105
260332refgcc2017020120170105

Compiler output

Implementation: crypto_hash/md6d224/ref
Compiler: cc
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: 7, namely:
CompilerImplementations
cc ref
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=native -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