Implementation notes: amd64, sandy, crypto_hash/md6d224

Computer: sandy
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20120908
Operation: crypto_hash
Primitive: md6d224
TimeImplementationCompilerBenchmark dateSUPERCOP version
36444refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2012081620120812
36460refgcc -funroll-loops -O2 -fomit-frame-pointer2012081620120812
36592refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2012081620120812
36688refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2012081620120812
36716refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2012081620120812
36720refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2012081620120812
36748refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2012081620120812
37464refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2012081620120812
37504refgcc -O2 -fomit-frame-pointer2012081620120812
37572refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2012081620120812
37588refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2012081620120812
37600refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2012081620120812
37780refgcc -m64 -O2 -fomit-frame-pointer2012081620120812
37816refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2012081620120812
37836refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2012081620120812
37840refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2012081620120812
37844refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2012081620120812
38176refgcc -march=barcelona -O2 -fomit-frame-pointer2012081620120812
38216refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2012081620120812
38292refgcc -march=k8 -O2 -fomit-frame-pointer2012081620120812
38320refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2012081620120812
38712refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2012081620120812
39008refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2012081620120812
39076refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2012081620120812
39208refgcc -march=nocona -O2 -fomit-frame-pointer2012081620120812
39540refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2012081620120812
39568refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2012081620120812
39592refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2012081620120812
39624refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2012081620120812
39628refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012081620120812
39672refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2012081620120812
39676refgcc -funroll-loops -Os -fomit-frame-pointer2012081620120812
40124refgcc -march=barcelona -Os -fomit-frame-pointer2012081620120812
40204refgcc -m64 -march=core2 -Os -fomit-frame-pointer2012081620120812
40216refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2012081620120812
40240refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2012081620120812
40244refgcc -march=k8 -Os -fomit-frame-pointer2012081620120812
40252refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2012081620120812
40256refgcc -m64 -Os -fomit-frame-pointer2012081620120812
40268refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2012081620120812
40272refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2012081620120812
40300refgcc -Os -fomit-frame-pointer2012081620120812
40308refgcc -m64 -march=k8 -Os -fomit-frame-pointer2012081620120812
40336refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2012081620120812
40340refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2012081620120812
40692refgcc -fno-schedule-insns -Os -fomit-frame-pointer2012081620120812
41988refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2012081620120812
42040refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2012081620120812
42076refgcc -march=nocona -Os -fomit-frame-pointer2012081620120812
42444refgcc -m64 -march=nocona -Os -fomit-frame-pointer2012081620120812
53176refgcc -funroll-loops -O -fomit-frame-pointer2012081620120812
53316refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2012081620120812
53324refgcc -funroll-loops -m64 -O -fomit-frame-pointer2012081620120812
53384refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2012081620120812
53732refgcc -O -fomit-frame-pointer2012081620120812
53736refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2012081620120812
53792refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2012081620120812
53808refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2012081620120812
53836refgcc -m64 -march=core2 -O -fomit-frame-pointer2012081620120812
53840refgcc -m64 -O -fomit-frame-pointer2012081620120812
53840refgcc -m64 -march=corei7 -O -fomit-frame-pointer2012081620120812
53856refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2012081620120812
53864refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2012081620120812
53900refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2012081620120812
53940refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2012081620120812
53944refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2012081620120812
53992refgcc -fno-schedule-insns -O -fomit-frame-pointer2012081620120812
54060refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2012081620120812
54092refgcc -march=k8 -O -fomit-frame-pointer2012081620120812
54104refgcc -march=barcelona -O -fomit-frame-pointer2012081620120812
54152refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2012081620120812
54284refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2012081620120812
54288refgcc -funroll-loops -O3 -fomit-frame-pointer2012081620120812
54296refgcc -m64 -march=k8 -O -fomit-frame-pointer2012081620120812
54384refgcc -m64 -march=nocona -O -fomit-frame-pointer2012081620120812
54412refgcc -march=nocona -O -fomit-frame-pointer2012081620120812
54448refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2012081620120812
54508refgcc -m64 -march=barcelona -O -fomit-frame-pointer2012081620120812
55852refgcc -O3 -fomit-frame-pointer2012081620120812
55980refgcc -m64 -O3 -fomit-frame-pointer2012081620120812
56044refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2012081620120812
56256refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2012081620120812
56356refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2012081620120812
56484refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2012081620120812
56624refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2012081620120812
56704refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2012081620120812
56740refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2012081620120812
56780refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2012081620120812
56900refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2012081620120812
56948refgcc -march=nocona -O3 -fomit-frame-pointer2012081620120812
57216refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2012081620120812
57280refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2012081620120812
57320refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2012081620120812
57372refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2012081620120812
57644refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2012081620120812
57700refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2012081620120812
58684refgcc -march=barcelona -O3 -fomit-frame-pointer2012081620120812
58796refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2012081620120812
58816refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2012081620120812
58880refgcc -march=k8 -O3 -fomit-frame-pointer2012081620120812
193072refcc2012081620120812
193952refgcc -funroll-loops2012081620120812
194032refgcc2012081620120812

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