Implementation notes: amd64, sandy0, crypto_hash/sarmal512

Computer: sandy0
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20130419
Operation: crypto_hash
Primitive: sarmal512
TimeImplementationCompilerBenchmark dateSUPERCOP version
15856asm64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2012032920120316
15860asm64gcc -march=nocona -O3 -fomit-frame-pointer2012032920120316
15924asm64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2012032920120316
15928asm64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2012032920120316
15932asm64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2012032920120316
15952asm64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2012032920120316
15972opt64gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2012032920120316
15972opt64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2012032920120316
15972opt64gcc -m64 -march=nocona -O -fomit-frame-pointer2012032920120316
15976opt64gcc -funroll-loops -m64 -O -fomit-frame-pointer2012032920120316
15984opt64gcc -march=nocona -O -fomit-frame-pointer2012032920120316
15988opt64gcc -funroll-loops -O -fomit-frame-pointer2012032920120316
15988opt64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2012032920120316
15992opt64gcc -fno-schedule-insns -O -fomit-frame-pointer2012032920120316
15996opt64gcc -m64 -march=core-avx-i -O -fomit-frame-pointer2012032920120316
15996opt64gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2012032920120316
16000opt64gcc -m64 -O -fomit-frame-pointer2012032920120316
16004opt64gcc -m64 -march=corei7 -O -fomit-frame-pointer2012032920120316
16008asm64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2012032920120316
16008asm64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2012032920120316
16028opt64gcc -m64 -march=core2 -O -fomit-frame-pointer2012032920120316
16032asm64gcc -m64 -march=nocona -O -fomit-frame-pointer2012032920120316
16040asm64gcc -O -fomit-frame-pointer2012032920120316
16040opt64gcc -m64 -march=corei7-avx -O -fomit-frame-pointer2012032920120316
16044opt64gcc -O -fomit-frame-pointer2012032920120316
16048asm64gcc -march=nocona -O -fomit-frame-pointer2012032920120316
16072asm64gcc -m64 -O -fomit-frame-pointer2012032920120316
16072asm64gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2012032920120316
16076asm64gcc -m64 -march=core2 -O -fomit-frame-pointer2012032920120316
16084asm64gcc -m64 -march=core-avx-i -O -fomit-frame-pointer2012032920120316
16092asm64gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2012032920120316
16092asm64gcc -m64 -march=corei7-avx -O -fomit-frame-pointer2012032920120316
16096asm64gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2012032920120316
16104asm64gcc -fno-schedule-insns -O -fomit-frame-pointer2012032920120316
16116asm64gcc -m64 -march=corei7 -O -fomit-frame-pointer2012032920120316
16144opt64gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2012032920120316
16152asm64gcc -march=nocona -O2 -fomit-frame-pointer2012032920120316
16156opt64gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2012032920120316
16172asm64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2012032920120316
16220asm64gcc -march=barcelona -O3 -fomit-frame-pointer2012032920120316
16288asm64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2012032920120316
16296asm64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2012032920120316
16320asm64gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2012032920120316
16340asm64gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2012032920120316
16348asm64gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2012032920120316
16356asm64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2012032920120316
16360asm64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2012032920120316
16368opt64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2012032920120316
16368opt64gcc -march=nocona -O3 -fomit-frame-pointer2012032920120316
16376opt64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2012032920120316
16380opt64gcc -funroll-loops -O3 -fomit-frame-pointer2012032920120316
16380opt64gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2012032920120316
16404opt64gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2012032920120316
16440opt64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2012032920120316
16448opt64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2012032920120316
16452opt64gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2012032920120316
16456asm64gcc -march=barcelona -O2 -fomit-frame-pointer2012032920120316
16460opt64gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2012032920120316
16460opt64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2012032920120316
16464opt64gcc -funroll-loops -O2 -fomit-frame-pointer2012032920120316
16464asm64gcc -march=barcelona -O -fomit-frame-pointer2012032920120316
16468opt64gcc -O3 -fomit-frame-pointer2012032920120316
16484opt64gcc -fno-schedule-insns -O3 -fomit-frame-pointer2012032920120316
16484opt64gcc -m64 -O3 -fomit-frame-pointer2012032920120316
16512asm64gcc -m64 -march=barcelona -O -fomit-frame-pointer2012032920120316
16520opt64gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2012032920120316
16520opt64gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2012032920120316
16528opt64gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2012032920120316
16528opt64gcc -m64 -march=core2 -O3 -fomit-frame-pointer2012032920120316
16532asm64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2012032920120316
16536opt64gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2012032920120316
16540opt64gcc -m64 -march=corei7 -O3 -fomit-frame-pointer2012032920120316
16584asm64gcc -m64 -march=core2 -Os -fomit-frame-pointer2012032920120316
16592opt64gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2012032920120316
16604asm64gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2012032920120316
16620asm64gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2012032920120316
16620asm64gcc -march=k8 -Os -fomit-frame-pointer2012032920120316
16624asm64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2012032920120316
16628asm64gcc -march=barcelona -Os -fomit-frame-pointer2012032920120316
16652asm64gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2012032920120316
16652asm64gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2012032920120316
16656asm64gcc -m64 -march=corei7 -Os -fomit-frame-pointer2012032920120316
16660asm64gcc -m64 -Os -fomit-frame-pointer2012032920120316
16664asm64gcc -Os -fomit-frame-pointer2012032920120316
16680asm64gcc -fno-schedule-insns -Os -fomit-frame-pointer2012032920120316
16680asm64gcc -m64 -march=k8 -Os -fomit-frame-pointer2012032920120316
16692asm64gcc -march=nocona -Os -fomit-frame-pointer2012032920120316
16712asm64gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2012032920120316
16716asm64gcc -m64 -march=nocona -Os -fomit-frame-pointer2012032920120316
16816asm64gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2012032920120316
16824asm64gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012032920120316
16824opt64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2012032920120316
16828asm64gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2012032920120316
16836opt64gcc -O2 -fomit-frame-pointer2012032920120316
16848opt64gcc -fno-schedule-insns -O2 -fomit-frame-pointer2012032920120316
16868opt64gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2012032920120316
16888opt64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2012032920120316
16888opt64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2012032920120316
16888opt64gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2012032920120316
16892asm64gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2012032920120316
16892opt64gcc -m64 -O2 -fomit-frame-pointer2012032920120316
16896opt64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2012032920120316
16896opt64gcc -m64 -march=core2 -O2 -fomit-frame-pointer2012032920120316
16896opt64gcc -march=nocona -O2 -fomit-frame-pointer2012032920120316
16900opt64gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2012032920120316
16900opt64gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2012032920120316
16904asm64gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2012032920120316
16908opt64gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2012032920120316
16912opt64gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2012032920120316
16916opt64gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2012032920120316
16920opt64gcc -march=k8 -O -fomit-frame-pointer2012032920120316
16928opt64gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2012032920120316
16932opt64gcc -m64 -march=barcelona -O -fomit-frame-pointer2012032920120316
16932opt64gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2012032920120316
16932opt64gcc -m64 -march=k8 -O -fomit-frame-pointer2012032920120316
16940opt64gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2012032920120316
16944opt64gcc -march=k8 -O3 -fomit-frame-pointer2012032920120316
16952asm64gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2012032920120316
16956asm64gcc -funroll-loops -Os -fomit-frame-pointer2012032920120316
16956opt64gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2012032920120316
16960asm64gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2012032920120316
16964opt64gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2012032920120316
16964opt64gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2012032920120316
16964opt64gcc -march=barcelona -O -fomit-frame-pointer2012032920120316
16968opt64gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2012032920120316
16968opt64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2012032920120316
16972opt64gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2012032920120316
16988asm64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2012032920120316
16996opt64gcc -march=barcelona -O3 -fomit-frame-pointer2012032920120316
17000opt64gcc -m64 -march=k8 -O3 -fomit-frame-pointer2012032920120316
17284asm64cc2012032920120316
17284asm64gcc -funroll-loops2012032920120316
17320asm64gcc2012032920120316
17332opt64gcc -march=barcelona -O2 -fomit-frame-pointer2012032920120316
17348opt64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2012032920120316
17428opt64gcc -march=k8 -O2 -fomit-frame-pointer2012032920120316
17432opt64gcc -m64 -march=k8 -O2 -fomit-frame-pointer2012032920120316
17700opt64gcc -march=nocona -Os -fomit-frame-pointer2012032920120316
17716opt64gcc -m64 -march=nocona -Os -fomit-frame-pointer2012032920120316
17724opt64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2012032920120316
17728opt64gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2012032920120316
17732opt64gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2012032920120316
17740opt64gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2012032920120316
17744opt64gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012032920120316
17748opt64gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2012032920120316
17760opt64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2012032920120316
17764opt64gcc -funroll-loops -Os -fomit-frame-pointer2012032920120316
17784opt64gcc -m64 -Os -fomit-frame-pointer2012032920120316
17788opt64gcc -fno-schedule-insns -Os -fomit-frame-pointer2012032920120316
17792opt64gcc -m64 -march=k8 -Os -fomit-frame-pointer2012032920120316
17796opt64gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2012032920120316
17796opt64gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2012032920120316
17800opt64gcc -march=k8 -Os -fomit-frame-pointer2012032920120316
17812opt64gcc -march=barcelona -Os -fomit-frame-pointer2012032920120316
17820opt64gcc -Os -fomit-frame-pointer2012032920120316
17848opt64gcc -m64 -march=core2 -Os -fomit-frame-pointer2012032920120316
17856opt64gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2012032920120316
17868opt64gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2012032920120316
17872opt64gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2012032920120316
17876opt64gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2012032920120316
17880opt64gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2012032920120316
17956opt64gcc -m64 -march=corei7 -Os -fomit-frame-pointer2012032920120316
35260opt64cc2012032920120316
35288opt64gcc -funroll-loops2012032920120316
35436opt64gcc2012032920120316

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: 34, 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=core-avx-i -O2 -fomit-frame-pointer asm64
gcc -m64 -march=core-avx-i -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-avx -O2 -fomit-frame-pointer asm64
gcc -m64 -march=corei7-avx -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 -m64 -march=native -mtune=native -O2 -fomit-frame-pointer asm64
gcc -m64 -march=native -mtune=native -O3 -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
Alarm clock

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