Implementation notes: amd64, katana, crypto_hash/sarmal512

Computer: katana
Architecture: amd64
CPU ID: GenuineIntel-000006f6-bfebfbff
SUPERCOP version: 20120310
Operation: crypto_hash
Primitive: sarmal512
TimeImplementationCompilerBenchmark dateSUPERCOP version
16000opt64gcc -march=nocona -O -fomit-frame-pointer2011090420110831
16072opt64gcc -fno-schedule-insns -O -fomit-frame-pointer2011090420110831
16080opt64gcc -m64 -march=nocona -O -fomit-frame-pointer2011090420110831
16088opt64gcc -O -fomit-frame-pointer2011090420110831
16208opt64gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2011090420110831
16208opt64gcc -m64 -O -fomit-frame-pointer2011090420110831
16232opt64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2011090420110831
16312opt64gcc -funroll-loops -O -fomit-frame-pointer2011090420110831
16328opt64gcc -funroll-loops -m64 -O -fomit-frame-pointer2011090420110831
16424opt64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2011090420110831
16752opt64gcc -m64 -march=barcelona -O -fomit-frame-pointer2011090420110831
16752opt64gcc -m64 -march=k8 -O -fomit-frame-pointer2011090420110831
16768opt64gcc -march=k8 -O -fomit-frame-pointer2011090420110831
16784opt64gcc -march=barcelona -O -fomit-frame-pointer2011090420110831
16808asm64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2011090420110831
16816asm64icc2011061820110617
16816asm64icc -O2 -static2011061820110617
16816asm64icc -O2 -xW -static2011061820110617
16824opt64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2011090420110831
16824asm64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2011090420110831
16824asm64gcc -march=nocona -O3 -fomit-frame-pointer2011090420110831
16824asm64icc -O2 -xP -static -no-vec2011061820110617
16824asm64icc -m64 -O2 -static -no-vec2011061820110617
16824asm64icc -no-vec2011061820110617
16832asm64icc -O3 -xW -static2011061820110617
16840opt64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2011090420110831
16840opt64gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2011090420110831
16840opt64gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2011090420110831
16840asm64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2011090420110831
16840asm64icc -O3 -static2011061820110617
16840asm64icc -m64 -O2 -static2011061820110617
16856asm64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2011090420110831
16864asm64icc -O2 -static -no-vec2011061820110617
16864asm64icc -O3 -xP -static2011061820110617
16864asm64icc -O3 -xP -static -no-vec2011061820110617
16864asm64icc -m64 -O3 -static2011061820110617
16864asm64icc -m64 -O3 -static -no-vec2011061820110617
16872asm64icc -O2 -xW -static -no-vec2011061820110617
16880asm64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2011090420110831
16880opt64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2011090420110831
16880asm64icc -O3 -xW -static -no-vec2011061820110617
16904asm64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2011090420110831
16912asm64gcc -m64 -march=nocona -O -fomit-frame-pointer2011090420110831
16920asm64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2011090420110831
16928asm64gcc -O -fomit-frame-pointer2011090420110831
16928opt64gcc -march=nocona -O3 -fomit-frame-pointer2011090420110831
16928asm64gcc -march=nocona -O -fomit-frame-pointer2011090420110831
16936asm64gcc -fno-schedule-insns -O -fomit-frame-pointer2011090420110831
16936opt64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2011090420110831
16952opt64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2011090420110831
16960asm64icc -O2 -xP -static2011061820110617
16968opt64gcc -march=nocona -O2 -fomit-frame-pointer2011090420110831
16968asm64icc -m64 -xHost -vec-report0 -static2011061820110617
16976asm64gcc -m64 -O -fomit-frame-pointer2011090420110831
17000asm64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2011090420110831
17000opt64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2011090420110831
17000asm64gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2011090420110831
17000asm64icc -O3 -static -no-vec2011061820110617
17008opt64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2011090420110831
17024asm64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2011090420110831
17032opt64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2011090420110831
17032asm64gcc -march=barcelona -O3 -fomit-frame-pointer2011090420110831
17040asm64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2011090420110831
17040asm64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2011090420110831
17048asm64gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2011090420110831
17056asm64gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2011090420110831
17104opt64gcc -O3 -fomit-frame-pointer2011090420110831
17104opt64gcc -fno-schedule-insns -O3 -fomit-frame-pointer2011090420110831
17128opt64gcc -O2 -fomit-frame-pointer2011090420110831
17136opt64gcc -m64 -O3 -fomit-frame-pointer2011090420110831
17160asm64gcc -march=nocona -O2 -fomit-frame-pointer2011090420110831
17168asm64gcc -m64 -march=barcelona -O -fomit-frame-pointer2011090420110831
17168asm64gcc -march=barcelona -O -fomit-frame-pointer2011090420110831
17176asm64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2011090420110831
17216asm64icc -Os -static -no-vec2011061820110617
17224asm64gcc -march=barcelona -O2 -fomit-frame-pointer2011090420110831
17224asm64icc -Os -xP -static -no-vec2011061820110617
17232opt64gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2011090420110831
17232opt64gcc -m64 -O2 -fomit-frame-pointer2011090420110831
17232asm64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2011090420110831
17232asm64icc -Os -xP -static2011061820110617
17232asm64icc -m64 -Os -static2011061820110617
17232asm64icc -m64 -Os -static -no-vec2011061820110617
17232opt64icc -no-vec2011061820110617
17240opt64gcc -funroll-loops -O3 -fomit-frame-pointer2011090420110831
17240opt64icc -m64 -O3 -static2011061820110617
17248asm64icc -Os -static2011061820110617
17248asm64icc -Os -xW -static -no-vec2011061820110617
17256opt64icc -O3 -xP -static -no-vec2011061820110617
17256asm64icc -Os -xW -static2011061820110617
17272opt64icc -O3 -static -no-vec2011061820110617
17272opt64icc -O3 -xP -static2011061820110617
17304opt64icc -O3 -xW -static -no-vec2011061820110617
17312opt64icc -O3 -static2011061820110617
17336opt64gcc -fno-schedule-insns -O2 -fomit-frame-pointer2011090420110831
17336opt64gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2011090420110831
17336opt64gcc -m64 -march=core2 -O -fomit-frame-pointer2011090420110831
17336opt64gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2011090420110831
17344opt64gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2011090420110831
17352opt64icc -O2 -static2011061820110617
17360opt64icc -O2 -xP -static -no-vec2011061820110617
17376opt64icc -m64 -xHost -vec-report0 -static2011061820110617
17384opt64icc2011061820110617
17384opt64icc -O2 -xW -static2011061820110617
17456opt64gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2011090420110831
17456opt64icc -O3 -xW -static2011061820110617
17464opt64icc -O2 -xW -static -no-vec2011061820110617
17472opt64icc -O2 -static -no-vec2011061820110617
17480opt64gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2011090420110831
17480asm64icc -m64 -O1 -static2011061820110617
17480opt64icc -m64 -O3 -static -no-vec2011061820110617
17496opt64gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2011090420110831
17496asm64icc -O1 -xP -static2011061820110617
17496asm64icc -O1 -xW -static2011061820110617
17504opt64gcc -funroll-loops -O2 -fomit-frame-pointer2011090420110831
17504asm64icc -O1 -static2011061820110617
17504asm64icc -O1 -static -no-vec2011061820110617
17504asm64icc -O1 -xW -static -no-vec2011061820110617
17528asm64icc -O1 -xP -static -no-vec2011061820110617
17536asm64icc -m64 -O1 -static -no-vec2011061820110617
17552opt64icc -O2 -xP -static2011061820110617
17576asm64gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2011090420110831
17584opt64icc -m64 -O2 -static2011061820110617
17592asm64gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2011090420110831
17592asm64gcc -m64 -march=nocona -Os -fomit-frame-pointer2011090420110831
17600asm64gcc -march=nocona -Os -fomit-frame-pointer2011090420110831
17632opt64gcc -march=k8 -O3 -fomit-frame-pointer2011090420110831
17640opt64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2011090420110831
17640opt64icc -m64 -O2 -static -no-vec2011061820110617
17648opt64gcc -m64 -march=core2 -O3 -fomit-frame-pointer2011090420110831
17648opt64gcc -m64 -march=k8 -O3 -fomit-frame-pointer2011090420110831
17656opt64gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2011090420110831
17672opt64gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2011090420110831
17672opt64gcc -march=barcelona -O3 -fomit-frame-pointer2011090420110831
17704opt64gcc -march=barcelona -O2 -fomit-frame-pointer2011090420110831
17712opt64gcc -m64 -march=k8 -O2 -fomit-frame-pointer2011090420110831
17712opt64gcc -march=k8 -O2 -fomit-frame-pointer2011090420110831
17728opt64gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2011090420110831
17728opt64gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2011090420110831
17728opt64gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2011090420110831
17728opt64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2011090420110831
17736opt64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2011090420110831
17760asm64gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2011090420110831
17776asm64gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2011090420110831
17784opt64gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2011090420110831
17784opt64gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2011090420110831
17784asm64gcc -march=barcelona -Os -fomit-frame-pointer2011090420110831
17792asm64gcc -funroll-loops -Os -fomit-frame-pointer2011090420110831
17792asm64gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2011090420110831
17792asm64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2011090420110831
17792asm64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2011090420110831
17792asm64gcc -m64 -march=core2 -Os -fomit-frame-pointer2011090420110831
17792asm64gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2011090420110831
17800asm64gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2011090420110831
17800asm64gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2011090420110831
17800asm64gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2011090420110831
17808asm64gcc -Os -fomit-frame-pointer2011090420110831
17808asm64gcc -fno-schedule-insns -Os -fomit-frame-pointer2011090420110831
17808asm64gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2011090420110831
17808asm64gcc -m64 -Os -fomit-frame-pointer2011090420110831
17808asm64gcc -m64 -march=k8 -Os -fomit-frame-pointer2011090420110831
17808asm64gcc -march=k8 -Os -fomit-frame-pointer2011090420110831
17816opt64gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2011090420110831
17912opt64gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2011090420110831
17912opt64gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2011090420110831
17920opt64gcc -m64 -march=core2 -O2 -fomit-frame-pointer2011090420110831
17920opt64gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2011090420110831
18136opt64icc -Os -static2011061820110617
18144opt64icc -Os -xW -static -no-vec2011061820110617
18152opt64icc -Os -static -no-vec2011061820110617
18176asm64cc2011090420110831
18176asm64gcc -funroll-loops2011090420110831
18184asm64gcc2011090420110831
18192opt64icc -Os -xP -static -no-vec2011061820110617
18224opt64icc -m64 -Os -static -no-vec2011061820110617
18248opt64icc -m64 -Os -static2011061820110617
18280opt64icc -Os -xW -static2011061820110617
18296opt64icc -Os -xP -static2011061820110617
18360opt64icc -m64 -O1 -static2011061820110617
18376opt64icc -O1 -xP -static -no-vec2011061820110617
18408opt64gcc -march=nocona -Os -fomit-frame-pointer2011090420110831
18448opt64gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2011090420110831
18448opt64icc -O1 -xW -static -no-vec2011061820110617
18456opt64gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2011090420110831
18456opt64gcc -m64 -march=nocona -Os -fomit-frame-pointer2011090420110831
18456opt64icc -O1 -xP -static2011061820110617
18472opt64icc -O1 -static2011061820110617
18496opt64icc -O1 -xW -static2011061820110617
18536opt64icc -O1 -static -no-vec2011061820110617
18536opt64icc -m64 -O1 -static -no-vec2011061820110617
18728opt64gcc -m64 -march=k8 -Os -fomit-frame-pointer2011090420110831
18736opt64gcc -march=barcelona -Os -fomit-frame-pointer2011090420110831
18744opt64gcc -fno-schedule-insns -Os -fomit-frame-pointer2011090420110831
18744opt64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2011090420110831
18752opt64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2011090420110831
18760opt64gcc -Os -fomit-frame-pointer2011090420110831
18760opt64gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2011090420110831
18776opt64gcc -m64 -Os -fomit-frame-pointer2011090420110831
18784opt64gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2011090420110831
18784opt64gcc -march=k8 -Os -fomit-frame-pointer2011090420110831
18792opt64gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2011090420110831
18800opt64gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2011090420110831
18808opt64gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2011090420110831
18816opt64gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2011090420110831
18824opt64gcc -m64 -march=core2 -Os -fomit-frame-pointer2011090420110831
18840opt64gcc -funroll-loops -Os -fomit-frame-pointer2011090420110831
18840opt64gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2011090420110831
18856opt64gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2011090420110831
35808opt64gcc2011090420110831
35864opt64cc2011090420110831
35872opt64gcc -funroll-loops2011090420110831

Checksum failure

Implementation: crypto_hash/sarmal512/asm64
Compiler: gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer
e2cf2e8e623fb36d83bfe3608cfeb6450ad15b9d9c6c1e4bea2695ad7f5282a009fb4aeac03cf5ad582722ed2d653432de9380c3156eab6bbcfbc3787ceebd17
Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
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

Test failure

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

Number of similar (compiler,implementation) pairs: 22, 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 -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=k8 -O2 -fomit-frame-pointer asm64
gcc -m64 -march=k8 -O3 -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 -O2 -fomit-frame-pointer asm64
gcc -march=k8 -O3 -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: 11, 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
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer asm64
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer asm64
gcc -m64 -march=core2 -O -fomit-frame-pointer asm64
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer asm64
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer asm64
gcc -m64 -march=k8 -O -fomit-frame-pointer asm64
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer asm64
gcc -march=k8 -O -fomit-frame-pointer asm64

Compiler output

Implementation: crypto_hash/sarmal512/asm64
Compiler: icc -O1 -xP -static
nist.c: icc: command line remark #10279: option '-xP' is deprecated and will be removed in a future release. See '-help deprecated'
sarmal.c: icc: command line remark #10279: option '-xP' is deprecated and will be removed in a future release. See '-help deprecated'
try.c: icc: command line remark #10279: option '-xP' is deprecated and will be removed in a future release. See '-help deprecated'
measure.c: icc: command line remark #10279: option '-xP' is deprecated and will be removed in a future release. See '-help deprecated'

Number of similar (compiler,implementation) pairs: 16, namely:
CompilerImplementations
icc -O1 -xP -static asm64 opt64
icc -O1 -xP -static -no-vec asm64 opt64
icc -O2 -xP -static asm64 opt64
icc -O2 -xP -static -no-vec asm64 opt64
icc -O3 -xP -static asm64 opt64
icc -O3 -xP -static -no-vec asm64 opt64
icc -Os -xP -static asm64 opt64
icc -Os -xP -static -no-vec asm64 opt64

Compiler output

Implementation: crypto_hash/sarmal512/asm64
Compiler: icc -O1 -xW -static
nist.c: icc: command line remark #10279: option '-xW' is deprecated and will be removed in a future release. See '-help deprecated'
sarmal.c: icc: command line remark #10279: option '-xW' is deprecated and will be removed in a future release. See '-help deprecated'
try.c: icc: command line remark #10279: option '-xW' is deprecated and will be removed in a future release. See '-help deprecated'
measure.c: icc: command line remark #10279: option '-xW' is deprecated and will be removed in a future release. See '-help deprecated'

Number of similar (compiler,implementation) pairs: 16, namely:
CompilerImplementations
icc -O1 -xW -static asm64 opt64
icc -O1 -xW -static -no-vec asm64 opt64
icc -O2 -xW -static asm64 opt64
icc -O2 -xW -static -no-vec asm64 opt64
icc -O3 -xW -static asm64 opt64
icc -O3 -xW -static -no-vec asm64 opt64
icc -Os -xW -static asm64 opt64
icc -Os -xW -static -no-vec asm64 opt64