Implementation notes: amd64, haswell, crypto_hash/md6d512

Computer: haswell
Architecture: amd64
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20130419
Operation: crypto_hash
Primitive: md6d512
TimeImplementationCompilerBenchmark dateSUPERCOP version
51248refgcc -march=nocona -O2 -fomit-frame-pointer2013060820130419
51416refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2013060820130419
51452refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2013060820130419
51504refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2013060820130419
51948refgcc -m64 -O2 -fomit-frame-pointer2013060820130419
53948refgcc -m64 -Os -fomit-frame-pointer2013060820130419
54464refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2013060820130419
54568refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2013060820130419
55268refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2013060820130419
55644refgcc -march=barcelona -O2 -fomit-frame-pointer2013060820130419
55740refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2013060820130419
56084refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2013060820130419
56570refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2013060820130419
57114refgcc -funroll-loops -O2 -fomit-frame-pointer2013060820130419
57498refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2013060820130419
57556refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2013060820130419
57624refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2013060820130419
57726refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2013060820130419
57892refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2013060820130419
58112refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2013060820130419
58262refgcc -march=nocona -Os -fomit-frame-pointer2013060820130419
58748refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2013060820130419
58812refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2013060820130419
59036refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2013060820130419
59640refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2013060820130419
59944refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2013060820130419
60008refgcc -O2 -fomit-frame-pointer2013060820130419
60272refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2013060820130419
60280refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2013060820130419
60416refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2013060820130419
60452refgcc -march=barcelona -Os -fomit-frame-pointer2013060820130419
60456refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2013060820130419
60460refgcc -m64 -march=core2 -Os -fomit-frame-pointer2013060820130419
60576refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2013060820130419
60648refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2013060820130419
60816refgcc -m64 -march=nocona -Os -fomit-frame-pointer2013060820130419
61886refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2013060820130419
62615refgcc -funroll-loops -Os -fomit-frame-pointer2013060820130419
62656refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2013060820130419
62690refgcc -march=k8 -O2 -fomit-frame-pointer2013060820130419
62781refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2013060820130419
62876refgcc -Os -fomit-frame-pointer2013060820130419
62930refgcc -m64 -march=k8 -Os -fomit-frame-pointer2013060820130419
62984refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2013060820130419
62996refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2013060820130419
63179refgcc -fno-schedule-insns -Os -fomit-frame-pointer2013060820130419
63423refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2013060820130419
65091refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2013060820130419
65475refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2013060820130419
65767refgcc -march=k8 -Os -fomit-frame-pointer2013060820130419
69708refgcc -funroll-loops -m64 -O -fomit-frame-pointer2013060820130419
69960refgcc -funroll-loops -O -fomit-frame-pointer2013060820130419
70640refgcc -m64 -O -fomit-frame-pointer2013060820130419
72098refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2013060820130419
72500refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2013060820130419
73142refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2013060820130419
75748refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2013060820130419
75860refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2013060820130419
77926refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2013060820130419
78358refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2013060820130419
78718refgcc -m64 -march=corei7 -O -fomit-frame-pointer2013060820130419
79020refgcc -march=barcelona -O -fomit-frame-pointer2013060820130419
79046refgcc -march=nocona -O -fomit-frame-pointer2013060820130419
79132refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2013060820130419
81176refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2013060820130419
81180refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2013060820130419
81200refgcc -m64 -march=nocona -O -fomit-frame-pointer2013060820130419
81504refgcc -m64 -march=core2 -O -fomit-frame-pointer2013060820130419
82032refgcc -m64 -march=k8 -O -fomit-frame-pointer2013060820130419
82280refgcc -m64 -march=barcelona -O -fomit-frame-pointer2013060820130419
82348refgcc -fno-schedule-insns -O -fomit-frame-pointer2013060820130419
82460refgcc -O -fomit-frame-pointer2013060820130419
84229refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2013060820130419
84245refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2013060820130419
85417refgcc -march=k8 -O -fomit-frame-pointer2013060820130419
87500refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2013060820130419
91396refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2013060820130419
92883refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2013060820130419
93935refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2013060820130419
96392refgcc -m64 -O3 -fomit-frame-pointer2013060820130419
98248refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2013060820130419
98380refgcc -funroll-loops -O3 -fomit-frame-pointer2013060820130419
98998refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2013060820130419
99032refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2013060820130419
99562refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2013060820130419
99648refgcc -march=nocona -O3 -fomit-frame-pointer2013060820130419
100954refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2013060820130419
102352refgcc -march=barcelona -O3 -fomit-frame-pointer2013060820130419
103344refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2013060820130419
104956refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2013060820130419
105080refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2013060820130419
105374refgcc -march=k8 -O3 -fomit-frame-pointer2013060820130419
106196refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2013060820130419
106704refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2013060820130419
108692refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2013060820130419
109036refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2013060820130419
109131refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2013060820130419
109226refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2013060820130419
109330refgcc -O3 -fomit-frame-pointer2013060820130419
110088refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2013060820130419
291292refcc2013060820130419
335108refgcc -funroll-loops2013060820130419
348584refgcc2013060820130419

Compiler output

Implementation: crypto_hash/md6d512/ref
Compiler: clang -O3
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: 2, namely:
CompilerImplementations
clang -O3 ref
clang -O3 -mavx ref