Implementation notes: amd64, phenom, crypto_hash/sarmal512

Computer: phenom
Architecture: amd64
CPU ID: AuthenticAMD-00100fa0-178bfbff
SUPERCOP version: 20120812
Operation: crypto_hash
Primitive: sarmal512
TimeImplementationCompilerBenchmark dateSUPERCOP version
13762opt64gcc -O -fomit-frame-pointer2012052320120521
15086opt64gcc -m64 -march=k8 -O3 -fomit-frame-pointer2012052320120521
15784opt64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2012052320120521
16013opt64gcc -m64 -march=nocona -O -fomit-frame-pointer2012052320120521
16035opt64gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2012052320120521
16051opt64gcc -funroll-loops -O -fomit-frame-pointer2012052320120521
16057opt64gcc -march=nocona -O -fomit-frame-pointer2012052320120521
16079opt64gcc -funroll-loops -m64 -O -fomit-frame-pointer2012052320120521
16107opt64gcc -m64 -O -fomit-frame-pointer2012052320120521
16112opt64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2012052320120521
16117opt64gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2012052320120521
16127opt64gcc -m64 -march=corei7 -O -fomit-frame-pointer2012052320120521
16132opt64gcc -m64 -march=core2 -O -fomit-frame-pointer2012052320120521
16132opt64gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2012052320120521
16135opt64gcc -fno-schedule-insns -O -fomit-frame-pointer2012052320120521
16247opt64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2012052320120521
16636opt64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2012052320120521
16641opt64gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2012052320120521
16643opt64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2012052320120521
16643opt64gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2012052320120521
16853opt64gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2012052320120521
16856opt64gcc -march=barcelona -O -fomit-frame-pointer2012052320120521
16874opt64gcc -m64 -march=barcelona -O -fomit-frame-pointer2012052320120521
16890opt64gcc -march=k8 -O -fomit-frame-pointer2012052320120521
16891opt64gcc -m64 -march=k8 -O -fomit-frame-pointer2012052320120521
16913asm64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2012052320120521
16924asm64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2012052320120521
16960asm64gcc -march=nocona -O3 -fomit-frame-pointer2012052320120521
16982asm64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2012052320120521
17000asm64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2012052320120521
17045asm64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2012052320120521
17070asm64gcc -march=nocona -O -fomit-frame-pointer2012052320120521
17071asm64gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2012052320120521
17076asm64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2012052320120521
17091asm64gcc -march=barcelona -O3 -fomit-frame-pointer2012052320120521
17108asm64gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2012052320120521
17115asm64gcc -m64 -march=nocona -O -fomit-frame-pointer2012052320120521
17140asm64gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2012052320120521
17141asm64gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2012052320120521
17160asm64gcc -march=nocona -O2 -fomit-frame-pointer2012052320120521
17167asm64gcc -m64 -march=core2 -O -fomit-frame-pointer2012052320120521
17169asm64gcc -m64 -march=corei7 -O -fomit-frame-pointer2012052320120521
17170asm64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2012052320120521
17184asm64gcc -march=barcelona -O2 -fomit-frame-pointer2012052320120521
17191asm64gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2012052320120521
17206asm64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2012052320120521
17211asm64gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2012052320120521
17216asm64gcc -O -fomit-frame-pointer2012052320120521
17224asm64gcc -m64 -O -fomit-frame-pointer2012052320120521
17230asm64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2012052320120521
17230asm64gcc -m64 -march=barcelona -O -fomit-frame-pointer2012052320120521
17230asm64gcc -march=barcelona -O -fomit-frame-pointer2012052320120521
17301opt64gcc -funroll-loops -O3 -fomit-frame-pointer2012052320120521
17301opt64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2012052320120521
17311opt64gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2012052320120521
17318opt64gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2012052320120521
17334opt64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2012052320120521
17351opt64gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2012052320120521
17353opt64gcc -m64 -march=core2 -O3 -fomit-frame-pointer2012052320120521
17362opt64gcc -funroll-loops -O2 -fomit-frame-pointer2012052320120521
17385opt64gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2012052320120521
17451asm64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2012052320120521
17455asm64gcc -funroll-loops -Os -fomit-frame-pointer2012052320120521
17462asm64gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2012052320120521
17463opt64gcc -fno-schedule-insns -O3 -fomit-frame-pointer2012052320120521
17464asm64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2012052320120521
17465opt64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2012052320120521
17470opt64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2012052320120521
17472asm64gcc -m64 -march=k8 -Os -fomit-frame-pointer2012052320120521
17472asm64gcc -march=k8 -Os -fomit-frame-pointer2012052320120521
17473asm64gcc -m64 -march=core2 -Os -fomit-frame-pointer2012052320120521
17476opt64gcc -march=nocona -O3 -fomit-frame-pointer2012052320120521
17486opt64gcc -m64 -O3 -fomit-frame-pointer2012052320120521
17486asm64gcc -m64 -march=corei7 -Os -fomit-frame-pointer2012052320120521
17496asm64gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2012052320120521
17511opt64gcc -O3 -fomit-frame-pointer2012052320120521
17513asm64gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2012052320120521
17514asm64gcc -march=barcelona -Os -fomit-frame-pointer2012052320120521
17520asm64gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2012052320120521
17583asm64gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2012052320120521
17584opt64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2012052320120521
17608asm64gcc -m64 -Os -fomit-frame-pointer2012052320120521
17703asm64gcc -march=nocona -Os -fomit-frame-pointer2012052320120521
17710opt64gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2012052320120521
17726opt64gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2012052320120521
17740opt64gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2012052320120521
17745opt64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2012052320120521
17745opt64gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2012052320120521
17754opt64gcc -march=barcelona -O3 -fomit-frame-pointer2012052320120521
17774opt64gcc -march=k8 -O3 -fomit-frame-pointer2012052320120521
17780opt64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2012052320120521
17831opt64gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2012052320120521
17840opt64gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2012052320120521
17864opt64gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2012052320120521
18001opt64gcc -m64 -march=core2 -O2 -fomit-frame-pointer2012052320120521
18004opt64gcc -m64 -O2 -fomit-frame-pointer2012052320120521
18017opt64gcc -fno-schedule-insns -O2 -fomit-frame-pointer2012052320120521
18018opt64gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2012052320120521
18041opt64gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2012052320120521
18042opt64gcc -O2 -fomit-frame-pointer2012052320120521
18050opt64gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2012052320120521
18094opt64gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2012052320120521
18293opt64gcc -march=barcelona -O2 -fomit-frame-pointer2012052320120521
18312asm64gcc -funroll-loops2012052320120521
18321opt64gcc -m64 -march=k8 -O2 -fomit-frame-pointer2012052320120521
18338opt64gcc -march=k8 -O2 -fomit-frame-pointer2012052320120521
18340opt64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2012052320120521
18340opt64gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2012052320120521
18386asm64gcc2012052320120521
18619opt64gcc -march=nocona -O2 -fomit-frame-pointer2012052320120521
19044opt64gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2012052320120521
19080opt64gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012052320120521
19087opt64gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2012052320120521
19098opt64gcc -funroll-loops -Os -fomit-frame-pointer2012052320120521
19100opt64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2012052320120521
19110opt64gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2012052320120521
19232opt64gcc -march=nocona -Os -fomit-frame-pointer2012052320120521
19242opt64gcc -fno-schedule-insns -Os -fomit-frame-pointer2012052320120521
19243opt64gcc -m64 -march=corei7 -Os -fomit-frame-pointer2012052320120521
19252opt64gcc -m64 -march=nocona -Os -fomit-frame-pointer2012052320120521
19262opt64gcc -Os -fomit-frame-pointer2012052320120521
19262opt64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2012052320120521
19262opt64gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2012052320120521
19274opt64gcc -m64 -march=k8 -Os -fomit-frame-pointer2012052320120521
19276opt64gcc -march=k8 -Os -fomit-frame-pointer2012052320120521
19284opt64gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2012052320120521
19299opt64gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2012052320120521
19299opt64gcc -m64 -Os -fomit-frame-pointer2012052320120521
19301opt64gcc -m64 -march=core2 -Os -fomit-frame-pointer2012052320120521
19336opt64gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2012052320120521
19367opt64gcc -march=barcelona -Os -fomit-frame-pointer2012052320120521
19371opt64gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2012052320120521
19600opt64gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2012052320120521
19932asm64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2012052320120521
20003asm64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2012052320120521
20006asm64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2012052320120521
20103asm64gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2012052320120521
20172asm64gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2012052320120521
20195asm64gcc -fno-schedule-insns -O -fomit-frame-pointer2012052320120521
20503asm64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2012052320120521
20562asm64gcc -fno-schedule-insns -Os -fomit-frame-pointer2012052320120521
20566asm64gcc -Os -fomit-frame-pointer2012052320120521
20594asm64gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2012052320120521
20621asm64gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2012052320120521
20638asm64gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2012052320120521
20743asm64gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2012052320120521
20746asm64gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012052320120521
20890asm64gcc -m64 -march=nocona -Os -fomit-frame-pointer2012052320120521
21581asm64cc2012052320120521
43085opt64gcc2012052320120521
43088opt64cc2012052320120521
43089opt64gcc -funroll-loops2012052320120521

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: 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/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