Implementation notes: amd64, hlopt03, crypto_hash/blake64

Computer: hlopt03
Architecture: amd64
CPU ID: AuthenticAMD-00100f23-178bfbff
SUPERCOP version: 20100509
Operation: crypto_hash
Primitive: blake64
TimeImplementationCompilerBenchmark dateSUPERCOP version
20322refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2010052720100509
20350refgcc -funroll-loops -O3 -fomit-frame-pointer2010052720100509
20361refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2010052720100509
20414refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2010052720100509
20438refgcc -funroll-loops -O2 -fomit-frame-pointer2010052720100509
20453refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2010052720100509
20512refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2010052720100509
20533refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2010052720100509
20549refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2010052720100509
20708refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2010052720100509
22435refgcc -funroll-loops -Os -fomit-frame-pointer2010052720100509
22436refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2010052720100509
22485refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2010052720100509
22524refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2010052720100509
22558refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2010052720100509
22705refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2010052720100509
22776refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2010052720100509
22807refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2010052720100509
23007refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2010052720100509
24251refgcc -funroll-loops -O -fomit-frame-pointer2010052720100509
24281refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2010052720100509
24288refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2010052720100509
24348refgcc -funroll-loops -m64 -O -fomit-frame-pointer2010052720100509
24397refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2010052720100509
24671refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2010052720100509
24695refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2010052720100509
25625refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2010052720100509
25633refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2010052720100509
28219refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2010052720100509
30197refgcc -m64 -O2 -fomit-frame-pointer2010052720100509
30583refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2010052720100509
30631refgcc -m64 -march=core2 -Os -fomit-frame-pointer2010052720100509
30821refgcc -O2 -fomit-frame-pointer2010052720100509
31086refgcc -m64 -march=k8 -Os -fomit-frame-pointer2010052720100509
31086refgcc -march=k8 -Os -fomit-frame-pointer2010052720100509
31102refgcc -march=k8 -O2 -fomit-frame-pointer2010052720100509
31241refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2010052720100509
31808refgcc -fno-schedule-insns -Os -fomit-frame-pointer2010052720100509
31892refgcc -m64 -O3 -fomit-frame-pointer2010052720100509
32225refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2010052720100509
32225refgcc -march=k8 -O3 -fomit-frame-pointer2010052720100509
32256refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2010052720100509
32427refgcc -m64 -Os -fomit-frame-pointer2010052720100509
32820refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2010052720100509
32831refgcc -O3 -fomit-frame-pointer2010052720100509
32841refgcc -Os -fomit-frame-pointer2010052720100509
34621refgcc -O -fomit-frame-pointer2010052720100509
34811refgcc -march=nocona -O -fomit-frame-pointer2010052720100509
34885refgcc -m64 -O -fomit-frame-pointer2010052720100509
35024refgcc -m64 -march=nocona -O -fomit-frame-pointer2010052720100509
35149refgcc -fno-schedule-insns -O -fomit-frame-pointer2010052720100509
35320refgcc -m64 -march=core2 -O -fomit-frame-pointer2010052720100509
35666refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2010052720100509
35787refgcc -march=nocona -O3 -fomit-frame-pointer2010052720100509
36802refgcc -march=nocona -O2 -fomit-frame-pointer2010052720100509
36924refgcc -march=k8 -O -fomit-frame-pointer2010052720100509
37116refgcc -march=nocona -Os -fomit-frame-pointer2010052720100509
37410refgcc -m64 -march=nocona -Os -fomit-frame-pointer2010052720100509
37682refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2010052720100509
37781refgcc -m64 -march=k8 -O -fomit-frame-pointer2010052720100509
85073refgcc -funroll-loops2010052720100509
85739refgcc2010052720100509
86040refcc2010052720100509
412541sse2gcc2010052720100509
412778sse2gcc -funroll-loops2010052720100509
412893sse2cc2010052720100509

Checksum failure

Implementation: crypto_hash/blake64/sse2
Compiler: gcc -O2 -fomit-frame-pointer
1d829984e2f4e41b9a7aac931c1af11c4306ab899b69dd71ccea843a0490e0771cbfc0f8e9306f0fa3578ab552218649c1dda39c14bf14002a57d853e3bc5bf9
Number of similar (compiler,implementation) pairs: 16, namely:
CompilerImplementations
gcc -O2 -fomit-frame-pointer sse2
gcc -O3 -fomit-frame-pointer sse2
gcc -fno-schedule-insns -O2 -fomit-frame-pointer sse2
gcc -fno-schedule-insns -O3 -fomit-frame-pointer sse2
gcc -m64 -O2 -fomit-frame-pointer sse2
gcc -m64 -O3 -fomit-frame-pointer sse2
gcc -m64 -march=core2 -O2 -fomit-frame-pointer sse2
gcc -m64 -march=core2 -O3 -fomit-frame-pointer sse2
gcc -m64 -march=k8 -O2 -fomit-frame-pointer sse2
gcc -m64 -march=k8 -O3 -fomit-frame-pointer sse2
gcc -m64 -march=nocona -O2 -fomit-frame-pointer sse2
gcc -m64 -march=nocona -O3 -fomit-frame-pointer sse2
gcc -march=k8 -O2 -fomit-frame-pointer sse2
gcc -march=k8 -O3 -fomit-frame-pointer sse2
gcc -march=nocona -O2 -fomit-frame-pointer sse2
gcc -march=nocona -O3 -fomit-frame-pointer sse2

Checksum failure

Implementation: crypto_hash/blake64/sse2
Compiler: gcc -O -fomit-frame-pointer
40aa039a345f2f112fb4d4e9974422ac23a9d17a932d7d73191b2e01c0e4352a55fdc0b4977424eded6fb56e7bf6cf09762f7ea4f52737bdc17f165944b9f603
Number of similar (compiler,implementation) pairs: 15, namely:
CompilerImplementations
gcc -O -fomit-frame-pointer sse2
gcc -fno-schedule-insns -O -fomit-frame-pointer sse2
gcc -funroll-loops -O -fomit-frame-pointer sse2
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer sse2
gcc -funroll-loops -m64 -O -fomit-frame-pointer sse2
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer sse2
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer sse2
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer sse2
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer sse2
gcc -m64 -O -fomit-frame-pointer sse2
gcc -m64 -march=core2 -O -fomit-frame-pointer sse2
gcc -m64 -march=k8 -O -fomit-frame-pointer sse2
gcc -m64 -march=nocona -O -fomit-frame-pointer sse2
gcc -march=k8 -O -fomit-frame-pointer sse2
gcc -march=nocona -O -fomit-frame-pointer sse2

Checksum failure

Implementation: crypto_hash/blake64/sse2
Compiler: gcc -Os -fomit-frame-pointer
219cd759e5a145391feead1f576aa11d7c1c9ca655be42cb3e1258ab99b9465ed0e1f95e3cb5dd0e2f2ddea48e67a168899b511a112e60c5f4f46b56f1675cfd
Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
gcc -Os -fomit-frame-pointer sse2
gcc -fno-schedule-insns -Os -fomit-frame-pointer sse2
gcc -m64 -Os -fomit-frame-pointer sse2
gcc -m64 -march=core2 -Os -fomit-frame-pointer sse2
gcc -m64 -march=k8 -Os -fomit-frame-pointer sse2
gcc -m64 -march=nocona -Os -fomit-frame-pointer sse2
gcc -march=k8 -Os -fomit-frame-pointer sse2
gcc -march=nocona -Os -fomit-frame-pointer sse2

Checksum failure

Implementation: crypto_hash/blake64/sse2
Compiler: gcc -funroll-loops -O2 -fomit-frame-pointer
31b056993664d61f4baba3a5bd533cfa52fcad4f9b3b2c87d755d8c8f104bab20414638a52ef17a972b8c126e3d9a2a3f61f152e934892f7a20687ae1b918cf7
Number of similar (compiler,implementation) pairs: 14, namely:
CompilerImplementations
gcc -funroll-loops -O2 -fomit-frame-pointer sse2
gcc -funroll-loops -O3 -fomit-frame-pointer sse2
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer sse2
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer sse2
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer sse2
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer sse2
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer sse2
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer sse2
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer sse2
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer sse2
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer sse2
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer sse2
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer sse2
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer sse2

Checksum failure

Implementation: crypto_hash/blake64/sse2
Compiler: gcc -funroll-loops -Os -fomit-frame-pointer
3585641b93147953b61363d5420897065f9c84ce22334fcff152b3736d035a7c4983f70e26d93643faa49500b29cf5675509d693009267defedbdbc43cdf3cfd
Number of similar (compiler,implementation) pairs: 7, namely:
CompilerImplementations
gcc -funroll-loops -Os -fomit-frame-pointer sse2
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer sse2
gcc -funroll-loops -m64 -Os -fomit-frame-pointer sse2
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer sse2
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer sse2
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer sse2
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer sse2

Test failure

Implementation: crypto_hash/blake64/ssse3
Compiler: gcc -m64 -march=core2 -O2 -fomit-frame-pointer
error 132
sh: line 1: 12317 Illegal instruction ./try

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -m64 -march=core2 -O2 -fomit-frame-pointer ssse3

Test failure

Implementation: crypto_hash/blake64/ssse3
Compiler: gcc -m64 -march=core2 -O3 -fomit-frame-pointer
error 132
sh: line 1: 12249 Illegal instruction ./try

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -m64 -march=core2 -O3 -fomit-frame-pointer ssse3

Test failure

Implementation: crypto_hash/blake64/ssse3
Compiler: gcc -m64 -march=core2 -O -fomit-frame-pointer
error 132
sh: line 1: 12346 Illegal instruction ./try

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -m64 -march=core2 -O -fomit-frame-pointer ssse3

Test failure

Implementation: crypto_hash/blake64/ssse3
Compiler: gcc -m64 -march=core2 -Os -fomit-frame-pointer
error 132
sh: line 1: 12278 Illegal instruction ./try

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -m64 -march=core2 -Os -fomit-frame-pointer ssse3

Compiler output

Implementation: crypto_hash/blake64/ssse3
Compiler: cc
hash.c: In file included from hash.c:5:
hash.c: /usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/tmmintrin.h:34:3: error: #error "SSSE3 instruction set not enabled"
hash.c: hash.c: In function 'blake64_compress':
hash.c: hash.c:268: error: incompatible types in assignment
hash.c: hash.c:268: error: incompatible types in assignment
hash.c: hash.c:268: error: incompatible types in assignment
hash.c: hash.c:268: error: incompatible types in assignment
hash.c: hash.c:269: error: incompatible types in assignment
hash.c: hash.c:269: error: incompatible types in assignment
hash.c: hash.c:269: error: incompatible types in assignment
hash.c: ...
hash.c: hash.c:279: error: incompatible types in assignment
hash.c: hash.c:279: error: incompatible types in assignment
hash.c: hash.c:280: error: incompatible types in assignment
hash.c: hash.c:280: error: incompatible types in assignment
hash.c: hash.c:280: error: incompatible types in assignment
hash.c: hash.c:280: error: incompatible types in assignment
hash.c: hash.c:281: error: incompatible types in assignment
hash.c: hash.c:281: error: incompatible types in assignment
hash.c: hash.c:281: error: incompatible types in assignment
hash.c: hash.c:281: error: incompatible types in assignment

Number of similar (compiler,implementation) pairs: 59, namely:
CompilerImplementations
cc ssse3
gcc ssse3
gcc -O2 -fomit-frame-pointer ssse3
gcc -O3 -fomit-frame-pointer ssse3
gcc -O -fomit-frame-pointer ssse3
gcc -Os -fomit-frame-pointer ssse3
gcc -fno-schedule-insns -O2 -fomit-frame-pointer ssse3
gcc -fno-schedule-insns -O3 -fomit-frame-pointer ssse3
gcc -fno-schedule-insns -O -fomit-frame-pointer ssse3
gcc -fno-schedule-insns -Os -fomit-frame-pointer ssse3
gcc -funroll-loops ssse3
gcc -funroll-loops -O2 -fomit-frame-pointer ssse3
gcc -funroll-loops -O3 -fomit-frame-pointer ssse3
gcc -funroll-loops -O -fomit-frame-pointer ssse3
gcc -funroll-loops -Os -fomit-frame-pointer ssse3
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer ssse3
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer ssse3
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer ssse3
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer ssse3
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer ssse3
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer ssse3
gcc -funroll-loops -m64 -O -fomit-frame-pointer ssse3
gcc -funroll-loops -m64 -Os -fomit-frame-pointer ssse3
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer ssse3
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer ssse3
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer ssse3
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer ssse3
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer ssse3
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer ssse3
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer ssse3
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer ssse3
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer ssse3
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer ssse3
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer ssse3
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer ssse3
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer ssse3
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer ssse3
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer ssse3
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer ssse3
gcc -m64 -O2 -fomit-frame-pointer ssse3
gcc -m64 -O3 -fomit-frame-pointer ssse3
gcc -m64 -O -fomit-frame-pointer ssse3
gcc -m64 -Os -fomit-frame-pointer ssse3
gcc -m64 -march=k8 -O2 -fomit-frame-pointer ssse3
gcc -m64 -march=k8 -O3 -fomit-frame-pointer ssse3
gcc -m64 -march=k8 -O -fomit-frame-pointer ssse3
gcc -m64 -march=k8 -Os -fomit-frame-pointer ssse3
gcc -m64 -march=nocona -O2 -fomit-frame-pointer ssse3
gcc -m64 -march=nocona -O3 -fomit-frame-pointer ssse3
gcc -m64 -march=nocona -O -fomit-frame-pointer ssse3
gcc -m64 -march=nocona -Os -fomit-frame-pointer ssse3
gcc -march=k8 -O2 -fomit-frame-pointer ssse3
gcc -march=k8 -O3 -fomit-frame-pointer ssse3
gcc -march=k8 -O -fomit-frame-pointer ssse3
gcc -march=k8 -Os -fomit-frame-pointer ssse3
gcc -march=nocona -O2 -fomit-frame-pointer ssse3
gcc -march=nocona -O3 -fomit-frame-pointer ssse3
gcc -march=nocona -O -fomit-frame-pointer ssse3
gcc -march=nocona -Os -fomit-frame-pointer ssse3