Implementation notes: amd64, khazaddum, crypto_hash/sarmal256

Computer: khazaddum
Architecture: amd64
CPU ID: GenuineIntel-000306a9-bfebfbff
SUPERCOP version: 20120928
Operation: crypto_hash
Primitive: sarmal256
TimeImplementationCompilerBenchmark dateSUPERCOP version
10592asm64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2012101620120928
10592asm64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2012101620120928
10612asm64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2012101620120928
10616asm64gcc -march=nocona -O3 -fomit-frame-pointer2012101620120928
10644asm64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2012101620120928
10652asm64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2012101620120928
10656asm64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2012101620120928
10664asm64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2012101620120928
10744asm64gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2012101620120928
10748asm64gcc -m64 -march=corei7 -O -fomit-frame-pointer2012101620120928
10756asm64gcc -m64 -march=core-avx-i -O -fomit-frame-pointer2012101620120928
10756asm64gcc -m64 -march=core2 -O -fomit-frame-pointer2012101620120928
10760asm64gcc -O -fomit-frame-pointer2012101620120928
10760asm64gcc -fno-schedule-insns -O -fomit-frame-pointer2012101620120928
10764asm64gcc -m64 -march=corei7-avx -O -fomit-frame-pointer2012101620120928
10768asm64gcc -m64 -O -fomit-frame-pointer2012101620120928
10768asm64gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2012101620120928
10768asm64gcc -march=nocona -O2 -fomit-frame-pointer2012101620120928
10772asm64gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2012101620120928
10776asm64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2012101620120928
10796asm64gcc -m64 -march=nocona -O -fomit-frame-pointer2012101620120928
10812asm64gcc -march=nocona -O -fomit-frame-pointer2012101620120928
10888asm64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2012101620120928
10896asm64gcc -march=barcelona -O3 -fomit-frame-pointer2012101620120928
10916asm64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2012101620120928
11036asm64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2012101620120928
11048asm64gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2012101620120928
11052asm64gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2012101620120928
11052asm64gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2012101620120928
11084asm64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2012101620120928
11088asm64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2012101620120928
11100asm64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2012101620120928
11124asm64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2012101620120928
11168asm64gcc -march=barcelona -O2 -fomit-frame-pointer2012101620120928
11228opt64gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2012101620120928
11236opt64gcc -funroll-loops -m64 -O -fomit-frame-pointer2012101620120928
11240opt64gcc -funroll-loops -O -fomit-frame-pointer2012101620120928
11244opt64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2012101620120928
11264opt64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2012101620120928
11300asm64gcc -m64 -march=barcelona -O -fomit-frame-pointer2012101620120928
11308asm64gcc -m64 -march=barcelona -O -fomit-frame-pointer2012101620120928
11308asm64gcc -march=barcelona -O -fomit-frame-pointer2012101620120928
11312asm64gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2012101620120928
11328asm64gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2012101620120928
11332asm64gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012101620120928
11332asm64gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2012101620120928
11332asm64gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2012101620120928
11332asm64gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2012101620120928
11336asm64gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2012101620120928
11336asm64gcc -m64 -march=core2 -Os -fomit-frame-pointer2012101620120928
11344asm64gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2012101620120928
11352asm64gcc -m64 -march=corei7 -Os -fomit-frame-pointer2012101620120928
11352asm64gcc -march=barcelona -Os -fomit-frame-pointer2012101620120928
11356asm64gcc -m64 -march=nocona -Os -fomit-frame-pointer2012101620120928
11360asm64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2012101620120928
11360asm64gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2012101620120928
11364asm64gcc -funroll-loops -Os -fomit-frame-pointer2012101620120928
11364asm64gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2012101620120928
11368asm64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2012101620120928
11372asm64gcc -Os -fomit-frame-pointer2012101620120928
11376asm64gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2012101620120928
11380asm64gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2012101620120928
11388opt64gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2012101620120928
11388asm64gcc -m64 -Os -fomit-frame-pointer2012101620120928
11396asm64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2012101620120928
11396asm64gcc -m64 -march=k8 -Os -fomit-frame-pointer2012101620120928
11400opt64gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2012101620120928
11404opt64gcc -funroll-loops -O3 -fomit-frame-pointer2012101620120928
11404asm64gcc -march=k8 -Os -fomit-frame-pointer2012101620120928
11408asm64gcc -fno-schedule-insns -Os -fomit-frame-pointer2012101620120928
11424asm64gcc -march=nocona -Os -fomit-frame-pointer2012101620120928
11460opt64gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2012101620120928
11476opt64gcc -funroll-loops -O2 -fomit-frame-pointer2012101620120928
11484opt64gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2012101620120928
11516opt64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2012101620120928
11528opt64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2012101620120928
11544opt64gcc -m64 -march=nocona -O -fomit-frame-pointer2012101620120928
11560opt64gcc -march=nocona -O -fomit-frame-pointer2012101620120928
11572opt64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2012101620120928
11576opt64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2012101620120928
11588opt64gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2012101620120928
11592opt64gcc -m64 -march=core-avx-i -O -fomit-frame-pointer2012101620120928
11592opt64gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2012101620120928
11596opt64gcc -O -fomit-frame-pointer2012101620120928
11600opt64gcc -m64 -O -fomit-frame-pointer2012101620120928
11604opt64gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2012101620120928
11608opt64gcc -fno-schedule-insns -O -fomit-frame-pointer2012101620120928
11620opt64gcc -m64 -march=core2 -O -fomit-frame-pointer2012101620120928
11620opt64gcc -m64 -march=corei7-avx -O -fomit-frame-pointer2012101620120928
11620opt64gcc -m64 -march=corei7 -O -fomit-frame-pointer2012101620120928
11704opt64gcc -march=nocona -O3 -fomit-frame-pointer2012101620120928
11712opt64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2012101620120928
11796opt64gcc -fno-schedule-insns -O3 -fomit-frame-pointer2012101620120928
11796opt64gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2012101620120928
11804opt64gcc -m64 -march=corei7 -O3 -fomit-frame-pointer2012101620120928
11812opt64gcc -m64 -O3 -fomit-frame-pointer2012101620120928
11812opt64gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2012101620120928
11816opt64gcc -m64 -march=core2 -O3 -fomit-frame-pointer2012101620120928
11816opt64gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2012101620120928
11820opt64gcc -O3 -fomit-frame-pointer2012101620120928
11824opt64gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2012101620120928
11840opt64gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2012101620120928
11860opt64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2012101620120928
11888opt64gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2012101620120928
11892opt64gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2012101620120928
11896opt64gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2012101620120928
11912opt64gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2012101620120928
11912opt64gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2012101620120928
11924opt64gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2012101620120928
11940opt64gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2012101620120928
11988opt64gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2012101620120928
12040opt64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2012101620120928
12040opt64gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2012101620120928
12040opt64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2012101620120928
12120opt64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2012101620120928
12136opt64gcc -march=nocona -O2 -fomit-frame-pointer2012101620120928
12208asm64cc2012101620120928
12208opt64gcc -O2 -fomit-frame-pointer2012101620120928
12212asm64gcc2012101620120928
12212opt64gcc -fno-schedule-insns -O2 -fomit-frame-pointer2012101620120928
12216opt64gcc -m64 -O2 -fomit-frame-pointer2012101620120928
12216opt64gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2012101620120928
12236asm64gcc -funroll-loops2012101620120928
12236opt64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2012101620120928
12236opt64gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2012101620120928
12240opt64gcc -m64 -march=core2 -O2 -fomit-frame-pointer2012101620120928
12252opt64gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2012101620120928
12256opt64gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2012101620120928
12260opt64gcc -march=barcelona -O3 -fomit-frame-pointer2012101620120928
12264opt64gcc -march=k8 -O3 -fomit-frame-pointer2012101620120928
12268opt64gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2012101620120928
12268opt64gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2012101620120928
12292opt64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2012101620120928
12320opt64gcc -m64 -march=k8 -O3 -fomit-frame-pointer2012101620120928
12488opt64gcc -m64 -march=barcelona -O -fomit-frame-pointer2012101620120928
12512opt64gcc -m64 -march=k8 -O -fomit-frame-pointer2012101620120928
12516opt64gcc -m64 -march=barcelona -O -fomit-frame-pointer2012101620120928
12516opt64gcc -march=barcelona -O -fomit-frame-pointer2012101620120928
12516opt64gcc -march=k8 -O -fomit-frame-pointer2012101620120928
12708opt64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2012101620120928
12716opt64gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2012101620120928
12720opt64gcc -march=barcelona -O2 -fomit-frame-pointer2012101620120928
12724opt64gcc -funroll-loops -Os -fomit-frame-pointer2012101620120928
12724opt64gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012101620120928
12728opt64gcc -march=k8 -O2 -fomit-frame-pointer2012101620120928
12736opt64gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2012101620120928
12736opt64gcc -m64 -march=k8 -O2 -fomit-frame-pointer2012101620120928
12740opt64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2012101620120928
12748opt64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2012101620120928
12748opt64gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2012101620120928
12768opt64gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2012101620120928
12904opt64gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2012101620120928
12908opt64gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2012101620120928
13120opt64gcc -march=nocona -Os -fomit-frame-pointer2012101620120928
13144opt64gcc -m64 -march=nocona -Os -fomit-frame-pointer2012101620120928
13204opt64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2012101620120928
13212opt64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2012101620120928
13212opt64gcc -m64 -march=k8 -Os -fomit-frame-pointer2012101620120928
13216opt64gcc -fno-schedule-insns -Os -fomit-frame-pointer2012101620120928
13220opt64gcc -Os -fomit-frame-pointer2012101620120928
13224opt64gcc -m64 -Os -fomit-frame-pointer2012101620120928
13228opt64gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2012101620120928
13228opt64gcc -march=barcelona -Os -fomit-frame-pointer2012101620120928
13240opt64gcc -m64 -march=core2 -Os -fomit-frame-pointer2012101620120928
13240opt64gcc -march=k8 -Os -fomit-frame-pointer2012101620120928
13256opt64gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2012101620120928
13256opt64gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2012101620120928
13288opt64gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2012101620120928
13292opt64gcc -m64 -march=corei7 -Os -fomit-frame-pointer2012101620120928
13300opt64gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2012101620120928
27348opt64gcc2012101620120928
27384opt64cc2012101620120928
27384opt64gcc -funroll-loops2012101620120928

Checksum failure

Implementation: crypto_hash/sarmal256/asm64
Compiler: gcc -m64 -march=k8 -O2 -fomit-frame-pointer
3eb9be88f1271c693d908177f324500a7befe6930fdff907df8c1fffbd8fe0ba
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/sarmal256/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/sarmal256/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/sarmal256/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