Implementation notes: amd64, haswell, crypto_hash/md6d224

Computer: haswell
Architecture: amd64
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20130419
Operation: crypto_hash
Primitive: md6d224
TimeImplementationCompilerBenchmark dateSUPERCOP version
31088refgcc -m64 -O2 -fomit-frame-pointer2013060820130419
31104refgcc -march=nocona -O2 -fomit-frame-pointer2013060820130419
31956refgcc -m64 -Os -fomit-frame-pointer2013060820130419
32012refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2013060820130419
32173refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2013060820130419
32356refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2013060820130419
33077refgcc -m64 -march=k8 -Os -fomit-frame-pointer2013060820130419
33176refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2013060820130419
33244refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2013060820130419
33272refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2013060820130419
33308refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2013060820130419
33436refgcc -march=barcelona -O2 -fomit-frame-pointer2013060820130419
33810refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2013060820130419
34026refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2013060820130419
34208refgcc -march=barcelona -Os -fomit-frame-pointer2013060820130419
34266refgcc -funroll-loops -O2 -fomit-frame-pointer2013060820130419
34268refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2013060820130419
34272refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2013060820130419
34302refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2013060820130419
34436refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2013060820130419
34482refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2013060820130419
34652refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2013060820130419
34696refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2013060820130419
34742refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2013060820130419
35280refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2013060820130419
35364refgcc -march=nocona -Os -fomit-frame-pointer2013060820130419
35412refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2013060820130419
35484refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2013060820130419
35530refgcc -m64 -march=core2 -Os -fomit-frame-pointer2013060820130419
36056refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2013060820130419
36072refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2013060820130419
36092refgcc -funroll-loops -Os -fomit-frame-pointer2013060820130419
36124refgcc -march=k8 -O2 -fomit-frame-pointer2013060820130419
36148refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2013060820130419
36204refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2013060820130419
36252refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2013060820130419
36288refgcc -O2 -fomit-frame-pointer2013060820130419
36452refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2013060820130419
36532refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2013060820130419
36652refgcc -m64 -march=nocona -Os -fomit-frame-pointer2013060820130419
36689refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2013060820130419
36694refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2013060820130419
36828refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2013060820130419
36844refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2013060820130419
36980refgcc -march=k8 -Os -fomit-frame-pointer2013060820130419
37348refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2013060820130419
38335refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2013060820130419
38458refgcc -Os -fomit-frame-pointer2013060820130419
38475refgcc -fno-schedule-insns -Os -fomit-frame-pointer2013060820130419
40026refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2013060820130419
41784refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2013060820130419
42044refgcc -funroll-loops -m64 -O -fomit-frame-pointer2013060820130419
42528refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2013060820130419
42848refgcc -march=barcelona -O -fomit-frame-pointer2013060820130419
43629refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2013060820130419
43947refgcc -m64 -march=corei7 -O -fomit-frame-pointer2013060820130419
44009refgcc -march=nocona -O -fomit-frame-pointer2013060820130419
44237refgcc -m64 -march=k8 -O -fomit-frame-pointer2013060820130419
44652refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2013060820130419
44736refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2013060820130419
44755refgcc -m64 -march=barcelona -O -fomit-frame-pointer2013060820130419
45064refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2013060820130419
46156refgcc -march=k8 -O -fomit-frame-pointer2013060820130419
46608refgcc -funroll-loops -O -fomit-frame-pointer2013060820130419
46888refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2013060820130419
47288refgcc -m64 -O -fomit-frame-pointer2013060820130419
47560refgcc -fno-schedule-insns -O -fomit-frame-pointer2013060820130419
48556refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2013060820130419
48636refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2013060820130419
48832refgcc -m64 -march=core2 -O -fomit-frame-pointer2013060820130419
48884refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2013060820130419
49468refgcc -O -fomit-frame-pointer2013060820130419
50754refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2013060820130419
51184refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2013060820130419
51239refgcc -m64 -march=nocona -O -fomit-frame-pointer2013060820130419
51977refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2013060820130419
52232refgcc -m64 -O3 -fomit-frame-pointer2013060820130419
52252refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2013060820130419
52264refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2013060820130419
52336refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2013060820130419
52408refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2013060820130419
52820refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2013060820130419
55315refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2013060820130419
55340refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2013060820130419
56072refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2013060820130419
56088refgcc -O3 -fomit-frame-pointer2013060820130419
57452refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2013060820130419
57536refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2013060820130419
57640refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2013060820130419
58616refgcc -march=nocona -O3 -fomit-frame-pointer2013060820130419
60244refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2013060820130419
60256refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2013060820130419
60620refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2013060820130419
60860refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2013060820130419
61534refgcc -march=k8 -O3 -fomit-frame-pointer2013060820130419
61782refgcc -funroll-loops -O3 -fomit-frame-pointer2013060820130419
62136refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2013060820130419
63709refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2013060820130419
64408refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2013060820130419
64420refgcc -march=barcelona -O3 -fomit-frame-pointer2013060820130419
169568refcc2013060820130419
170652refgcc2013060820130419
197708refgcc -funroll-loops2013060820130419

Compiler output

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