Implementation notes: amd64, sandy0, crypto_hash/sarmal256

Computer: sandy0
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20130419
Operation: crypto_hash
Primitive: sarmal256
TimeImplementationCompilerBenchmark dateSUPERCOP version
12992asm64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2012032920120316
13004asm64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2012032920120316
13008opt64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2012032920120316
13012opt64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2012032920120316
13020opt64gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2012032920120316
13024opt64gcc -funroll-loops -O -fomit-frame-pointer2012032920120316
13036asm64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2012032920120316
13048asm64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2012032920120316
13056opt64gcc -funroll-loops -m64 -O -fomit-frame-pointer2012032920120316
13056asm64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2012032920120316
13060asm64gcc -march=nocona -O3 -fomit-frame-pointer2012032920120316
13112asm64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2012032920120316
13116asm64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2012032920120316
13212asm64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2012032920120316
13212asm64gcc -march=nocona -O2 -fomit-frame-pointer2012032920120316
13236asm64gcc -m64 -march=nocona -O -fomit-frame-pointer2012032920120316
13240asm64gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2012032920120316
13252asm64gcc -fno-schedule-insns -O -fomit-frame-pointer2012032920120316
13252asm64gcc -march=nocona -O -fomit-frame-pointer2012032920120316
13256asm64gcc -m64 -march=core-avx-i -O -fomit-frame-pointer2012032920120316
13264asm64gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2012032920120316
13264asm64gcc -m64 -march=corei7-avx -O -fomit-frame-pointer2012032920120316
13268opt64gcc -m64 -march=nocona -O -fomit-frame-pointer2012032920120316
13272asm64gcc -O -fomit-frame-pointer2012032920120316
13272opt64gcc -m64 -O -fomit-frame-pointer2012032920120316
13272opt64gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2012032920120316
13276opt64gcc -O -fomit-frame-pointer2012032920120316
13276asm64gcc -m64 -O -fomit-frame-pointer2012032920120316
13276opt64gcc -m64 -march=core2 -O -fomit-frame-pointer2012032920120316
13276asm64gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2012032920120316
13276opt64gcc -march=nocona -O -fomit-frame-pointer2012032920120316
13280asm64gcc -m64 -march=corei7 -O -fomit-frame-pointer2012032920120316
13288opt64gcc -fno-schedule-insns -O -fomit-frame-pointer2012032920120316
13288opt64gcc -m64 -march=corei7 -O -fomit-frame-pointer2012032920120316
13292opt64gcc -funroll-loops -O3 -fomit-frame-pointer2012032920120316
13292opt64gcc -m64 -march=corei7-avx -O -fomit-frame-pointer2012032920120316
13292asm64gcc -march=barcelona -O3 -fomit-frame-pointer2012032920120316
13296asm64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2012032920120316
13296opt64gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2012032920120316
13304opt64gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2012032920120316
13304opt64gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2012032920120316
13312opt64gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2012032920120316
13316opt64gcc -m64 -march=core-avx-i -O -fomit-frame-pointer2012032920120316
13332opt64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2012032920120316
13336asm64gcc -m64 -march=core2 -O -fomit-frame-pointer2012032920120316
13340opt64gcc -march=nocona -O3 -fomit-frame-pointer2012032920120316
13352asm64gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2012032920120316
13356asm64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2012032920120316
13356opt64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2012032920120316
13360opt64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2012032920120316
13376opt64gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2012032920120316
13380opt64gcc -O3 -fomit-frame-pointer2012032920120316
13388asm64gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2012032920120316
13396opt64gcc -fno-schedule-insns -O3 -fomit-frame-pointer2012032920120316
13408opt64gcc -m64 -O3 -fomit-frame-pointer2012032920120316
13412asm64gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2012032920120316
13424opt64gcc -funroll-loops -O2 -fomit-frame-pointer2012032920120316
13424opt64gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2012032920120316
13424opt64gcc -m64 -march=corei7 -O3 -fomit-frame-pointer2012032920120316
13424opt64gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2012032920120316
13428opt64gcc -m64 -march=core2 -O3 -fomit-frame-pointer2012032920120316
13432opt64gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2012032920120316
13436opt64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2012032920120316
13436opt64gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2012032920120316
13440opt64gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2012032920120316
13448asm64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2012032920120316
13452opt64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2012032920120316
13480asm64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2012032920120316
13492asm64gcc -march=barcelona -O2 -fomit-frame-pointer2012032920120316
13532asm64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2012032920120316
13572opt64gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2012032920120316
13608asm64gcc -m64 -march=barcelona -O -fomit-frame-pointer2012032920120316
13608asm64gcc -march=barcelona -O -fomit-frame-pointer2012032920120316
13668asm64gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2012032920120316
13672asm64gcc -funroll-loops -Os -fomit-frame-pointer2012032920120316
13672asm64gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2012032920120316
13688asm64gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2012032920120316
13688asm64gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2012032920120316
13696asm64gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2012032920120316
13700asm64gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012032920120316
13704asm64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2012032920120316
13708asm64gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2012032920120316
13720opt64gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2012032920120316
13728opt64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2012032920120316
13752asm64gcc -m64 -march=nocona -Os -fomit-frame-pointer2012032920120316
13756opt64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2012032920120316
13760asm64gcc -march=k8 -Os -fomit-frame-pointer2012032920120316
13764asm64gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2012032920120316
13764asm64gcc -m64 -march=core2 -Os -fomit-frame-pointer2012032920120316
13764asm64gcc -march=nocona -Os -fomit-frame-pointer2012032920120316
13768asm64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2012032920120316
13772asm64gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2012032920120316
13776asm64gcc -m64 -march=k8 -Os -fomit-frame-pointer2012032920120316
13780asm64gcc -Os -fomit-frame-pointer2012032920120316
13780opt64gcc -fno-schedule-insns -O2 -fomit-frame-pointer2012032920120316
13780asm64gcc -fno-schedule-insns -Os -fomit-frame-pointer2012032920120316
13784asm64gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2012032920120316
13788asm64gcc -m64 -march=corei7 -Os -fomit-frame-pointer2012032920120316
13788asm64gcc -march=barcelona -Os -fomit-frame-pointer2012032920120316
13792opt64gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2012032920120316
13792opt64gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2012032920120316
13792opt64gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2012032920120316
13796asm64gcc -m64 -Os -fomit-frame-pointer2012032920120316
13804opt64gcc -m64 -O2 -fomit-frame-pointer2012032920120316
13808opt64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2012032920120316
13816opt64gcc -O2 -fomit-frame-pointer2012032920120316
13820opt64gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2012032920120316
13824opt64gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2012032920120316
13828opt64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2012032920120316
13836opt64gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2012032920120316
13836asm64gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2012032920120316
13840opt64gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2012032920120316
13844opt64gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2012032920120316
13844opt64gcc -march=nocona -O2 -fomit-frame-pointer2012032920120316
13864asm64gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2012032920120316
13872opt64gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2012032920120316
13892opt64gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2012032920120316
13892opt64gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2012032920120316
13896opt64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2012032920120316
13896opt64gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2012032920120316
13900opt64gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2012032920120316
13904opt64gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2012032920120316
13904opt64gcc -march=barcelona -O3 -fomit-frame-pointer2012032920120316
13920opt64gcc -m64 -march=core2 -O2 -fomit-frame-pointer2012032920120316
13932opt64gcc -m64 -march=k8 -O3 -fomit-frame-pointer2012032920120316
13940opt64gcc -march=k8 -O3 -fomit-frame-pointer2012032920120316
14016opt64gcc -m64 -march=k8 -O -fomit-frame-pointer2012032920120316
14020opt64gcc -m64 -march=barcelona -O -fomit-frame-pointer2012032920120316
14020opt64gcc -march=k8 -O -fomit-frame-pointer2012032920120316
14160opt64gcc -march=barcelona -O -fomit-frame-pointer2012032920120316
14272opt64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2012032920120316
14296opt64gcc -m64 -march=k8 -O2 -fomit-frame-pointer2012032920120316
14296opt64gcc -march=k8 -O2 -fomit-frame-pointer2012032920120316
14308opt64gcc -march=barcelona -O2 -fomit-frame-pointer2012032920120316
14320asm64cc2012032920120316
14320asm64gcc -funroll-loops2012032920120316
14332asm64gcc2012032920120316
14668opt64gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2012032920120316
14680opt64gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2012032920120316
14680opt64gcc -m64 -march=nocona -Os -fomit-frame-pointer2012032920120316
14680opt64gcc -march=nocona -Os -fomit-frame-pointer2012032920120316
14692opt64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2012032920120316
14696opt64gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2012032920120316
14700opt64gcc -fno-schedule-insns -Os -fomit-frame-pointer2012032920120316
14700opt64gcc -funroll-loops -Os -fomit-frame-pointer2012032920120316
14704opt64gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2012032920120316
14720opt64gcc -Os -fomit-frame-pointer2012032920120316
14720opt64gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2012032920120316
14724opt64gcc -m64 -march=k8 -Os -fomit-frame-pointer2012032920120316
14728opt64gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2012032920120316
14728opt64gcc -march=k8 -Os -fomit-frame-pointer2012032920120316
14732opt64gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012032920120316
14732opt64gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2012032920120316
14736opt64gcc -m64 -Os -fomit-frame-pointer2012032920120316
14736opt64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2012032920120316
14740opt64gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2012032920120316
14740opt64gcc -march=barcelona -Os -fomit-frame-pointer2012032920120316
14744opt64gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2012032920120316
14744opt64gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2012032920120316
14756opt64gcc -m64 -march=core2 -Os -fomit-frame-pointer2012032920120316
14760opt64gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2012032920120316
14768opt64gcc -m64 -march=corei7 -Os -fomit-frame-pointer2012032920120316
28924opt64cc2012032920120316
28924opt64gcc -funroll-loops2012032920120316
28948opt64gcc2012032920120316

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