Implementation notes: amd64, phenom, crypto_hash/sarmal256

Computer: phenom
Architecture: amd64
CPU ID: AuthenticAMD-00100fa0-178bfbff
SUPERCOP version: 20120812
Operation: crypto_hash
Primitive: sarmal256
TimeImplementationCompilerBenchmark dateSUPERCOP version
11504opt64gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2012052320120521
11561opt64gcc -m64 -march=corei7 -O -fomit-frame-pointer2012052320120521
12846opt64gcc -fno-schedule-insns -O2 -fomit-frame-pointer2012052320120521
13106opt64gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2012052320120521
13111opt64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2012052320120521
13118opt64gcc -funroll-loops -m64 -O -fomit-frame-pointer2012052320120521
13127opt64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2012052320120521
13433opt64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2012052320120521
13462opt64gcc -funroll-loops -O -fomit-frame-pointer2012052320120521
13464opt64gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2012052320120521
13472opt64gcc -m64 -march=nocona -O -fomit-frame-pointer2012052320120521
13477opt64gcc -march=nocona -O -fomit-frame-pointer2012052320120521
13480opt64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2012052320120521
13576opt64gcc -m64 -O -fomit-frame-pointer2012052320120521
13608opt64gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2012052320120521
13615opt64gcc -fno-schedule-insns -O -fomit-frame-pointer2012052320120521
13615opt64gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2012052320120521
13618opt64gcc -m64 -march=core2 -O -fomit-frame-pointer2012052320120521
13620opt64gcc -O -fomit-frame-pointer2012052320120521
13871asm64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2012052320120521
13875asm64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2012052320120521
13923asm64gcc -march=nocona -O -fomit-frame-pointer2012052320120521
13933opt64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2012052320120521
13972asm64gcc -m64 -march=nocona -O -fomit-frame-pointer2012052320120521
13977opt64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2012052320120521
13987asm64gcc -march=barcelona -O3 -fomit-frame-pointer2012052320120521
14015asm64gcc -O -fomit-frame-pointer2012052320120521
14016asm64gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2012052320120521
14036asm64gcc -m64 -O -fomit-frame-pointer2012052320120521
14055opt64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2012052320120521
14061opt64gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2012052320120521
14063opt64gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2012052320120521
14070opt64gcc -funroll-loops -O3 -fomit-frame-pointer2012052320120521
14098asm64gcc -m64 -march=corei7 -O -fomit-frame-pointer2012052320120521
14105opt64gcc -funroll-loops -O2 -fomit-frame-pointer2012052320120521
14130opt64gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2012052320120521
14139opt64gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2012052320120521
14157asm64gcc -march=barcelona -O -fomit-frame-pointer2012052320120521
14160asm64gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2012052320120521
14166opt64gcc -march=nocona -O3 -fomit-frame-pointer2012052320120521
14181opt64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2012052320120521
14182opt64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2012052320120521
14196opt64gcc -m64 -march=barcelona -O -fomit-frame-pointer2012052320120521
14205opt64gcc -m64 -march=k8 -O -fomit-frame-pointer2012052320120521
14226opt64gcc -march=barcelona -O -fomit-frame-pointer2012052320120521
14242opt64gcc -march=k8 -O -fomit-frame-pointer2012052320120521
14265opt64gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2012052320120521
14275opt64gcc -m64 -march=core2 -O3 -fomit-frame-pointer2012052320120521
14296opt64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2012052320120521
14314opt64gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2012052320120521
14319opt64gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2012052320120521
14338opt64gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2012052320120521
14342opt64gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2012052320120521
14344asm64gcc -m64 -Os -fomit-frame-pointer2012052320120521
14363opt64gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2012052320120521
14366opt64gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2012052320120521
14371opt64gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2012052320120521
14382asm64gcc -fno-schedule-insns -Os -fomit-frame-pointer2012052320120521
14386asm64gcc -Os -fomit-frame-pointer2012052320120521
14423opt64gcc -m64 -O3 -fomit-frame-pointer2012052320120521
14426opt64gcc -fno-schedule-insns -O3 -fomit-frame-pointer2012052320120521
14476opt64gcc -O3 -fomit-frame-pointer2012052320120521
14491asm64gcc -march=k8 -Os -fomit-frame-pointer2012052320120521
14500asm64gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2012052320120521
14562opt64gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2012052320120521
14606opt64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2012052320120521
14624opt64gcc -m64 -march=k8 -O3 -fomit-frame-pointer2012052320120521
14633opt64gcc -march=k8 -O3 -fomit-frame-pointer2012052320120521
14819opt64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2012052320120521
14850opt64gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2012052320120521
14852opt64gcc -march=barcelona -O3 -fomit-frame-pointer2012052320120521
14882opt64gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2012052320120521
14886opt64gcc -m64 -march=core2 -O2 -fomit-frame-pointer2012052320120521
14920opt64gcc -march=nocona -O2 -fomit-frame-pointer2012052320120521
15053opt64gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2012052320120521
15161opt64gcc -m64 -O2 -fomit-frame-pointer2012052320120521
15218opt64gcc -O2 -fomit-frame-pointer2012052320120521
15396opt64gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2012052320120521
15399opt64gcc -march=barcelona -O2 -fomit-frame-pointer2012052320120521
15407opt64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2012052320120521
15424opt64gcc -m64 -march=k8 -O2 -fomit-frame-pointer2012052320120521
15434opt64gcc -march=k8 -O2 -fomit-frame-pointer2012052320120521
15613opt64gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2012052320120521
15620opt64gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2012052320120521
15620opt64gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2012052320120521
15680opt64gcc -funroll-loops -Os -fomit-frame-pointer2012052320120521
15696opt64gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012052320120521
15735opt64gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2012052320120521
15823opt64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2012052320120521
15833opt64gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2012052320120521
15872opt64gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2012052320120521
15950opt64gcc -m64 -march=nocona -Os -fomit-frame-pointer2012052320120521
16021opt64gcc -Os -fomit-frame-pointer2012052320120521
16044opt64gcc -fno-schedule-insns -Os -fomit-frame-pointer2012052320120521
16049opt64gcc -m64 -march=k8 -Os -fomit-frame-pointer2012052320120521
16051opt64gcc -m64 -Os -fomit-frame-pointer2012052320120521
16055opt64gcc -march=barcelona -Os -fomit-frame-pointer2012052320120521
16121opt64gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2012052320120521
16155opt64gcc -m64 -march=corei7 -Os -fomit-frame-pointer2012052320120521
16156opt64gcc -m64 -march=core2 -Os -fomit-frame-pointer2012052320120521
16156opt64gcc -march=nocona -Os -fomit-frame-pointer2012052320120521
16166opt64gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2012052320120521
16196opt64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2012052320120521
16223opt64gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2012052320120521
16245asm64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2012052320120521
16274asm64gcc -march=nocona -O3 -fomit-frame-pointer2012052320120521
16308asm64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2012052320120521
16313asm64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2012052320120521
16318asm64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2012052320120521
16388asm64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2012052320120521
16409asm64gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2012052320120521
16426asm64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2012052320120521
16434asm64gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2012052320120521
16450opt64gcc -march=k8 -Os -fomit-frame-pointer2012052320120521
16512asm64gcc -fno-schedule-insns -O -fomit-frame-pointer2012052320120521
16516asm64gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2012052320120521
16519asm64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2012052320120521
16520asm64gcc -m64 -march=core2 -O -fomit-frame-pointer2012052320120521
16538asm64gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2012052320120521
16565asm64gcc -march=nocona -O2 -fomit-frame-pointer2012052320120521
16574asm64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2012052320120521
16577asm64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2012052320120521
16580asm64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2012052320120521
16580asm64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2012052320120521
16611asm64gcc -march=barcelona -O2 -fomit-frame-pointer2012052320120521
16633asm64gcc -m64 -march=barcelona -O -fomit-frame-pointer2012052320120521
16732asm64gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2012052320120521
16744asm64gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2012052320120521
16898asm64gcc -m64 -march=corei7 -Os -fomit-frame-pointer2012052320120521
16912asm64gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2012052320120521
16919asm64gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2012052320120521
16924asm64gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012052320120521
16924asm64gcc -m64 -march=core2 -Os -fomit-frame-pointer2012052320120521
16926asm64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2012052320120521
16929asm64gcc -funroll-loops -Os -fomit-frame-pointer2012052320120521
16954asm64gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2012052320120521
16954asm64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2012052320120521
16963asm64gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2012052320120521
16992asm64gcc -march=nocona -Os -fomit-frame-pointer2012052320120521
16996asm64gcc -m64 -march=nocona -Os -fomit-frame-pointer2012052320120521
17015asm64gcc -march=barcelona -Os -fomit-frame-pointer2012052320120521
17016asm64gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2012052320120521
17077asm64gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2012052320120521
17092asm64gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2012052320120521
17099asm64gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2012052320120521
17472asm64gcc -m64 -march=k8 -Os -fomit-frame-pointer2012052320120521
17934asm64cc2012052320120521
17976asm64gcc -funroll-loops2012052320120521
17981asm64gcc2012052320120521
35689opt64gcc -funroll-loops2012052320120521
35692opt64gcc2012052320120521
35698opt64cc2012052320120521

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: 25, 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 -O2 -fomit-frame-pointer asm64
gcc -m64 -march=corei7 -O2 -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/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