Implementation notes: amd64, haswell, crypto_hash/md6d384

Computer: haswell
Architecture: amd64
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20130419
Operation: crypto_hash
Primitive: md6d384
TimeImplementationCompilerBenchmark dateSUPERCOP version
43756refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2013060820130419
44578refgcc -march=nocona -Os -fomit-frame-pointer2013060820130419
44975refgcc -m64 -Os -fomit-frame-pointer2013060820130419
45029refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2013060820130419
45343refgcc -m64 -march=core2 -Os -fomit-frame-pointer2013060820130419
45772refgcc -m64 -O2 -fomit-frame-pointer2013060820130419
46604refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2013060820130419
46644refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2013060820130419
46662refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2013060820130419
47178refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2013060820130419
47188refgcc -funroll-loops -O2 -fomit-frame-pointer2013060820130419
47346refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2013060820130419
47514refgcc -O2 -fomit-frame-pointer2013060820130419
47734refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2013060820130419
47792refgcc -march=k8 -O2 -fomit-frame-pointer2013060820130419
48040refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2013060820130419
48364refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2013060820130419
48364refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2013060820130419
48384refgcc -m64 -march=k8 -Os -fomit-frame-pointer2013060820130419
48400refgcc -march=k8 -Os -fomit-frame-pointer2013060820130419
48434refgcc -Os -fomit-frame-pointer2013060820130419
48438refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2013060820130419
48464refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2013060820130419
48658refgcc -march=barcelona -Os -fomit-frame-pointer2013060820130419
48816refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2013060820130419
48984refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2013060820130419
49108refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2013060820130419
49272refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2013060820130419
49316refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2013060820130419
49364refgcc -march=barcelona -O2 -fomit-frame-pointer2013060820130419
49492refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2013060820130419
49500refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2013060820130419
49780refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2013060820130419
49948refgcc -m64 -march=nocona -Os -fomit-frame-pointer2013060820130419
50224refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2013060820130419
50316refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2013060820130419
50356refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2013060820130419
50882refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2013060820130419
51090refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2013060820130419
51160refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2013060820130419
51226refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2013060820130419
51251refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2013060820130419
51264refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2013060820130419
51520refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2013060820130419
51542refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2013060820130419
52461refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2013060820130419
53193refgcc -march=nocona -O2 -fomit-frame-pointer2013060820130419
53688refgcc -funroll-loops -Os -fomit-frame-pointer2013060820130419
53875refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2013060820130419
54908refgcc -fno-schedule-insns -Os -fomit-frame-pointer2013060820130419
57828refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2013060820130419
58244refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2013060820130419
58308refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2013060820130419
58308refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2013060820130419
58552refgcc -fno-schedule-insns -O -fomit-frame-pointer2013060820130419
61235refgcc -m64 -march=k8 -O -fomit-frame-pointer2013060820130419
61876refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2013060820130419
62148refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2013060820130419
62284refgcc -m64 -march=core2 -O -fomit-frame-pointer2013060820130419
62768refgcc -m64 -O -fomit-frame-pointer2013060820130419
63500refgcc -m64 -march=barcelona -O -fomit-frame-pointer2013060820130419
64174refgcc -funroll-loops -m64 -O -fomit-frame-pointer2013060820130419
64628refgcc -m64 -march=corei7 -O -fomit-frame-pointer2013060820130419
64902refgcc -march=nocona -O -fomit-frame-pointer2013060820130419
64972refgcc -m64 -march=nocona -O -fomit-frame-pointer2013060820130419
65674refgcc -march=k8 -O -fomit-frame-pointer2013060820130419
66896refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2013060820130419
67232refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2013060820130419
67472refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2013060820130419
68128refgcc -march=barcelona -O -fomit-frame-pointer2013060820130419
69356refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2013060820130419
69513refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2013060820130419
69534refgcc -funroll-loops -O -fomit-frame-pointer2013060820130419
69538refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2013060820130419
70586refgcc -O -fomit-frame-pointer2013060820130419
73100refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2013060820130419
73824refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2013060820130419
74882refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2013060820130419
75346refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2013060820130419
75835refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2013060820130419
75984refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2013060820130419
76859refgcc -O3 -fomit-frame-pointer2013060820130419
77780refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2013060820130419
78268refgcc -march=nocona -O3 -fomit-frame-pointer2013060820130419
78325refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2013060820130419
78388refgcc -m64 -O3 -fomit-frame-pointer2013060820130419
78950refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2013060820130419
81826refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2013060820130419
82084refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2013060820130419
82410refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2013060820130419
82948refgcc -funroll-loops -O3 -fomit-frame-pointer2013060820130419
83168refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2013060820130419
83304refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2013060820130419
83524refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2013060820130419
84148refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2013060820130419
86574refgcc -march=k8 -O3 -fomit-frame-pointer2013060820130419
89416refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2013060820130419
89776refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2013060820130419
92290refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2013060820130419
93815refgcc -march=barcelona -O3 -fomit-frame-pointer2013060820130419
243439refcc2013060820130419
247154refgcc -funroll-loops2013060820130419
272772refgcc2013060820130419

Compiler output

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