Implementation notes: amd64, bridge, crypto_hash/sarmal256

Computer: bridge
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20120928
Operation: crypto_hash
Primitive: sarmal256
TimeImplementationCompilerBenchmark dateSUPERCOP version
12996asm64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2012012620120120
13000asm64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2012012620120120
13000asm64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2012012620120120
13012asm64gcc -march=nocona -O3 -fomit-frame-pointer2012012620120120
13020opt64gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2012012620120120
13020opt64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2012012620120120
13024opt64gcc -funroll-loops -m64 -O -fomit-frame-pointer2012012620120120
13024opt64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2012012620120120
13028opt64gcc -funroll-loops -O -fomit-frame-pointer2012012620120120
13040asm64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2012012620120120
13044asm64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2012012620120120
13120asm64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2012012620120120
13124asm64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2012012620120120
13192asm64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2012012620120120
13208asm64gcc -m64 -march=nocona -O -fomit-frame-pointer2012012620120120
13212asm64gcc -march=nocona -O -fomit-frame-pointer2012012620120120
13220asm64gcc -march=nocona -O2 -fomit-frame-pointer2012012620120120
13232asm64gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2012012620120120
13236asm64gcc -O -fomit-frame-pointer2012012620120120
13236asm64gcc -m64 -march=core2 -O -fomit-frame-pointer2012012620120120
13236asm64gcc -m64 -march=corei7 -O -fomit-frame-pointer2012012620120120
13236asm64gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2012012620120120
13244asm64gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2012012620120120
13248asm64gcc -fno-schedule-insns -O -fomit-frame-pointer2012012620120120
13248asm64gcc -m64 -O -fomit-frame-pointer2012012620120120
13256asm64gcc -m64 -march=core-avx-i -O -fomit-frame-pointer2012012620120120
13256opt64gcc -march=nocona -O -fomit-frame-pointer2012012620120120
13260opt64gcc -m64 -march=core-avx-i -O -fomit-frame-pointer2012012620120120
13264opt64gcc -m64 -march=nocona -O -fomit-frame-pointer2012012620120120
13272asm64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2012012620120120
13276opt64gcc -m64 -O -fomit-frame-pointer2012012620120120
13276opt64gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2012012620120120
13276opt64gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2012012620120120
13276asm64gcc -m64 -march=corei7-avx -O -fomit-frame-pointer2012012620120120
13280opt64gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2012012620120120
13284opt64gcc -O -fomit-frame-pointer2012012620120120
13284opt64gcc -m64 -march=corei7 -O -fomit-frame-pointer2012012620120120
13292opt64gcc -m64 -march=core2 -O -fomit-frame-pointer2012012620120120
13292asm64gcc -march=barcelona -O3 -fomit-frame-pointer2012012620120120
13296opt64gcc -fno-schedule-insns -O -fomit-frame-pointer2012012620120120
13304opt64gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2012012620120120
13304opt64gcc -m64 -march=corei7-avx -O -fomit-frame-pointer2012012620120120
13308opt64gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2012012620120120
13328opt64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2012012620120120
13340opt64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2012012620120120
13344opt64gcc -march=nocona -O3 -fomit-frame-pointer2012012620120120
13348opt64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2012012620120120
13364asm64gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2012012620120120
13368asm64gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2012012620120120
13372opt64gcc -funroll-loops -O3 -fomit-frame-pointer2012012620120120
13372asm64gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2012012620120120
13372asm64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2012012620120120
13376opt64gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2012012620120120
13384opt64gcc -m64 -O3 -fomit-frame-pointer2012012620120120
13388opt64gcc -funroll-loops -O2 -fomit-frame-pointer2012012620120120
13388opt64gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2012012620120120
13400opt64gcc -O3 -fomit-frame-pointer2012012620120120
13412asm64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2012012620120120
13412opt64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2012012620120120
13416opt64gcc -m64 -march=corei7 -O3 -fomit-frame-pointer2012012620120120
13424opt64gcc -m64 -march=core2 -O3 -fomit-frame-pointer2012012620120120
13432opt64gcc -fno-schedule-insns -O3 -fomit-frame-pointer2012012620120120
13432opt64gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2012012620120120
13432opt64gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2012012620120120
13440asm64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2012012620120120
13440opt64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2012012620120120
13440opt64gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2012012620120120
13452opt64gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2012012620120120
13456opt64gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2012012620120120
13480asm64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2012012620120120
13528asm64gcc -march=barcelona -O2 -fomit-frame-pointer2012012620120120
13576asm64gcc -march=barcelona -O -fomit-frame-pointer2012012620120120
13616asm64gcc -m64 -march=barcelona -O -fomit-frame-pointer2012012620120120
13660asm64gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2012012620120120
13664asm64gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2012012620120120
13664asm64gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2012012620120120
13668asm64gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2012012620120120
13672asm64gcc -funroll-loops -Os -fomit-frame-pointer2012012620120120
13676asm64gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2012012620120120
13680asm64gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012012620120120
13716asm64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2012012620120120
13732opt64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2012012620120120
13732asm64gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2012012620120120
13736opt64gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2012012620120120
13736opt64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2012012620120120
13740opt64gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2012012620120120
13744asm64gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2012012620120120
13744asm64gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2012012620120120
13756asm64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2012012620120120
13756asm64gcc -m64 -march=core2 -Os -fomit-frame-pointer2012012620120120
13756asm64gcc -march=barcelona -Os -fomit-frame-pointer2012012620120120
13760asm64gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2012012620120120
13764asm64gcc -Os -fomit-frame-pointer2012012620120120
13764asm64gcc -fno-schedule-insns -Os -fomit-frame-pointer2012012620120120
13764asm64gcc -m64 -march=nocona -Os -fomit-frame-pointer2012012620120120
13764asm64gcc -march=nocona -Os -fomit-frame-pointer2012012620120120
13768asm64gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2012012620120120
13768asm64gcc -march=k8 -Os -fomit-frame-pointer2012012620120120
13772opt64gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2012012620120120
13776asm64gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2012012620120120
13776asm64gcc -m64 -march=corei7 -Os -fomit-frame-pointer2012012620120120
13780opt64gcc -O2 -fomit-frame-pointer2012012620120120
13780asm64gcc -m64 -Os -fomit-frame-pointer2012012620120120
13780asm64gcc -m64 -march=k8 -Os -fomit-frame-pointer2012012620120120
13784opt64gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2012012620120120
13796opt64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2012012620120120
13800opt64gcc -m64 -O2 -fomit-frame-pointer2012012620120120
13820opt64gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2012012620120120
13820opt64gcc -march=nocona -O2 -fomit-frame-pointer2012012620120120
13824opt64gcc -fno-schedule-insns -O2 -fomit-frame-pointer2012012620120120
13828opt64gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2012012620120120
13832opt64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2012012620120120
13844opt64gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2012012620120120
13852opt64gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2012012620120120
13852opt64gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2012012620120120
13872opt64gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2012012620120120
13880opt64gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2012012620120120
13880opt64gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2012012620120120
13888opt64gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2012012620120120
13892opt64gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2012012620120120
13896opt64gcc -march=barcelona -O3 -fomit-frame-pointer2012012620120120
13912opt64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2012012620120120
13912opt64gcc -m64 -march=core2 -O2 -fomit-frame-pointer2012012620120120
13912opt64gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2012012620120120
13920opt64gcc -m64 -march=k8 -O3 -fomit-frame-pointer2012012620120120
13928opt64gcc -march=k8 -O3 -fomit-frame-pointer2012012620120120
14020opt64gcc -m64 -march=k8 -O -fomit-frame-pointer2012012620120120
14020opt64gcc -march=k8 -O -fomit-frame-pointer2012012620120120
14024opt64gcc -march=barcelona -O -fomit-frame-pointer2012012620120120
14124opt64gcc -m64 -march=barcelona -O -fomit-frame-pointer2012012620120120
14272opt64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2012012620120120
14276asm64gcc -funroll-loops2012012620120120
14284opt64gcc -march=barcelona -O2 -fomit-frame-pointer2012012620120120
14300asm64gcc2012012620120120
14304opt64gcc -m64 -march=k8 -O2 -fomit-frame-pointer2012012620120120
14312opt64gcc -march=k8 -O2 -fomit-frame-pointer2012012620120120
14336asm64cc2012012620120120
14648opt64gcc -m64 -march=nocona -Os -fomit-frame-pointer2012012620120120
14648opt64gcc -march=nocona -Os -fomit-frame-pointer2012012620120120
14668opt64gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2012012620120120
14696opt64gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2012012620120120
14700opt64gcc -funroll-loops -Os -fomit-frame-pointer2012012620120120
14708opt64gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2012012620120120
14712opt64gcc -Os -fomit-frame-pointer2012012620120120
14712opt64gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012012620120120
14712opt64gcc -m64 -march=k8 -Os -fomit-frame-pointer2012012620120120
14716opt64gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2012012620120120
14720opt64gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2012012620120120
14724opt64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2012012620120120
14728opt64gcc -march=barcelona -Os -fomit-frame-pointer2012012620120120
14728opt64gcc -march=k8 -Os -fomit-frame-pointer2012012620120120
14732opt64gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2012012620120120
14736opt64gcc -fno-schedule-insns -Os -fomit-frame-pointer2012012620120120
14736opt64gcc -m64 -Os -fomit-frame-pointer2012012620120120
14736opt64gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2012012620120120
14736opt64gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2012012620120120
14740opt64gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2012012620120120
14744opt64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2012012620120120
14748opt64gcc -m64 -march=corei7 -Os -fomit-frame-pointer2012012620120120
14768opt64gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2012012620120120
14780opt64gcc -m64 -march=core2 -Os -fomit-frame-pointer2012012620120120
14800opt64gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2012012620120120
28944opt64gcc2012012620120120
28972opt64cc2012012620120120
28992opt64gcc -funroll-loops2012012620120120

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