Implementation notes: amd64, sandy, crypto_hash/md6d384

Computer: sandy
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20120908
Operation: crypto_hash
Primitive: md6d384
TimeImplementationCompilerBenchmark dateSUPERCOP version
50124refgcc -funroll-loops -O2 -fomit-frame-pointer2012081620120812
50140refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2012081620120812
50192refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2012081620120812
50540refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2012081620120812
50548refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2012081620120812
50624refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2012081620120812
50720refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2012081620120812
51324refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2012081620120812
51412refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2012081620120812
51452refgcc -O2 -fomit-frame-pointer2012081620120812
51512refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2012081620120812
51520refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2012081620120812
51548refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2012081620120812
51720refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2012081620120812
51728refgcc -m64 -O2 -fomit-frame-pointer2012081620120812
51744refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2012081620120812
51780refgcc -march=k8 -O2 -fomit-frame-pointer2012081620120812
51804refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2012081620120812
52032refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2012081620120812
52372refgcc -march=barcelona -O2 -fomit-frame-pointer2012081620120812
52952refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2012081620120812
53196refgcc -funroll-loops -Os -fomit-frame-pointer2012081620120812
53236refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2012081620120812
53340refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2012081620120812
53456refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2012081620120812
53468refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2012081620120812
53488refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2012081620120812
53500refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2012081620120812
53508refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2012081620120812
53536refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2012081620120812
53812refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012081620120812
53920refgcc -march=nocona -O2 -fomit-frame-pointer2012081620120812
54068refgcc -m64 -march=core2 -Os -fomit-frame-pointer2012081620120812
54080refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2012081620120812
54096refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2012081620120812
54116refgcc -march=k8 -Os -fomit-frame-pointer2012081620120812
54160refgcc -Os -fomit-frame-pointer2012081620120812
54192refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2012081620120812
54196refgcc -march=barcelona -Os -fomit-frame-pointer2012081620120812
54208refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2012081620120812
54224refgcc -m64 -march=k8 -Os -fomit-frame-pointer2012081620120812
54340refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2012081620120812
54504refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2012081620120812
54516refgcc -m64 -Os -fomit-frame-pointer2012081620120812
54656refgcc -fno-schedule-insns -Os -fomit-frame-pointer2012081620120812
54672refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2012081620120812
56628refgcc -m64 -march=nocona -Os -fomit-frame-pointer2012081620120812
56688refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2012081620120812
56768refgcc -march=nocona -Os -fomit-frame-pointer2012081620120812
56900refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2012081620120812
73312refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2012081620120812
73880refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2012081620120812
73904refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2012081620120812
73924refgcc -funroll-loops -m64 -O -fomit-frame-pointer2012081620120812
73924refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2012081620120812
73936refgcc -funroll-loops -O -fomit-frame-pointer2012081620120812
73968refgcc -m64 -march=corei7 -O -fomit-frame-pointer2012081620120812
73976refgcc -m64 -march=core2 -O -fomit-frame-pointer2012081620120812
74016refgcc -m64 -O -fomit-frame-pointer2012081620120812
74032refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2012081620120812
74044refgcc -march=k8 -O -fomit-frame-pointer2012081620120812
74076refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2012081620120812
74088refgcc -O -fomit-frame-pointer2012081620120812
74116refgcc -fno-schedule-insns -O -fomit-frame-pointer2012081620120812
74148refgcc -m64 -march=k8 -O -fomit-frame-pointer2012081620120812
74208refgcc -march=nocona -O -fomit-frame-pointer2012081620120812
74296refgcc -march=barcelona -O -fomit-frame-pointer2012081620120812
74320refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2012081620120812
74320refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2012081620120812
74364refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2012081620120812
74416refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2012081620120812
74420refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2012081620120812
74472refgcc -m64 -march=nocona -O -fomit-frame-pointer2012081620120812
74756refgcc -m64 -march=barcelona -O -fomit-frame-pointer2012081620120812
74844refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2012081620120812
75228refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2012081620120812
75408refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2012081620120812
76248refgcc -funroll-loops -O3 -fomit-frame-pointer2012081620120812
78044refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2012081620120812
78144refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2012081620120812
78328refgcc -m64 -O3 -fomit-frame-pointer2012081620120812
78548refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2012081620120812
78620refgcc -O3 -fomit-frame-pointer2012081620120812
79032refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2012081620120812
79052refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2012081620120812
79076refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2012081620120812
79116refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2012081620120812
79292refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2012081620120812
79324refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2012081620120812
79492refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2012081620120812
79492refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2012081620120812
79732refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2012081620120812
80164refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2012081620120812
80196refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2012081620120812
80260refgcc -march=nocona -O3 -fomit-frame-pointer2012081620120812
80512refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2012081620120812
81312refgcc -march=barcelona -O3 -fomit-frame-pointer2012081620120812
81888refgcc -march=k8 -O3 -fomit-frame-pointer2012081620120812
82100refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2012081620120812
82572refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2012081620120812
270872refgcc -funroll-loops2012081620120812
270976refcc2012081620120812
271840refgcc2012081620120812

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