Implementation notes: amd64, ares, crypto_hash/sarmal512

Computer: ares
Architecture: amd64
CPU ID: GenuineIntel-000306a9-bfebfbff
SUPERCOP version: 20130419
Operation: crypto_hash
Primitive: sarmal512
TimeImplementationCompilerBenchmark dateSUPERCOP version
12980asm64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014012620130419
12980asm64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014012620130419
12996asm64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014012620130419
13004asm64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014012620130419
13020asm64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2014012620130419
13020asm64gcc -march=nocona -O3 -fomit-frame-pointer2014012620130419
13028asm64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014012620130419
13036asm64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014012620130419
13072asm64gcc -m64 -march=corei7 -O -fomit-frame-pointer2014012620130419
13080asm64gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014012620130419
13084asm64gcc -march=nocona -O -fomit-frame-pointer2014012620130419
13092asm64gcc -m64 -march=nocona -O -fomit-frame-pointer2014012620130419
13104asm64gcc -O -fomit-frame-pointer2014012620130419
13104asm64gcc -m64 -march=core2 -O -fomit-frame-pointer2014012620130419
13112asm64gcc -fno-schedule-insns -O -fomit-frame-pointer2014012620130419
13116asm64gcc -m64 -O -fomit-frame-pointer2014012620130419
13120asm64gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014012620130419
13248asm64gcc -march=nocona -O2 -fomit-frame-pointer2014012620130419
13260asm64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2014012620130419
13288asm64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014012620130419
13292asm64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014012620130419
13300asm64gcc -march=barcelona -O3 -fomit-frame-pointer2014012620130419
13344asm64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014012620130419
13352asm64gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014012620130419
13372asm64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014012620130419
13388asm64gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014012620130419
13388asm64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014012620130419
13396asm64gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014012620130419
13468opt64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014012620130419
13472opt64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014012620130419
13476opt64gcc -funroll-loops -O -fomit-frame-pointer2014012620130419
13480opt64gcc -funroll-loops -m64 -O -fomit-frame-pointer2014012620130419
13488opt64gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014012620130419
13488asm64gcc -march=barcelona -O2 -fomit-frame-pointer2014012620130419
13496asm64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014012620130419
13548asm64gcc -march=barcelona -O -fomit-frame-pointer2014012620130419
13552asm64gcc -m64 -march=barcelona -O -fomit-frame-pointer2014012620130419
13564asm64gcc -m64 -march=barcelona -O -fomit-frame-pointer2014012620130419
13724opt64gcc -fno-schedule-insns -O -fomit-frame-pointer2014012620130419
13732opt64gcc -m64 -O -fomit-frame-pointer2014012620130419
13736opt64gcc -m64 -march=corei7 -O -fomit-frame-pointer2014012620130419
13740opt64gcc -m64 -march=nocona -O -fomit-frame-pointer2014012620130419
13748opt64gcc -O -fomit-frame-pointer2014012620130419
13752opt64gcc -march=nocona -O -fomit-frame-pointer2014012620130419
13756asm64gcc -march=nocona -Os -fomit-frame-pointer2014012620130419
13760opt64gcc -m64 -march=core2 -O -fomit-frame-pointer2014012620130419
13760opt64gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014012620130419
13760opt64gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014012620130419
13772asm64gcc -m64 -march=corei7 -Os -fomit-frame-pointer2014012620130419
13776asm64gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014012620130419
13776asm64gcc -m64 -march=nocona -Os -fomit-frame-pointer2014012620130419
13780asm64gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014012620130419
13780asm64gcc -m64 -march=core2 -Os -fomit-frame-pointer2014012620130419
13780asm64gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014012620130419
13796opt64gcc -funroll-loops -O3 -fomit-frame-pointer2014012620130419
13796asm64gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014012620130419
13800asm64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2014012620130419
13804opt64gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014012620130419
13820opt64gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014012620130419
13820asm64gcc -m64 -Os -fomit-frame-pointer2014012620130419
13828asm64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2014012620130419
13828asm64gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014012620130419
13832asm64gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014012620130419
13832asm64gcc -march=barcelona -Os -fomit-frame-pointer2014012620130419
13832asm64gcc -march=k8 -Os -fomit-frame-pointer2014012620130419
13836asm64gcc -funroll-loops -Os -fomit-frame-pointer2014012620130419
13836asm64gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014012620130419
13836asm64gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014012620130419
13840asm64gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014012620130419
13840asm64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2014012620130419
13844asm64gcc -fno-schedule-insns -Os -fomit-frame-pointer2014012620130419
13852asm64gcc -Os -fomit-frame-pointer2014012620130419
13860asm64gcc -m64 -march=k8 -Os -fomit-frame-pointer2014012620130419
13864opt64gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014012620130419
13872opt64gcc -funroll-loops -O2 -fomit-frame-pointer2014012620130419
13884opt64gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014012620130419
13928opt64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014012620130419
13936opt64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014012620130419
13984opt64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014012620130419
14024opt64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014012620130419
14176opt64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2014012620130419
14184opt64gcc -march=nocona -O3 -fomit-frame-pointer2014012620130419
14284opt64gcc -fno-schedule-insns -O3 -fomit-frame-pointer2014012620130419
14292opt64gcc -O3 -fomit-frame-pointer2014012620130419
14292opt64gcc -m64 -O3 -fomit-frame-pointer2014012620130419
14328opt64gcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014012620130419
14356opt64gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014012620130419
14360opt64gcc -m64 -march=core2 -O3 -fomit-frame-pointer2014012620130419
14372opt64gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014012620130419
14412opt64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014012620130419
14428opt64gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014012620130419
14436opt64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014012620130419
14444opt64gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014012620130419
14500opt64gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014012620130419
14528opt64gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014012620130419
14532opt64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014012620130419
14548opt64gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014012620130419
14548opt64gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014012620130419
14556opt64gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014012620130419
14556opt64gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014012620130419
14560asm64gcc -funroll-loops2014012620130419
14572opt64gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014012620130419
14588asm64gcc2014012620130419
14592asm64cc2014012620130419
14676opt64gcc -march=barcelona -O -fomit-frame-pointer2014012620130419
14688opt64gcc -m64 -march=barcelona -O -fomit-frame-pointer2014012620130419
14692opt64gcc -m64 -march=barcelona -O -fomit-frame-pointer2014012620130419
14696opt64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2014012620130419
14700opt64gcc -march=nocona -O2 -fomit-frame-pointer2014012620130419
14724opt64gcc -m64 -march=k8 -O -fomit-frame-pointer2014012620130419
14740opt64gcc -march=k8 -O -fomit-frame-pointer2014012620130419
14772opt64gcc -O2 -fomit-frame-pointer2014012620130419
14776opt64gcc -fno-schedule-insns -O2 -fomit-frame-pointer2014012620130419
14788opt64gcc -m64 -O2 -fomit-frame-pointer2014012620130419
14808opt64gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014012620130419
14828opt64gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014012620130419
14828opt64gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014012620130419
14836opt64gcc -m64 -march=core2 -O2 -fomit-frame-pointer2014012620130419
14956opt64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014012620130419
14980opt64gcc -march=barcelona -O3 -fomit-frame-pointer2014012620130419
14988opt64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014012620130419
15020opt64gcc -march=k8 -O3 -fomit-frame-pointer2014012620130419
15024opt64gcc -m64 -march=k8 -O3 -fomit-frame-pointer2014012620130419
15280opt64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014012620130419
15288opt64gcc -march=barcelona -O2 -fomit-frame-pointer2014012620130419
15308opt64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014012620130419
15360opt64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2014012620130419
15372opt64gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014012620130419
15396opt64gcc -funroll-loops -Os -fomit-frame-pointer2014012620130419
15396opt64gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014012620130419
15404opt64gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014012620130419
15412opt64gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014012620130419
15420opt64gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014012620130419
15476opt64gcc -march=k8 -O2 -fomit-frame-pointer2014012620130419
15488opt64gcc -m64 -march=k8 -O2 -fomit-frame-pointer2014012620130419
15532opt64gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014012620130419
15548opt64gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014012620130419
15696opt64gcc -march=nocona -Os -fomit-frame-pointer2014012620130419
15772opt64gcc -m64 -march=nocona -Os -fomit-frame-pointer2014012620130419
15832opt64gcc -march=k8 -Os -fomit-frame-pointer2014012620130419
15840opt64gcc -m64 -march=k8 -Os -fomit-frame-pointer2014012620130419
15848opt64gcc -Os -fomit-frame-pointer2014012620130419
15860opt64gcc -m64 -Os -fomit-frame-pointer2014012620130419
15864opt64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2014012620130419
15872opt64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2014012620130419
15872opt64gcc -m64 -march=core2 -Os -fomit-frame-pointer2014012620130419
15876opt64gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014012620130419
15892opt64gcc -march=barcelona -Os -fomit-frame-pointer2014012620130419
15900opt64gcc -fno-schedule-insns -Os -fomit-frame-pointer2014012620130419
15908opt64gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014012620130419
15908opt64gcc -m64 -march=corei7 -Os -fomit-frame-pointer2014012620130419
33140opt64cc2014012620130419
33152opt64gcc2014012620130419
33192opt64gcc -funroll-loops2014012620130419

Checksum failure

Implementation: crypto_hash/sarmal512/asm64
Compiler: gcc -m64 -march=k8 -O2 -fomit-frame-pointer
e2cf2e8e623fb36d83bfe3608cfeb6450ad15b9d9c6c1e4bea2695ad7f5282a009fb4aeac03cf5ad582722ed2d653432de9380c3156eab6bbcfbc3787ceebd17
Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc -m64 -march=k8 -O2 -fomit-frame-pointer asm64
gcc -march=k8 -O2 -fomit-frame-pointer asm64

Test failure

Implementation: crypto_hash/sarmal512/asm64
Compiler: gcc -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 28, namely:
CompilerImplementations
gcc -O2 -fomit-frame-pointer asm64
gcc -O3 -fomit-frame-pointer asm64
gcc -fno-schedule-insns -O2 -fomit-frame-pointer asm64
gcc -fno-schedule-insns -O3 -fomit-frame-pointer asm64
gcc -funroll-loops -O2 -fomit-frame-pointer asm64
gcc -funroll-loops -O3 -fomit-frame-pointer asm64
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer asm64
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer asm64
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer asm64
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer asm64
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer asm64
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer asm64
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer asm64
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer asm64
gcc -m64 -O2 -fomit-frame-pointer asm64
gcc -m64 -O3 -fomit-frame-pointer asm64
gcc -m64 -march=core2 -O2 -fomit-frame-pointer asm64
gcc -m64 -march=core2 -O3 -fomit-frame-pointer asm64
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer asm64
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer asm64
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer asm64
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer asm64
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer asm64
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer asm64
gcc -m64 -march=k8 -O3 -fomit-frame-pointer asm64
gcc -m64 -march=k8 -O -fomit-frame-pointer asm64
gcc -march=k8 -O3 -fomit-frame-pointer asm64
gcc -march=k8 -O -fomit-frame-pointer asm64

Test failure

Implementation: crypto_hash/sarmal512/asm64
Compiler: gcc -funroll-loops -O -fomit-frame-pointer
error 111
crypto_hash does not handle overlap

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -funroll-loops -O -fomit-frame-pointer asm64
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer asm64
gcc -funroll-loops -m64 -O -fomit-frame-pointer asm64

Test failure

Implementation: crypto_hash/sarmal512/asm64
Compiler: gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer
error 142
sh: line 1: 29516 Alarm clock killafter 3600 ./try

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer asm64

Test failure

Implementation: crypto_hash/sarmal512/asm64
Compiler: gcc -funroll-loops -march=k8 -O -fomit-frame-pointer
error 142
sh: line 1: 30304 Alarm clock killafter 3600 ./try

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer asm64