Implementation notes: amd64, bridge, crypto_hash/sarmal512

Computer: bridge
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20120928
Operation: crypto_hash
Primitive: sarmal512
TimeImplementationCompilerBenchmark dateSUPERCOP version
15848asm64gcc -march=nocona -O3 -fomit-frame-pointer2012012620120120
15888asm64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2012012620120120
15924asm64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2012012620120120
15924asm64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2012012620120120
15948asm64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2012012620120120
15952asm64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2012012620120120
15968opt64gcc -march=nocona -O -fomit-frame-pointer2012012620120120
15972opt64gcc -funroll-loops -O -fomit-frame-pointer2012012620120120
15976opt64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2012012620120120
15976opt64gcc -m64 -march=nocona -O -fomit-frame-pointer2012012620120120
15980opt64gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2012012620120120
15988opt64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2012012620120120
15988asm64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2012012620120120
15996asm64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2012012620120120
15996opt64gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2012012620120120
15996opt64gcc -m64 -march=corei7-avx -O -fomit-frame-pointer2012012620120120
16000opt64gcc -m64 -march=core2 -O -fomit-frame-pointer2012012620120120
16004opt64gcc -m64 -O -fomit-frame-pointer2012012620120120
16008opt64gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2012012620120120
16008opt64gcc -m64 -march=corei7 -O -fomit-frame-pointer2012012620120120
16012opt64gcc -m64 -march=core-avx-i -O -fomit-frame-pointer2012012620120120
16012opt64gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2012012620120120
16016opt64gcc -fno-schedule-insns -O -fomit-frame-pointer2012012620120120
16028opt64gcc -funroll-loops -m64 -O -fomit-frame-pointer2012012620120120
16044opt64gcc -O -fomit-frame-pointer2012012620120120
16048asm64gcc -march=nocona -O -fomit-frame-pointer2012012620120120
16064asm64gcc -m64 -march=nocona -O -fomit-frame-pointer2012012620120120
16072asm64gcc -m64 -O -fomit-frame-pointer2012012620120120
16080asm64gcc -m64 -march=corei7 -O -fomit-frame-pointer2012012620120120
16084asm64gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2012012620120120
16084asm64gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2012012620120120
16088asm64gcc -m64 -march=core-avx-i -O -fomit-frame-pointer2012012620120120
16096asm64gcc -m64 -march=corei7-avx -O -fomit-frame-pointer2012012620120120
16100asm64gcc -m64 -march=core2 -O -fomit-frame-pointer2012012620120120
16104asm64gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2012012620120120
16108asm64gcc -O -fomit-frame-pointer2012012620120120
16108asm64gcc -fno-schedule-insns -O -fomit-frame-pointer2012012620120120
16148asm64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2012012620120120
16196asm64gcc -march=nocona -O2 -fomit-frame-pointer2012012620120120
16208asm64gcc -march=barcelona -O3 -fomit-frame-pointer2012012620120120
16216asm64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2012012620120120
16316asm64gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2012012620120120
16324asm64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2012012620120120
16336asm64gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2012012620120120
16368asm64gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2012012620120120
16368opt64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2012012620120120
16372asm64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2012012620120120
16372opt64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2012012620120120
16372opt64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2012012620120120
16380opt64gcc -march=nocona -O3 -fomit-frame-pointer2012012620120120
16388asm64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2012012620120120
16392opt64gcc -funroll-loops -O3 -fomit-frame-pointer2012012620120120
16404opt64gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2012012620120120
16408opt64gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2012012620120120
16428opt64gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2012012620120120
16432opt64gcc -funroll-loops -O2 -fomit-frame-pointer2012012620120120
16448opt64gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2012012620120120
16452opt64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2012012620120120
16460asm64gcc -march=barcelona -O -fomit-frame-pointer2012012620120120
16464asm64gcc -march=barcelona -O2 -fomit-frame-pointer2012012620120120
16468opt64gcc -O3 -fomit-frame-pointer2012012620120120
16476asm64gcc -m64 -march=barcelona -O -fomit-frame-pointer2012012620120120
16480opt64gcc -fno-schedule-insns -O3 -fomit-frame-pointer2012012620120120
16480opt64gcc -m64 -O3 -fomit-frame-pointer2012012620120120
16484opt64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2012012620120120
16504asm64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2012012620120120
16504opt64gcc -m64 -march=core2 -O3 -fomit-frame-pointer2012012620120120
16516opt64gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2012012620120120
16520opt64gcc -m64 -march=corei7 -O3 -fomit-frame-pointer2012012620120120
16528opt64gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2012012620120120
16528opt64gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2012012620120120
16532opt64gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2012012620120120
16540opt64gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2012012620120120
16588asm64gcc -m64 -march=core2 -Os -fomit-frame-pointer2012012620120120
16596asm64gcc -fno-schedule-insns -Os -fomit-frame-pointer2012012620120120
16648asm64gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2012012620120120
16652asm64gcc -Os -fomit-frame-pointer2012012620120120
16652asm64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2012012620120120
16652asm64gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2012012620120120
16652asm64gcc -m64 -march=k8 -Os -fomit-frame-pointer2012012620120120
16656asm64gcc -m64 -Os -fomit-frame-pointer2012012620120120
16656asm64gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2012012620120120
16656asm64gcc -march=barcelona -Os -fomit-frame-pointer2012012620120120
16668asm64gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2012012620120120
16672asm64gcc -m64 -march=corei7 -Os -fomit-frame-pointer2012012620120120
16700asm64gcc -march=nocona -Os -fomit-frame-pointer2012012620120120
16720asm64gcc -march=k8 -Os -fomit-frame-pointer2012012620120120
16724asm64gcc -m64 -march=nocona -Os -fomit-frame-pointer2012012620120120
16784asm64gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2012012620120120
16816opt64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2012012620120120
16832opt64gcc -m64 -O2 -fomit-frame-pointer2012012620120120
16832opt64gcc -march=nocona -O2 -fomit-frame-pointer2012012620120120
16844asm64gcc -funroll-loops -Os -fomit-frame-pointer2012012620120120
16848opt64gcc -O2 -fomit-frame-pointer2012012620120120
16860opt64gcc -fno-schedule-insns -O2 -fomit-frame-pointer2012012620120120
16864asm64gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2012012620120120
16864opt64gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2012012620120120
16868opt64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2012012620120120
16876asm64gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2012012620120120
16876asm64gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2012012620120120
16880opt64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2012012620120120
16880opt64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2012012620120120
16880asm64gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2012012620120120
16880opt64gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2012012620120120
16884asm64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2012012620120120
16884asm64gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2012012620120120
16892opt64gcc -m64 -march=core2 -O2 -fomit-frame-pointer2012012620120120
16896opt64gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2012012620120120
16908asm64gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2012012620120120
16908opt64gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2012012620120120
16908opt64gcc -march=barcelona -O -fomit-frame-pointer2012012620120120
16912opt64gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2012012620120120
16916opt64gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2012012620120120
16920opt64gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2012012620120120
16920opt64gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2012012620120120
16924opt64gcc -m64 -march=k8 -O -fomit-frame-pointer2012012620120120
16932opt64gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2012012620120120
16948asm64gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012012620120120
16948opt64gcc -m64 -march=barcelona -O -fomit-frame-pointer2012012620120120
16952opt64gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2012012620120120
16952opt64gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2012012620120120
16956opt64gcc -march=k8 -O -fomit-frame-pointer2012012620120120
16964opt64gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2012012620120120
16968opt64gcc -march=barcelona -O3 -fomit-frame-pointer2012012620120120
16972opt64gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2012012620120120
16972opt64gcc -m64 -march=k8 -O3 -fomit-frame-pointer2012012620120120
16980opt64gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2012012620120120
16980opt64gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2012012620120120
16996opt64gcc -march=k8 -O3 -fomit-frame-pointer2012012620120120
17008opt64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2012012620120120
17292asm64gcc -funroll-loops2012012620120120
17296asm64gcc2012012620120120
17332asm64cc2012012620120120
17332opt64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2012012620120120
17336opt64gcc -march=barcelona -O2 -fomit-frame-pointer2012012620120120
17392opt64gcc -march=k8 -O2 -fomit-frame-pointer2012012620120120
17432opt64gcc -m64 -march=k8 -O2 -fomit-frame-pointer2012012620120120
17700opt64gcc -m64 -march=nocona -Os -fomit-frame-pointer2012012620120120
17700opt64gcc -march=nocona -Os -fomit-frame-pointer2012012620120120
17720opt64gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2012012620120120
17728opt64gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2012012620120120
17732opt64gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2012012620120120
17732opt64gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2012012620120120
17752opt64gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2012012620120120
17756opt64gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2012012620120120
17760opt64gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012012620120120
17760opt64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2012012620120120
17772opt64gcc -march=k8 -Os -fomit-frame-pointer2012012620120120
17780opt64gcc -funroll-loops -Os -fomit-frame-pointer2012012620120120
17784opt64gcc -m64 -Os -fomit-frame-pointer2012012620120120
17788opt64gcc -fno-schedule-insns -Os -fomit-frame-pointer2012012620120120
17788opt64gcc -m64 -march=k8 -Os -fomit-frame-pointer2012012620120120
17788opt64gcc -march=barcelona -Os -fomit-frame-pointer2012012620120120
17800opt64gcc -Os -fomit-frame-pointer2012012620120120
17820opt64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2012012620120120
17848opt64gcc -m64 -march=corei7 -Os -fomit-frame-pointer2012012620120120
17868opt64gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2012012620120120
17868opt64gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2012012620120120
17876opt64gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2012012620120120
17876opt64gcc -m64 -march=core2 -Os -fomit-frame-pointer2012012620120120
17876opt64gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2012012620120120
17900opt64gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2012012620120120
35272opt64cc2012012620120120
35308opt64gcc -funroll-loops2012012620120120
35360opt64gcc2012012620120120

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