Implementation notes: amd64, bigmem, crypto_hash/sarmal256

Computer: bigmem
Architecture: amd64
CPU ID: GenuineIntel-000206e6-bfebfbff
SUPERCOP version: 20141124
Operation: crypto_hash
Primitive: sarmal256
TimeImplementationCompilerBenchmark dateSUPERCOP version
11557asm64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2015021520141124
11565asm64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2015021520141124
11608opt64gcc -funroll-loops -O -fomit-frame-pointer2015021520141124
11628opt64gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2015021520141124
11631opt64gcc -funroll-loops -m64 -O -fomit-frame-pointer2015021520141124
11631opt64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2015021520141124
11634opt64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2015021520141124
11696asm64gcc -march=nocona -O -fomit-frame-pointer2015021520141124
11699asm64gcc -m64 -march=nocona -O -fomit-frame-pointer2015021520141124
11744opt64gcc -fno-schedule-insns -O -fomit-frame-pointer2015021520141124
11744opt64gcc -m64 -O -fomit-frame-pointer2015021520141124
11747opt64gcc -O -fomit-frame-pointer2015021520141124
11758opt64gcc -m64 -march=nocona -O -fomit-frame-pointer2015021520141124
11758opt64gcc -march=nocona -O -fomit-frame-pointer2015021520141124
11945asm64gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2015021520141124
11951asm64gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2015021520141124
12139asm64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2015021520141124
12139asm64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2015021520141124
12209opt64gcc -march=k8 -O2 -fomit-frame-pointer2015021520141124
12229opt64gcc -m64 -march=k8 -O2 -fomit-frame-pointer2015021520141124
12234asm64gcc -m64 -march=barcelona -O -fomit-frame-pointer2015021520141124
12234asm64gcc -march=barcelona -O -fomit-frame-pointer2015021520141124
12254opt64gcc -march=barcelona -O2 -fomit-frame-pointer2015021520141124
12274opt64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2015021520141124
12291opt64gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2015021520141124
12297opt64gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2015021520141124
12308opt64gcc -m64 -march=core2 -O -fomit-frame-pointer2015021520141124
12308opt64gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2015021520141124
12373opt64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2015021520141124
12373opt64gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2015021520141124
12379opt64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2015021520141124
12390opt64gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2015021520141124
12738opt64gcc -march=k8 -O -fomit-frame-pointer2015021520141124
12741opt64gcc -m64 -march=k8 -O -fomit-frame-pointer2015021520141124
12750opt64gcc -m64 -march=barcelona -O -fomit-frame-pointer2015021520141124
12755opt64gcc -march=barcelona -O -fomit-frame-pointer2015021520141124
12994opt64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2015021520141124
13002opt64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2015021520141124
13017opt64gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2015021520141124
13022opt64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2015021520141124
13022opt64gcc -march=nocona -O3 -fomit-frame-pointer2015021520141124
13025opt64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2015021520141124
13039opt64gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2015021520141124
13039opt64gcc -m64 -march=nocona -Os -fomit-frame-pointer2015021520141124
13045opt64gcc -march=nocona -Os -fomit-frame-pointer2015021520141124
13065opt64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2015021520141124
13073opt64gcc -m64 -O3 -fomit-frame-pointer2015021520141124
13107opt64gcc -O3 -fomit-frame-pointer2015021520141124
13127asm64gcc2015021520141124
13130opt64gcc -fno-schedule-insns -O3 -fomit-frame-pointer2015021520141124
13136opt64gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2015021520141124
13136opt64gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2015021520141124
13144opt64gcc -m64 -march=core2 -Os -fomit-frame-pointer2015021520141124
13147opt64gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2015021520141124
13152opt64gcc -funroll-loops -O3 -fomit-frame-pointer2015021520141124
13164opt64gcc -Os -fomit-frame-pointer2015021520141124
13167opt64gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2015021520141124
13167opt64gcc -march=k8 -Os -fomit-frame-pointer2015021520141124
13175opt64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2015021520141124
13184opt64gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2015021520141124
13192opt64gcc -m64 -march=k8 -Os -fomit-frame-pointer2015021520141124
13201opt64gcc -m64 -Os -fomit-frame-pointer2015021520141124
13212asm64cc2015021520141124
13212asm64gcc -funroll-loops2015021520141124
13212opt64gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2015021520141124
13215opt64gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2015021520141124
13218opt64gcc -fno-schedule-insns -Os -fomit-frame-pointer2015021520141124
13218opt64gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2015021520141124
13220opt64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2015021520141124
13221opt64gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2015021520141124
13234opt64gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2015021520141124
13240opt64gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2015021520141124
13243opt64gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2015021520141124
13248opt64gcc -funroll-loops -O2 -fomit-frame-pointer2015021520141124
13248opt64gcc -funroll-loops -Os -fomit-frame-pointer2015021520141124
13294opt64gcc -fno-schedule-insns -O2 -fomit-frame-pointer2015021520141124
13297opt64gcc -m64 -O2 -fomit-frame-pointer2015021520141124
13342opt64gcc -O2 -fomit-frame-pointer2015021520141124
13523opt64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2015021520141124
13526opt64gcc -march=nocona -O2 -fomit-frame-pointer2015021520141124
13896opt64gcc -march=barcelona -Os -fomit-frame-pointer2015021520141124
13985opt64gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2015021520141124
13991opt64gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2015021520141124
13994opt64gcc -m64 -march=core2 -O2 -fomit-frame-pointer2015021520141124
14005opt64gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2015021520141124
15345opt64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2015021520141124
15345opt64gcc -m64 -march=k8 -O3 -fomit-frame-pointer2015021520141124
15354opt64gcc -march=k8 -O3 -fomit-frame-pointer2015021520141124
15368opt64gcc -march=barcelona -O3 -fomit-frame-pointer2015021520141124
15546opt64gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2015021520141124
15555opt64gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2015021520141124
15577opt64gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2015021520141124
15583opt64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2015021520141124
15584opt64gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2015021520141124
15589opt64gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2015021520141124
15626opt64gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2015021520141124
15634opt64gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2015021520141124
15711opt64gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2015021520141124
15714opt64gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2015021520141124
15731opt64gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2015021520141124
15736opt64gcc -m64 -march=core2 -O3 -fomit-frame-pointer2015021520141124
25347opt64gcc2015021520141124
25353opt64gcc -funroll-loops2015021520141124
25384opt64cc2015021520141124

Test failure

Implementation: crypto_hash/sarmal256/asm64
Compiler: gcc -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 69, namely:
CompilerImplementations
gcc -O2 -fomit-frame-pointer asm64
gcc -O3 -fomit-frame-pointer asm64
gcc -Os -fomit-frame-pointer asm64
gcc -fno-schedule-insns -O2 -fomit-frame-pointer asm64
gcc -fno-schedule-insns -O3 -fomit-frame-pointer asm64
gcc -fno-schedule-insns -Os -fomit-frame-pointer asm64
gcc -funroll-loops -O2 -fomit-frame-pointer asm64
gcc -funroll-loops -O3 -fomit-frame-pointer asm64
gcc -funroll-loops -Os -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 -fno-schedule-insns -Os -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 -Os -fomit-frame-pointer asm64
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer asm64
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer asm64
gcc -funroll-loops -m64 -march=barcelona -Os -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 -m64 -march=k8 -Os -fomit-frame-pointer asm64
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer asm64
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer asm64
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer asm64
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer asm64
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer asm64
gcc -funroll-loops -march=barcelona -Os -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 -funroll-loops -march=k8 -Os -fomit-frame-pointer asm64
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer asm64
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer asm64
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer asm64
gcc -m64 -O2 -fomit-frame-pointer asm64
gcc -m64 -O3 -fomit-frame-pointer asm64
gcc -m64 -Os -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 -O -fomit-frame-pointer asm64
gcc -m64 -march=core2 -Os -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.1 -O -fomit-frame-pointer asm64
gcc -m64 -march=core2 -msse4.1 -Os -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=core2 -msse4 -O -fomit-frame-pointer asm64
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer asm64
gcc -m64 -march=k8 -O2 -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=k8 -Os -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 -m64 -march=native -mtune=native -O -fomit-frame-pointer asm64
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer asm64
gcc -m64 -march=nocona -O2 -fomit-frame-pointer asm64
gcc -m64 -march=nocona -O3 -fomit-frame-pointer asm64
gcc -m64 -march=nocona -Os -fomit-frame-pointer asm64
gcc -march=barcelona -O2 -fomit-frame-pointer asm64
gcc -march=barcelona -O3 -fomit-frame-pointer asm64
gcc -march=barcelona -Os -fomit-frame-pointer asm64
gcc -march=k8 -O2 -fomit-frame-pointer asm64
gcc -march=k8 -O3 -fomit-frame-pointer asm64
gcc -march=k8 -O -fomit-frame-pointer asm64
gcc -march=k8 -Os -fomit-frame-pointer asm64
gcc -march=nocona -O2 -fomit-frame-pointer asm64
gcc -march=nocona -O3 -fomit-frame-pointer asm64
gcc -march=nocona -Os -fomit-frame-pointer asm64

Test failure

Implementation: crypto_hash/sarmal256/asm64
Compiler: gcc -O -fomit-frame-pointer
error 111
crypto_hash is nondeterministic

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -O -fomit-frame-pointer asm64
gcc -fno-schedule-insns -O -fomit-frame-pointer asm64
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
gcc -m64 -O -fomit-frame-pointer asm64

Test failure

Implementation: crypto_hash/sarmal256/asm64
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
error 111
error 111

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer asm64
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer asm64
gcc -m64 -march=barcelona -Os -fomit-frame-pointer asm64