Implementation notes: amd64, khazaddum, crypto_hash/sarmal512

Computer: khazaddum
Architecture: amd64
CPU ID: GenuineIntel-000306a9-bfebfbff
SUPERCOP version: 20120928
Operation: crypto_hash
Primitive: sarmal512
TimeImplementationCompilerBenchmark dateSUPERCOP version
12972asm64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2012101620120928
12976asm64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2012101620120928
12976asm64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2012101620120928
12996asm64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2012101620120928
13032asm64gcc -march=nocona -O3 -fomit-frame-pointer2012101620120928
13040asm64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2012101620120928
13040asm64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2012101620120928
13052asm64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2012101620120928
13056asm64gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2012101620120928
13060asm64gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2012101620120928
13060asm64gcc -m64 -march=corei7 -O -fomit-frame-pointer2012101620120928
13064asm64gcc -fno-schedule-insns -O -fomit-frame-pointer2012101620120928
13068asm64gcc -m64 -march=core2 -O -fomit-frame-pointer2012101620120928
13068asm64gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2012101620120928
13072asm64gcc -O -fomit-frame-pointer2012101620120928
13072asm64gcc -m64 -march=core-avx-i -O -fomit-frame-pointer2012101620120928
13080asm64gcc -m64 -O -fomit-frame-pointer2012101620120928
13080asm64gcc -m64 -march=corei7-avx -O -fomit-frame-pointer2012101620120928
13104asm64gcc -m64 -march=nocona -O -fomit-frame-pointer2012101620120928
13104asm64gcc -march=nocona -O -fomit-frame-pointer2012101620120928
13152asm64gcc -march=nocona -O2 -fomit-frame-pointer2012101620120928
13224asm64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2012101620120928
13252asm64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2012101620120928
13260asm64gcc -march=barcelona -O3 -fomit-frame-pointer2012101620120928
13280asm64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2012101620120928
13344asm64gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2012101620120928
13348asm64gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2012101620120928
13372asm64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2012101620120928
13376asm64gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2012101620120928
13392asm64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2012101620120928
13464asm64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2012101620120928
13512asm64gcc -march=barcelona -O2 -fomit-frame-pointer2012101620120928
13524asm64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2012101620120928
13536asm64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2012101620120928
13564asm64gcc -m64 -march=barcelona -O -fomit-frame-pointer2012101620120928
13568asm64gcc -march=barcelona -O -fomit-frame-pointer2012101620120928
13572asm64gcc -m64 -march=barcelona -O -fomit-frame-pointer2012101620120928
13676opt64gcc -funroll-loops -O -fomit-frame-pointer2012101620120928
13676opt64gcc -funroll-loops -m64 -O -fomit-frame-pointer2012101620120928
13680opt64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2012101620120928
13680asm64gcc -m64 -march=nocona -Os -fomit-frame-pointer2012101620120928
13688opt64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2012101620120928
13704opt64gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2012101620120928
13724asm64gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2012101620120928
13728asm64gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2012101620120928
13728opt64gcc -march=nocona -O -fomit-frame-pointer2012101620120928
13732opt64gcc -m64 -march=nocona -O -fomit-frame-pointer2012101620120928
13736asm64gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2012101620120928
13748asm64gcc -m64 -Os -fomit-frame-pointer2012101620120928
13752opt64gcc -O -fomit-frame-pointer2012101620120928
13752opt64gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2012101620120928
13756opt64gcc -m64 -O -fomit-frame-pointer2012101620120928
13756opt64gcc -m64 -march=core-avx-i -O -fomit-frame-pointer2012101620120928
13756asm64gcc -m64 -march=core2 -Os -fomit-frame-pointer2012101620120928
13760opt64gcc -m64 -march=corei7 -O -fomit-frame-pointer2012101620120928
13764asm64gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2012101620120928
13768opt64gcc -m64 -march=corei7-avx -O -fomit-frame-pointer2012101620120928
13768asm64gcc -m64 -march=corei7 -Os -fomit-frame-pointer2012101620120928
13772opt64gcc -fno-schedule-insns -O -fomit-frame-pointer2012101620120928
13772opt64gcc -m64 -march=core2 -O -fomit-frame-pointer2012101620120928
13772asm64gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2012101620120928
13776asm64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2012101620120928
13776opt64gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2012101620120928
13780asm64gcc -march=nocona -Os -fomit-frame-pointer2012101620120928
13784asm64gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2012101620120928
13792asm64gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012101620120928
13792opt64gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2012101620120928
13796asm64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2012101620120928
13800asm64gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2012101620120928
13800asm64gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2012101620120928
13804asm64gcc -Os -fomit-frame-pointer2012101620120928
13804asm64gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2012101620120928
13804asm64gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2012101620120928
13808asm64gcc -march=k8 -Os -fomit-frame-pointer2012101620120928
13812asm64gcc -m64 -march=k8 -Os -fomit-frame-pointer2012101620120928
13812asm64gcc -march=barcelona -Os -fomit-frame-pointer2012101620120928
13816asm64gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2012101620120928
13820asm64gcc -fno-schedule-insns -Os -fomit-frame-pointer2012101620120928
13824asm64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2012101620120928
13836asm64gcc -funroll-loops -Os -fomit-frame-pointer2012101620120928
13976opt64gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2012101620120928
13992opt64gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2012101620120928
14000opt64gcc -funroll-loops -O3 -fomit-frame-pointer2012101620120928
14032opt64gcc -funroll-loops -O2 -fomit-frame-pointer2012101620120928
14040opt64gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2012101620120928
14056opt64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2012101620120928
14056opt64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2012101620120928
14076opt64gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2012101620120928
14128opt64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2012101620120928
14140opt64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2012101620120928
14344opt64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2012101620120928
14344opt64gcc -march=nocona -O3 -fomit-frame-pointer2012101620120928
14388opt64gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2012101620120928
14424opt64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2012101620120928
14432opt64gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2012101620120928
14464opt64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2012101620120928
14464opt64gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2012101620120928
14472opt64gcc -O3 -fomit-frame-pointer2012101620120928
14476opt64gcc -m64 -march=core2 -O3 -fomit-frame-pointer2012101620120928
14476opt64gcc -m64 -march=corei7 -O3 -fomit-frame-pointer2012101620120928
14480opt64gcc -fno-schedule-insns -O3 -fomit-frame-pointer2012101620120928
14480opt64gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2012101620120928
14492opt64gcc -m64 -O3 -fomit-frame-pointer2012101620120928
14500opt64gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2012101620120928
14500opt64gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2012101620120928
14504opt64gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2012101620120928
14512opt64gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2012101620120928
14524opt64gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2012101620120928
14524opt64gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2012101620120928
14528opt64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2012101620120928
14552opt64gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2012101620120928
14560opt64gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2012101620120928
14560opt64gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2012101620120928
14564asm64cc2012101620120928
14568asm64gcc2012101620120928
14568asm64gcc -funroll-loops2012101620120928
14604opt64gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2012101620120928
14652opt64gcc -march=barcelona -O -fomit-frame-pointer2012101620120928
14660opt64gcc -m64 -march=barcelona -O -fomit-frame-pointer2012101620120928
14684opt64gcc -m64 -march=k8 -O -fomit-frame-pointer2012101620120928
14688opt64gcc -m64 -march=barcelona -O -fomit-frame-pointer2012101620120928
14692opt64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2012101620120928
14692opt64gcc -march=nocona -O2 -fomit-frame-pointer2012101620120928
14700opt64gcc -march=k8 -O -fomit-frame-pointer2012101620120928
14756opt64gcc -fno-schedule-insns -O2 -fomit-frame-pointer2012101620120928
14780opt64gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2012101620120928
14796opt64gcc -m64 -march=core2 -O2 -fomit-frame-pointer2012101620120928
14800opt64gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2012101620120928
14804opt64gcc -O2 -fomit-frame-pointer2012101620120928
14812opt64gcc -m64 -O2 -fomit-frame-pointer2012101620120928
14820opt64gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2012101620120928
14828opt64gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2012101620120928
14832opt64gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2012101620120928
14832opt64gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2012101620120928
14924opt64gcc -m64 -march=k8 -O3 -fomit-frame-pointer2012101620120928
14972opt64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2012101620120928
15004opt64gcc -march=barcelona -O3 -fomit-frame-pointer2012101620120928
15008opt64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2012101620120928
15012opt64gcc -march=k8 -O3 -fomit-frame-pointer2012101620120928
15328opt64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2012101620120928
15332opt64gcc -march=k8 -O2 -fomit-frame-pointer2012101620120928
15340opt64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2012101620120928
15344opt64gcc -march=barcelona -O2 -fomit-frame-pointer2012101620120928
15372opt64gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2012101620120928
15372opt64gcc -m64 -march=k8 -O2 -fomit-frame-pointer2012101620120928
15380opt64gcc -funroll-loops -Os -fomit-frame-pointer2012101620120928
15380opt64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2012101620120928
15392opt64gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2012101620120928
15392opt64gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2012101620120928
15400opt64gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2012101620120928
15428opt64gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012101620120928
15516opt64gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2012101620120928
15524opt64gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2012101620120928
15724opt64gcc -m64 -march=nocona -Os -fomit-frame-pointer2012101620120928
15748opt64gcc -march=nocona -Os -fomit-frame-pointer2012101620120928
15840opt64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2012101620120928
15852opt64gcc -fno-schedule-insns -Os -fomit-frame-pointer2012101620120928
15856opt64gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2012101620120928
15860opt64gcc -march=barcelona -Os -fomit-frame-pointer2012101620120928
15868opt64gcc -m64 -march=k8 -Os -fomit-frame-pointer2012101620120928
15868opt64gcc -march=k8 -Os -fomit-frame-pointer2012101620120928
15872opt64gcc -m64 -march=corei7 -Os -fomit-frame-pointer2012101620120928
15884opt64gcc -Os -fomit-frame-pointer2012101620120928
15884opt64gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2012101620120928
15888opt64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2012101620120928
15892opt64gcc -m64 -march=core2 -Os -fomit-frame-pointer2012101620120928
15892opt64gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2012101620120928
15900opt64gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2012101620120928
15908opt64gcc -m64 -Os -fomit-frame-pointer2012101620120928
15908opt64gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2012101620120928
33156opt64gcc -funroll-loops2012101620120928
33160opt64gcc2012101620120928
33164opt64cc2012101620120928

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