Implementation notes: amd64, hlopt02, crypto_hash/blake64

Computer: hlopt02
Architecture: amd64
CPU ID: AuthenticAMD-00100f23-178bfbff
SUPERCOP version: 20100425
Operation: crypto_hash
Primitive: blake64
TimeImplementationCompilerBenchmark dateSUPERCOP version
20334refgcc -funroll-loops -O3 -fomit-frame-pointer2010050320100425
20375refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2010050320100425
20397refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2010050320100425
20454refgcc -funroll-loops -O2 -fomit-frame-pointer2010050320100425
20493refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2010050320100425
20519refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2010050320100425
20519refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2010050320100425
20619refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2010050320100425
20780refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2010050320100425
20882refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2010050320100425
22485refgcc -funroll-loops -Os -fomit-frame-pointer2010050320100425
22508refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2010050320100425
22547refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2010050320100425
22597refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2010050320100425
22696refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2010050320100425
22740refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2010050320100425
22770refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2010050320100425
22777refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2010050320100425
22798refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2010050320100425
24185refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2010050320100425
24221refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2010050320100425
24264refgcc -funroll-loops -O -fomit-frame-pointer2010050320100425
24286refgcc -funroll-loops -m64 -O -fomit-frame-pointer2010050320100425
24395refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2010050320100425
24527refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2010050320100425
24629refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2010050320100425
25626refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2010050320100425
25670refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2010050320100425
28581refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2010050320100425
30239refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2010050320100425
30565refgcc -march=k8 -O2 -fomit-frame-pointer2010050320100425
30639refgcc -m64 -march=core2 -Os -fomit-frame-pointer2010050320100425
30691refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2010050320100425
30763refgcc -O2 -fomit-frame-pointer2010050320100425
30770refgcc -m64 -O2 -fomit-frame-pointer2010050320100425
31151refgcc -Os -fomit-frame-pointer2010050320100425
31162refgcc -m64 -Os -fomit-frame-pointer2010050320100425
31720refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2010050320100425
32179refgcc -fno-schedule-insns -Os -fomit-frame-pointer2010050320100425
32179refgcc -m64 -march=k8 -Os -fomit-frame-pointer2010050320100425
32212refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2010050320100425
32234refgcc -O3 -fomit-frame-pointer2010050320100425
32234refgcc -march=k8 -O3 -fomit-frame-pointer2010050320100425
32424refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2010050320100425
32465refgcc -march=k8 -Os -fomit-frame-pointer2010050320100425
32821refgcc -m64 -O3 -fomit-frame-pointer2010050320100425
34936refgcc -march=nocona -O -fomit-frame-pointer2010050320100425
35134refgcc -m64 -O -fomit-frame-pointer2010050320100425
35156refgcc -m64 -march=core2 -O -fomit-frame-pointer2010050320100425
35189refgcc -O -fomit-frame-pointer2010050320100425
35226refgcc -m64 -march=nocona -O -fomit-frame-pointer2010050320100425
35670refgcc -march=nocona -O3 -fomit-frame-pointer2010050320100425
35761refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2010050320100425
35904refgcc -fno-schedule-insns -O -fomit-frame-pointer2010050320100425
36515refgcc -march=nocona -O2 -fomit-frame-pointer2010050320100425
36894refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2010050320100425
37403refgcc -m64 -march=nocona -Os -fomit-frame-pointer2010050320100425
37437refgcc -march=nocona -Os -fomit-frame-pointer2010050320100425
38122refgcc -march=k8 -O -fomit-frame-pointer2010050320100425
38528refgcc -m64 -march=k8 -O -fomit-frame-pointer2010050320100425
85814refgcc2010050320100425
85988refcc2010050320100425
86028refgcc -funroll-loops2010050320100425
411759sse2cc2010050320100425
413897sse2gcc -funroll-loops2010050320100425
414427sse2gcc2010050320100425

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: 7986 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: 7927 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: 8015 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: 7957 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