Implementation notes: amd64, hydra2, crypto_hash/md6d224

Computer: hydra2
Architecture: amd64
CPU ID: GenuineIntel-000206c2-bfebfbff
SUPERCOP version: 20141014
Operation: crypto_hash
Primitive: md6d224
TimeImplementationCompilerBenchmark dateSUPERCOP version
39352refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014052820140525
39436refgcc -funroll-loops -O2 -fomit-frame-pointer2014052820140525
39452refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014052820140525
39508refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014052820140525
39524refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014052820140525
39556refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014052820140525
39592refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014052820140525
39704refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014052820140525
39712refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014052820140525
40072refgcc -march=nocona -O2 -fomit-frame-pointer2014052820140525
40208refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014052820140525
40608refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014052820140525
40624refgcc -O2 -fomit-frame-pointer2014052820140525
40656refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014052820140525
40676refgcc -m64 -O2 -fomit-frame-pointer2014052820140525
40700refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014052820140525
40708refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014052820140525
40716refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014052820140525
40720refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014052820140525
40740refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014052820140525
40756refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014052820140525
40804refgcc -march=barcelona -O2 -fomit-frame-pointer2014052820140525
40876refgcc -march=k8 -O2 -fomit-frame-pointer2014052820140525
41352refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014052820140525
41392refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014052820140525
41432refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014052820140525
41472refgcc -funroll-loops -Os -fomit-frame-pointer2014052820140525
41532refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014052820140525
41580refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014052820140525
41948refgcc -Os -fomit-frame-pointer2014052820140525
41960refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014052820140525
41976refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014052820140525
42020refgcc -march=barcelona -Os -fomit-frame-pointer2014052820140525
42040refgcc -march=k8 -Os -fomit-frame-pointer2014052820140525
42060refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014052820140525
42100refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014052820140525
42128refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014052820140525
42144refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014052820140525
42144refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014052820140525
42160refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014052820140525
42352refgcc -march=nocona -Os -fomit-frame-pointer2014052820140525
42368refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014052820140525
42560refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014052820140525
42596refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014052820140525
42600refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014052820140525
42632refgcc -m64 -Os -fomit-frame-pointer2014052820140525
56240refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014052820140525
56372refgcc -funroll-loops -O3 -fomit-frame-pointer2014052820140525
56456refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014052820140525
56820refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014052820140525
56856refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014052820140525
57100refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014052820140525
57172refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014052820140525
57204refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014052820140525
57208refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014052820140525
57224refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014052820140525
57244refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014052820140525
57260refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014052820140525
57280refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014052820140525
57320refgcc -funroll-loops -O -fomit-frame-pointer2014052820140525
57344refgcc -m64 -O3 -fomit-frame-pointer2014052820140525
57356refgcc -O3 -fomit-frame-pointer2014052820140525
57364refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014052820140525
57368refgcc -m64 -march=nocona -O -fomit-frame-pointer2014052820140525
57416refgcc -march=nocona -O -fomit-frame-pointer2014052820140525
57420refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014052820140525
57476refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014052820140525
57520refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014052820140525
57668refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014052820140525
57724refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014052820140525
57728refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014052820140525
57760refgcc -m64 -march=k8 -O -fomit-frame-pointer2014052820140525
57764refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014052820140525
57772refgcc -march=k8 -O -fomit-frame-pointer2014052820140525
57780refgcc -fno-schedule-insns -O -fomit-frame-pointer2014052820140525
57788refgcc -march=barcelona -O -fomit-frame-pointer2014052820140525
57812refgcc -O -fomit-frame-pointer2014052820140525
57820refgcc -m64 -march=core2 -O -fomit-frame-pointer2014052820140525
57836refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014052820140525
57872refgcc -m64 -O -fomit-frame-pointer2014052820140525
58148refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014052820140525
58208refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014052820140525
58644refgcc -march=nocona -O3 -fomit-frame-pointer2014052820140525
58720refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014052820140525
60940refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014052820140525
60952refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014052820140525
61012refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014052820140525
61232refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014052820140525
62480refgcc -march=barcelona -O3 -fomit-frame-pointer2014052820140525
62536refgcc -march=k8 -O3 -fomit-frame-pointer2014052820140525
62564refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014052820140525
62700refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014052820140525
240676refgcc2014052820140525
240712refgcc -funroll-loops2014052820140525
240760refcc2014052820140525

Compiler output

Implementation: crypto_hash/md6d224/ref
Compiler: clang -O3 -fomit-frame-pointer
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 -fomit-frame-pointer ref
clang -O3 -fwrapv -march=native -fomit-frame-pointer ref

Compiler output

Implementation: crypto_hash/md6d224/ref
Compiler: clang -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
hash.c: clang: warning: argument unused during compilation: '-fpolly'
hash.c: clang: warning: argument unused during compilation: '-fvectorize'
hash.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
hash.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
md6_compress.c: clang: warning: argument unused during compilation: '-fpolly'
md6_compress.c: clang: warning: argument unused during compilation: '-fvectorize'
md6_compress.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
md6_compress.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
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: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer ref

Compiler output

Implementation: crypto_hash/md6d224/ref
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
hash.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
hash.c: clang: warning: argument unused during compilation: '-mavx2'
hash.c: clang: warning: argument unused during compilation: '-mpclmul'
md6_compress.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
md6_compress.c: clang: warning: argument unused during compilation: '-mavx2'
md6_compress.c: clang: warning: argument unused during compilation: '-mpclmul'
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: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer ref

Compiler output

Implementation: crypto_hash/md6d224/ref
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
hash.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
hash.c: clang: warning: argument unused during compilation: '-mavx2'
hash.c: clang: warning: argument unused during compilation: '-mpclmul'
hash.c: clang: warning: argument unused during compilation: '-fpolly'
hash.c: clang: warning: argument unused during compilation: '-fvectorize'
hash.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
hash.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
md6_compress.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
md6_compress.c: clang: warning: argument unused during compilation: '-mavx2'
md6_compress.c: clang: warning: argument unused during compilation: '-mpclmul'
md6_compress.c: clang: warning: argument unused during compilation: '-fpolly'
md6_compress.c: clang: warning: argument unused during compilation: '-fvectorize'
md6_compress.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
md6_compress.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
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: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer ref

Compiler output

Implementation: crypto_hash/md6d224/ref
Compiler: clang -O3 -fwrapv -mavx2 -fomit-frame-pointer
hash.c: clang: warning: argument unused during compilation: '-mavx2'
md6_compress.c: clang: warning: argument unused during compilation: '-mavx2'
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: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer ref

Compiler output

Implementation: crypto_hash/md6d224/ref
Compiler: clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
hash.c: clang: warning: argument unused during compilation: '-mavx2'
hash.c: clang: warning: argument unused during compilation: '-fpolly'
hash.c: clang: warning: argument unused during compilation: '-fvectorize'
hash.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
hash.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
md6_compress.c: clang: warning: argument unused during compilation: '-mavx2'
md6_compress.c: clang: warning: argument unused during compilation: '-fpolly'
md6_compress.c: clang: warning: argument unused during compilation: '-fvectorize'
md6_compress.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
md6_compress.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
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: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer ref