Implementation notes: amd64, genji262, crypto_hash/sarmal256

Computer: genji262
Architecture: amd64
CPU ID: AuthenticAMD-00800f12-178bfbff
SUPERCOP version: 20180818
Operation: crypto_hash
Primitive: sarmal256
TimeImplementationCompilerBenchmark dateSUPERCOP version
7502opt64gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018081920180818
7502opt64gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018081920180818
7546opt64gcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018081920180818
7678opt64gcc -fno-schedule-insns -O3 -fomit-frame-pointer2018081920180818
7700opt64gcc -funroll-loops -O3 -fomit-frame-pointer2018081920180818
7700opt64gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018081920180818
7722opt64gcc -O3 -fomit-frame-pointer2018081920180818
7722opt64gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018081920180818
7722opt64gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018081920180818
7722opt64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018081920180818
7722opt64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018081920180818
7744opt64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2018081920180818
7744opt64gcc -march=nocona -O3 -fomit-frame-pointer2018081920180818
7788opt64gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018081920180818
7810opt64gcc -funroll-loops -O2 -fomit-frame-pointer2018081920180818
7810opt64gcc -funroll-loops -O -fomit-frame-pointer2018081920180818
7810opt64gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018081920180818
7810opt64gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018081920180818
7810opt64gcc -funroll-loops -m64 -O -fomit-frame-pointer2018081920180818
7810opt64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018081920180818
7810opt64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018081920180818
7832opt64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018081920180818
7832opt64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018081920180818
7986opt64gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018081920180818
7986opt64gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018081920180818
7986opt64gcc -m64 -march=corei7 -O -fomit-frame-pointer2018081920180818
8008opt64gcc -O2 -fomit-frame-pointer2018081920180818
8008opt64gcc -fno-schedule-insns -O -fomit-frame-pointer2018081920180818
8008opt64gcc -m64 -O2 -fomit-frame-pointer2018081920180818
8030opt64gcc -O -fomit-frame-pointer2018081920180818
8030opt64gcc -fno-schedule-insns -O2 -fomit-frame-pointer2018081920180818
8030opt64gcc -m64 -O -fomit-frame-pointer2018081920180818
8096opt64gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018081920180818
8118opt64gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018081920180818
8140opt64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2018081920180818
8140opt64gcc -march=nocona -O -fomit-frame-pointer2018081920180818
8162opt64gcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018081920180818
8162opt64gcc -m64 -march=core2 -O -fomit-frame-pointer2018081920180818
8162opt64gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018081920180818
8162opt64gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018081920180818
8162opt64gcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018081920180818
8162opt64gcc -m64 -march=nocona -O -fomit-frame-pointer2018081920180818
8162opt64gcc -march=nocona -O2 -fomit-frame-pointer2018081920180818
8228opt64gcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018081920180818
8272opt64gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018081920180818
8338opt64gcc -m64 -O3 -fomit-frame-pointer2018081920180818
8404opt64gcc -m64 -march=core2 -O2 -fomit-frame-pointer2018081920180818
8404opt64gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018081920180818
8426opt64gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018081920180818
8492opt64gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018081920180818
8514asm64gcc -fno-schedule-insns -O3 -fomit-frame-pointer2018081920180818
8514opt64gcc -m64 -march=core2 -O3 -fomit-frame-pointer2018081920180818
8514asm64gcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018081920180818
8514asm64gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018081920180818
8536asm64gcc -O3 -fomit-frame-pointer2018081920180818
8536asm64gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018081920180818
8536asm64gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018081920180818
8558asm64gcc -m64 -O3 -fomit-frame-pointer2018081920180818
8558asm64gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018081920180818
8580asm64gcc -funroll-loops -O3 -fomit-frame-pointer2018081920180818
8580asm64gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018081920180818
8580asm64gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018081920180818
8580opt64gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018081920180818
8580opt64gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018081920180818
8580opt64gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018081920180818
8602opt64gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018081920180818
8602opt64gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018081920180818
8646asm64gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018081920180818
8646asm64gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018081920180818
8668asm64gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018081920180818
8668asm64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018081920180818
8668asm64gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018081920180818
8668asm64gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018081920180818
8668asm64gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018081920180818
8690asm64gcc -O2 -fomit-frame-pointer2018081920180818
8690asm64gcc -fno-schedule-insns -O2 -fomit-frame-pointer2018081920180818
8690asm64gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018081920180818
8690asm64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018081920180818
8690asm64gcc -m64 -march=core2 -O3 -fomit-frame-pointer2018081920180818
8712asm64gcc -funroll-loops -O2 -fomit-frame-pointer2018081920180818
8712asm64gcc -funroll-loops -O -fomit-frame-pointer2018081920180818
8712asm64gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018081920180818
8712opt64gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2018081920180818
8712asm64gcc -m64 -O2 -fomit-frame-pointer2018081920180818
8712asm64gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018081920180818
8712asm64gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018081920180818
8734opt64gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2018081920180818
8734asm64gcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018081920180818
8734asm64gcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018081920180818
8756asm64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018081920180818
8756asm64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018081920180818
8756asm64gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018081920180818
8756asm64gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018081920180818
8756asm64gcc -m64 -march=corei7 -O -fomit-frame-pointer2018081920180818
8756asm64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2018081920180818
8756asm64gcc -march=nocona -O3 -fomit-frame-pointer2018081920180818
8778asm64gcc -O -fomit-frame-pointer2018081920180818
8778asm64gcc -m64 -O -fomit-frame-pointer2018081920180818
8778asm64gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018081920180818
8800asm64gcc -fno-schedule-insns -O -fomit-frame-pointer2018081920180818
8800opt64gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018081920180818
8800opt64gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2018081920180818
8800opt64gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2018081920180818
8800opt64gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018081920180818
8800opt64gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2018081920180818
8800opt64gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2018081920180818
8800opt64gcc -march=k8 -O3 -fomit-frame-pointer2018081920180818
8822asm64gcc -funroll-loops -m64 -O -fomit-frame-pointer2018081920180818
8822opt64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018081920180818
8822opt64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018081920180818
8822opt64gcc -m64 -march=k8 -O3 -fomit-frame-pointer2018081920180818
8822opt64gcc -march=barcelona -O3 -fomit-frame-pointer2018081920180818
8844opt64gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018081920180818
8844asm64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018081920180818
8844asm64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018081920180818
8844opt64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018081920180818
8844opt64gcc -m64 -march=k8 -O -fomit-frame-pointer2018081920180818
8844opt64gcc -march=barcelona -O2 -fomit-frame-pointer2018081920180818
8866asm64gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018081920180818
8866opt64gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018081920180818
8866opt64gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018081920180818
8866asm64gcc -m64 -march=core2 -O -fomit-frame-pointer2018081920180818
8866opt64gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018081920180818
8866opt64gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018081920180818
8888opt64gcc -Os -fomit-frame-pointer2018081920180818
8888asm64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018081920180818
8888opt64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018081920180818
8888opt64gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018081920180818
8888opt64gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018081920180818
8888opt64gcc -m64 -Os -fomit-frame-pointer2018081920180818
8888opt64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018081920180818
8888asm64gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018081920180818
8888asm64gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018081920180818
8888opt64gcc -m64 -march=corei7 -Os -fomit-frame-pointer2018081920180818
8888asm64gcc -m64 -march=nocona -O -fomit-frame-pointer2018081920180818
8888opt64gcc -march=k8 -O -fomit-frame-pointer2018081920180818
8888asm64gcc -march=nocona -O -fomit-frame-pointer2018081920180818
8910opt64gcc -fno-schedule-insns -Os -fomit-frame-pointer2018081920180818
8910opt64gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018081920180818
8910opt64gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018081920180818
8910opt64gcc -m64 -march=nocona -Os -fomit-frame-pointer2018081920180818
8932asm64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018081920180818
8932asm64gcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018081920180818
8932asm64gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018081920180818
8932asm64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2018081920180818
8932asm64gcc -march=barcelona -O3 -fomit-frame-pointer2018081920180818
8932asm64gcc -march=nocona -O2 -fomit-frame-pointer2018081920180818
8954opt64gcc -funroll-loops -Os -fomit-frame-pointer2018081920180818
8954opt64gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018081920180818
8954asm64gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018081920180818
8976opt64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2018081920180818
8976asm64gcc -m64 -march=core2 -O2 -fomit-frame-pointer2018081920180818
8976asm64gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018081920180818
8998asm64gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018081920180818
8998opt64gcc -march=nocona -Os -fomit-frame-pointer2018081920180818
9020opt64gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018081920180818
9020opt64gcc -march=barcelona -O -fomit-frame-pointer2018081920180818
9042asm64gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018081920180818
9042opt64gcc -m64 -march=barcelona -O -fomit-frame-pointer2018081920180818
9064opt64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2018081920180818
9086asm64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018081920180818
9086opt64gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018081920180818
9086opt64gcc -m64 -march=core2 -Os -fomit-frame-pointer2018081920180818
9086opt64gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018081920180818
9086opt64gcc -m64 -march=k8 -Os -fomit-frame-pointer2018081920180818
9086asm64gcc -march=barcelona -O2 -fomit-frame-pointer2018081920180818
9086opt64gcc -march=barcelona -Os -fomit-frame-pointer2018081920180818
9086opt64gcc -march=k8 -Os -fomit-frame-pointer2018081920180818
9108asm64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018081920180818
9108asm64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018081920180818
9108opt64gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018081920180818
9108opt64gcc -m64 -march=k8 -O2 -fomit-frame-pointer2018081920180818
9130opt64gcc -march=k8 -O2 -fomit-frame-pointer2018081920180818
9152opt64gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018081920180818
9174asm64gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018081920180818
9174asm64gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018081920180818
9174asm64gcc -march=barcelona -O -fomit-frame-pointer2018081920180818
9196asm64gcc -fno-schedule-insns -Os -fomit-frame-pointer2018081920180818
9196asm64gcc -m64 -march=corei7 -Os -fomit-frame-pointer2018081920180818
9196asm64gcc -march=k8 -O -fomit-frame-pointer2018081920180818
9196asm64gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018081920180818
9218asm64gcc -Os -fomit-frame-pointer2018081920180818
9218asm64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2018081920180818
9218asm64gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018081920180818
9218asm64gcc -m64 -march=k8 -O -fomit-frame-pointer2018081920180818
9240asm64gcc -funroll-loops -Os -fomit-frame-pointer2018081920180818
9240asm64gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018081920180818
9240asm64gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018081920180818
9240asm64gcc -m64 -Os -fomit-frame-pointer2018081920180818
9262asm64gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018081920180818
9262asm64gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018081920180818
9284asm64gcc -march=k8 -Os -fomit-frame-pointer2018081920180818
9306asm64gcc -m64 -march=core2 -Os -fomit-frame-pointer2018081920180818
9306asm64gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018081920180818
9328asm64gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018081920180818
9328asm64gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018081920180818
9328asm64gcc -m64 -march=k8 -Os -fomit-frame-pointer2018081920180818
9350asm64gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018081920180818
9350asm64gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018081920180818
9350asm64gcc -m64 -march=barcelona -O -fomit-frame-pointer2018081920180818
9372asm64gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018081920180818
9416asm64gcc -m64 -march=nocona -Os -fomit-frame-pointer2018081920180818
9416asm64gcc -march=barcelona -Os -fomit-frame-pointer2018081920180818
9416asm64gcc -march=nocona -Os -fomit-frame-pointer2018081920180818
9460asm64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2018081920180818
9768asm64cc2018081920180818
9834asm64gcc2018081920180818
9878asm64gcc -funroll-loops2018081920180818
11836opt64gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018081920180818
14454opt64gcc2018081920180818
14498opt64gcc -funroll-loops2018081920180818
15598opt64cc2018081920180818

Test failure

Implementation: crypto_hash/sarmal256/asm64
Compiler: gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer
error 142
sh: line 1: 59379 Alarm clock killafter 3600 ./try

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer asm64

Test failure

Implementation: crypto_hash/sarmal256/asm64
Compiler: gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer
error 142
sh: line 1: 59046 Alarm clock killafter 3600 ./try

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer asm64

Test failure

Implementation: crypto_hash/sarmal256/asm64
Compiler: gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer
error 142
sh: line 1: 59275 Alarm clock killafter 3600 ./try

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer asm64

Test failure

Implementation: crypto_hash/sarmal256/asm64
Compiler: gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer
error 142
sh: line 1: 61182 Alarm clock killafter 3600 ./try

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer asm64

Test failure

Implementation: crypto_hash/sarmal256/asm64
Compiler: gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer
error 142
sh: line 1: 60332 Alarm clock killafter 3600 ./try

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer asm64

Test failure

Implementation: crypto_hash/sarmal256/asm64
Compiler: gcc -funroll-loops -march=k8 -O -fomit-frame-pointer
error 142
sh: line 1: 59923 Alarm clock killafter 3600 ./try

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer asm64

Test failure

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

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