Implementation notes: amd64, haswell, crypto_hash/md6d256

Computer: haswell
Architecture: amd64
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20130419
Operation: crypto_hash
Primitive: md6d256
TimeImplementationCompilerBenchmark dateSUPERCOP version
33296refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2013060820130419
33488refgcc -m64 -O2 -fomit-frame-pointer2013060820130419
33512refgcc -m64 -Os -fomit-frame-pointer2013060820130419
33752refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2013060820130419
34580refgcc -funroll-loops -O2 -fomit-frame-pointer2013060820130419
34738refgcc -march=k8 -Os -fomit-frame-pointer2013060820130419
34767refgcc -fno-schedule-insns -Os -fomit-frame-pointer2013060820130419
35268refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2013060820130419
35544refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2013060820130419
36208refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2013060820130419
37024refgcc -march=nocona -O2 -fomit-frame-pointer2013060820130419
37370refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2013060820130419
37372refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2013060820130419
37422refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2013060820130419
37442refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2013060820130419
37530refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2013060820130419
37568refgcc -m64 -march=nocona -Os -fomit-frame-pointer2013060820130419
37576refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2013060820130419
37576refgcc -march=barcelona -O2 -fomit-frame-pointer2013060820130419
37680refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2013060820130419
37684refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2013060820130419
37816refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2013060820130419
37844refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2013060820130419
38416refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2013060820130419
38628refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2013060820130419
38648refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2013060820130419
38780refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2013060820130419
38804refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2013060820130419
38828refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2013060820130419
38932refgcc -m64 -march=core2 -Os -fomit-frame-pointer2013060820130419
38932refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2013060820130419
38992refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2013060820130419
39052refgcc -march=barcelona -Os -fomit-frame-pointer2013060820130419
39262refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2013060820130419
39283refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2013060820130419
39308refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2013060820130419
39373refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2013060820130419
39995refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2013060820130419
40095refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2013060820130419
40169refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2013060820130419
40351refgcc -O2 -fomit-frame-pointer2013060820130419
40501refgcc -Os -fomit-frame-pointer2013060820130419
40525refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2013060820130419
40542refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2013060820130419
40558refgcc -march=nocona -Os -fomit-frame-pointer2013060820130419
40571refgcc -march=k8 -O2 -fomit-frame-pointer2013060820130419
40633refgcc -funroll-loops -Os -fomit-frame-pointer2013060820130419
40662refgcc -m64 -march=k8 -Os -fomit-frame-pointer2013060820130419
42072refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2013060820130419
42330refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2013060820130419
45628refgcc -m64 -O -fomit-frame-pointer2013060820130419
46124refgcc -fno-schedule-insns -O -fomit-frame-pointer2013060820130419
46583refgcc -funroll-loops -m64 -O -fomit-frame-pointer2013060820130419
46918refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2013060820130419
46930refgcc -march=nocona -O -fomit-frame-pointer2013060820130419
46947refgcc -m64 -march=core2 -O -fomit-frame-pointer2013060820130419
47075refgcc -O -fomit-frame-pointer2013060820130419
47697refgcc -march=k8 -O -fomit-frame-pointer2013060820130419
48444refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2013060820130419
48612refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2013060820130419
48632refgcc -m64 -march=nocona -O -fomit-frame-pointer2013060820130419
48732refgcc -m64 -march=corei7 -O -fomit-frame-pointer2013060820130419
50108refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2013060820130419
50358refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2013060820130419
50510refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2013060820130419
51082refgcc -march=barcelona -O -fomit-frame-pointer2013060820130419
51260refgcc -m64 -march=barcelona -O -fomit-frame-pointer2013060820130419
52396refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2013060820130419
52412refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2013060820130419
52700refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2013060820130419
52716refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2013060820130419
52948refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2013060820130419
53124refgcc -m64 -march=k8 -O -fomit-frame-pointer2013060820130419
54197refgcc -funroll-loops -O -fomit-frame-pointer2013060820130419
54404refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2013060820130419
56008refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2013060820130419
56164refgcc -m64 -O3 -fomit-frame-pointer2013060820130419
56244refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2013060820130419
56376refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2013060820130419
56772refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2013060820130419
57130refgcc -funroll-loops -O3 -fomit-frame-pointer2013060820130419
58559refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2013060820130419
58908refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2013060820130419
59428refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2013060820130419
61538refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2013060820130419
62778refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2013060820130419
64372refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2013060820130419
64448refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2013060820130419
64892refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2013060820130419
65060refgcc -O3 -fomit-frame-pointer2013060820130419
65700refgcc -march=nocona -O3 -fomit-frame-pointer2013060820130419
66754refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2013060820130419
67144refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2013060820130419
67400refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2013060820130419
67677refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2013060820130419
68477refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2013060820130419
69212refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2013060820130419
69300refgcc -march=k8 -O3 -fomit-frame-pointer2013060820130419
69732refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2013060820130419
72131refgcc -march=barcelona -O3 -fomit-frame-pointer2013060820130419
182524refcc2013060820130419
203260refgcc2013060820130419
207818refgcc -funroll-loops2013060820130419

Compiler output

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