Implementation notes: amd64, sandy, crypto_hash/md6d512

Computer: sandy
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20120908
Operation: crypto_hash
Primitive: md6d512
TimeImplementationCompilerBenchmark dateSUPERCOP version
61132refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2012081620120812
61148refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2012081620120812
61196refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2012081620120812
61300refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2012081620120812
61532refgcc -funroll-loops -O2 -fomit-frame-pointer2012081620120812
61648refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2012081620120812
61680refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2012081620120812
62428refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2012081620120812
62492refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2012081620120812
62504refgcc -O2 -fomit-frame-pointer2012081620120812
62556refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2012081620120812
62640refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2012081620120812
62644refgcc -m64 -O2 -fomit-frame-pointer2012081620120812
62660refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2012081620120812
62676refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2012081620120812
62708refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2012081620120812
62876refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2012081620120812
63684refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2012081620120812
63776refgcc -march=barcelona -O2 -fomit-frame-pointer2012081620120812
63916refgcc -march=k8 -O2 -fomit-frame-pointer2012081620120812
63952refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2012081620120812
64480refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2012081620120812
64564refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2012081620120812
64640refgcc -funroll-loops -Os -fomit-frame-pointer2012081620120812
64640refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2012081620120812
64680refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2012081620120812
64692refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2012081620120812
64888refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012081620120812
65000refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2012081620120812
65008refgcc -m64 -Os -fomit-frame-pointer2012081620120812
65076refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2012081620120812
65076refgcc -m64 -march=k8 -Os -fomit-frame-pointer2012081620120812
65084refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2012081620120812
65084refgcc -m64 -march=core2 -Os -fomit-frame-pointer2012081620120812
65180refgcc -march=barcelona -Os -fomit-frame-pointer2012081620120812
65216refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2012081620120812
65236refgcc -fno-schedule-insns -Os -fomit-frame-pointer2012081620120812
65236refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2012081620120812
65240refgcc -march=k8 -Os -fomit-frame-pointer2012081620120812
65252refgcc -Os -fomit-frame-pointer2012081620120812
65300refgcc -march=nocona -O2 -fomit-frame-pointer2012081620120812
65344refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2012081620120812
65368refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2012081620120812
65384refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2012081620120812
65496refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2012081620120812
65552refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2012081620120812
67384refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2012081620120812
67644refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2012081620120812
67940refgcc -march=nocona -Os -fomit-frame-pointer2012081620120812
68000refgcc -m64 -march=nocona -Os -fomit-frame-pointer2012081620120812
89468refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2012081620120812
89588refgcc -march=nocona -O -fomit-frame-pointer2012081620120812
89648refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2012081620120812
89728refgcc -funroll-loops -m64 -O -fomit-frame-pointer2012081620120812
89812refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2012081620120812
89876refgcc -m64 -march=core2 -O -fomit-frame-pointer2012081620120812
89896refgcc -march=barcelona -O -fomit-frame-pointer2012081620120812
89904refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2012081620120812
89912refgcc -funroll-loops -O -fomit-frame-pointer2012081620120812
89956refgcc -m64 -O -fomit-frame-pointer2012081620120812
89960refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2012081620120812
89988refgcc -m64 -march=nocona -O -fomit-frame-pointer2012081620120812
90000refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2012081620120812
90028refgcc -O -fomit-frame-pointer2012081620120812
90072refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2012081620120812
90084refgcc -m64 -march=barcelona -O -fomit-frame-pointer2012081620120812
90108refgcc -m64 -march=corei7 -O -fomit-frame-pointer2012081620120812
90180refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2012081620120812
90212refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2012081620120812
90244refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2012081620120812
90288refgcc -fno-schedule-insns -O -fomit-frame-pointer2012081620120812
90304refgcc -m64 -march=k8 -O -fomit-frame-pointer2012081620120812
90324refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2012081620120812
90400refgcc -march=k8 -O -fomit-frame-pointer2012081620120812
90408refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2012081620120812
92544refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2012081620120812
93388refgcc -funroll-loops -O3 -fomit-frame-pointer2012081620120812
94064refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2012081620120812
94644refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2012081620120812
94832refgcc -m64 -O3 -fomit-frame-pointer2012081620120812
95728refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2012081620120812
95816refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2012081620120812
96072refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2012081620120812
96416refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2012081620120812
96428refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2012081620120812
96476refgcc -O3 -fomit-frame-pointer2012081620120812
96652refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2012081620120812
96780refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2012081620120812
96892refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2012081620120812
97136refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2012081620120812
97800refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2012081620120812
98036refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2012081620120812
98260refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2012081620120812
98300refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2012081620120812
98612refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2012081620120812
99004refgcc -march=k8 -O3 -fomit-frame-pointer2012081620120812
99408refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2012081620120812
99616refgcc -march=barcelona -O3 -fomit-frame-pointer2012081620120812
101268refgcc -march=nocona -O3 -fomit-frame-pointer2012081620120812
102500refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2012081620120812
329972refcc2012081620120812
330156refgcc -funroll-loops2012081620120812
334672refgcc2012081620120812

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