Implementation notes: amd64, cryptologic, crypto_hash/bblake256

Computer: cryptologic
Architecture: amd64
CPU ID: GenuineIntel-000206c2-bfebfbff
SUPERCOP version: 20140517
Operation: crypto_hash
Primitive: bblake256
TimeImplementationCompilerBenchmark dateSUPERCOP version
16143sse2gcc -fno-schedule-insns -O2 -fomit-frame-pointer2014051920140517
20803sse2gcc -march=k8 -Os -fomit-frame-pointer2014051920140517
20982sse2gcc -m64 -march=core2 -Os -fomit-frame-pointer2014051920140517
21170sse2gcc -m64 -march=k8 -O -fomit-frame-pointer2014051920140517
30075ssse3gcc -m64 -march=core2 -O3 -fomit-frame-pointer2014051920140517
30225ssse3gcc -m64 -march=core2 -O2 -fomit-frame-pointer2014051920140517
34325sse2gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014051920140517
34342sse2gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014051920140517
34359sse2gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014051920140517
34375sse2gcc -funroll-loops -O2 -fomit-frame-pointer2014051920140517
34384sse2gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014051920140517
34458sse2gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014051920140517
34459sse2gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014051920140517
34483sse2gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014051920140517
34517sse2gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014051920140517
34542sse2gcc -funroll-loops -O3 -fomit-frame-pointer2014051920140517
36125sse2gcc -m64 -O3 -fomit-frame-pointer2014051920140517
36142sse2gcc -fno-schedule-insns -O3 -fomit-frame-pointer2014051920140517
36175sse2gcc -O3 -fomit-frame-pointer2014051920140517
36217sse2gcc -m64 -march=core2 -O3 -fomit-frame-pointer2014051920140517
36217sse2gcc -march=k8 -O3 -fomit-frame-pointer2014051920140517
36234sse2gcc -m64 -march=k8 -O2 -fomit-frame-pointer2014051920140517
36242sse2gcc -m64 -march=k8 -O3 -fomit-frame-pointer2014051920140517
36283sse2gcc -march=k8 -O2 -fomit-frame-pointer2014051920140517
36341sse2gcc -O2 -fomit-frame-pointer2014051920140517
36508sse2gcc -m64 -O2 -fomit-frame-pointer2014051920140517
36508sse2gcc -m64 -march=core2 -O2 -fomit-frame-pointer2014051920140517
37834sse2gcc -march=nocona -O2 -fomit-frame-pointer2014051920140517
37841sse2gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014051920140517
37850sse2gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014051920140517
37984sse2gcc -march=nocona -O3 -fomit-frame-pointer2014051920140517
38033sse2gcc -m64 -march=nocona -O3 -fomit-frame-pointer2014051920140517
38100sse2gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014051920140517
38125sse2gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014051920140517
38400sse2gcc -m64 -march=nocona -O2 -fomit-frame-pointer2014051920140517
39991ssse3gcc -m64 -march=core2 -O -fomit-frame-pointer2014051920140517
45450sse2gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014051920140517
45475sse2gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014051920140517
45525sse2gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014051920140517
45575sse2gcc -funroll-loops -Os -fomit-frame-pointer2014051920140517
45583sse2gcc -funroll-loops -m64 -Os -fomit-frame-pointer2014051920140517
46884sse2gcc -m64 -march=k8 -Os -fomit-frame-pointer2014051920140517
46934sse2gcc -fno-schedule-insns -Os -fomit-frame-pointer2014051920140517
46975sse2gcc -m64 -Os -fomit-frame-pointer2014051920140517
47033sse2gcc -Os -fomit-frame-pointer2014051920140517
47625sse2gcc -fno-schedule-insns -O -fomit-frame-pointer2014051920140517
47633sse2gcc -O -fomit-frame-pointer2014051920140517
47684sse2gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014051920140517
47716sse2gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014051920140517
47717sse2gcc -m64 -march=nocona -O -fomit-frame-pointer2014051920140517
47767sse2gcc -m64 -O -fomit-frame-pointer2014051920140517
47775sse2gcc -march=k8 -O -fomit-frame-pointer2014051920140517
47800sse2gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014051920140517
47816sse2gcc -march=nocona -O -fomit-frame-pointer2014051920140517
47834sse2gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014051920140517
47850sse2gcc -m64 -march=core2 -O -fomit-frame-pointer2014051920140517
48141sse2gcc -m64 -march=nocona -Os -fomit-frame-pointer2014051920140517
48184sse2gcc -march=nocona -Os -fomit-frame-pointer2014051920140517
48192sse2gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014051920140517
48234sse2gcc -funroll-loops -O -fomit-frame-pointer2014051920140517
48425sse2gcc -funroll-loops -m64 -O -fomit-frame-pointer2014051920140517
48491sse2gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014051920140517
48517sse2gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014051920140517
54958ssse3gcc -m64 -march=core2 -Os -fomit-frame-pointer2014051920140517
69208regsgcc -march=nocona -O -fomit-frame-pointer2014051920140517
69250regsgcc -O -fomit-frame-pointer2014051920140517
69250regsgcc -fno-schedule-insns -O -fomit-frame-pointer2014051920140517
69250regsgcc -m64 -march=k8 -O -fomit-frame-pointer2014051920140517
69267regsgcc -m64 -O -fomit-frame-pointer2014051920140517
69284regsgcc -m64 -march=nocona -O -fomit-frame-pointer2014051920140517
69291regsgcc -m64 -march=core2 -O -fomit-frame-pointer2014051920140517
69292regsgcc -march=k8 -O -fomit-frame-pointer2014051920140517
69375regsgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014051920140517
69383regsgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014051920140517
69383regsgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014051920140517
69400regsgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014051920140517
69408regsgcc -funroll-loops -m64 -O -fomit-frame-pointer2014051920140517
69483regsgcc -funroll-loops -O -fomit-frame-pointer2014051920140517
69508regsgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014051920140517
95700regsgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014051920140517
95758regsgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014051920140517
95817regsgcc -funroll-loops -O3 -fomit-frame-pointer2014051920140517
95883regsgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014051920140517
95884regsgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014051920140517
95900regsgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014051920140517
96016regsgcc -funroll-loops -O2 -fomit-frame-pointer2014051920140517
96017regsgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014051920140517
96017regsgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014051920140517
96067regsgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014051920140517
96642regsgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014051920140517
96642regsgcc -m64 -O2 -fomit-frame-pointer2014051920140517
96650regsgcc -m64 -O3 -fomit-frame-pointer2014051920140517
96666regsgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014051920140517
96725regsgcc -O3 -fomit-frame-pointer2014051920140517
96783regsgcc -m64 -march=k8 -Os -fomit-frame-pointer2014051920140517
96833regsgcc -O2 -fomit-frame-pointer2014051920140517
96850regsgcc -march=k8 -Os -fomit-frame-pointer2014051920140517
97050regsgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014051920140517
97059regsgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014051920140517
97066regsgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014051920140517
97083regsgcc -march=k8 -O2 -fomit-frame-pointer2014051920140517
97109regsgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014051920140517
97141regsgcc -funroll-loops -Os -fomit-frame-pointer2014051920140517
97158regsgcc -march=k8 -O3 -fomit-frame-pointer2014051920140517
97200regsgcc -fno-schedule-insns -Os -fomit-frame-pointer2014051920140517
97216regsgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014051920140517
97225regsgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014051920140517
97258regsgcc -m64 -Os -fomit-frame-pointer2014051920140517
97309regsgcc -Os -fomit-frame-pointer2014051920140517
98192regsgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014051920140517
98250regsgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014051920140517
98616regsgcc -m64 -march=core2 -Os -fomit-frame-pointer2014051920140517
101975regsgcc -march=nocona -Os -fomit-frame-pointer2014051920140517
102075regsgcc -m64 -march=nocona -Os -fomit-frame-pointer2014051920140517
102484regsgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014051920140517
102600regsgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014051920140517
103366regsgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014051920140517
103441regsgcc -march=nocona -O3 -fomit-frame-pointer2014051920140517
103634regsgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014051920140517
103642regsgcc -march=nocona -O2 -fomit-frame-pointer2014051920140517
103666regsgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014051920140517
103667regsgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014051920140517
103759regsgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014051920140517
103808regsgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014051920140517
252088sse2gcc -funroll-loops2014051920140517
292817regsgcc -funroll-loops2014051920140517
292850regsgcc2014051920140517
292867regscc2014051920140517
565392sse2cc2014051920140517
565542sse2gcc2014051920140517

Compiler output

Implementation: crypto_hash/bblake256/ssse3
Compiler: cc
hash.c: In file included from hash.c:3:
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 'blake256_compress':
hash.c: hash.c:172: error: '__m128i' undeclared (first use in this function)
hash.c: hash.c:172: error: (Each undeclared identifier is reported only once
hash.c: hash.c:172: error: for each function it appears in.)
hash.c: hash.c:172: error: expected ';' before 'row1'
hash.c: hash.c:173: error: expected ';' before 'buf1'
hash.c: hash.c:174: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'r8'
hash.c: hash.c:174: error: 'r8' undeclared (first use in this function)
hash.c: ...
hash.c: hash.c:272: error: 'yrow3' undeclared (first use in this function)
hash.c: hash.c:275: error: 'yrow4' undeclared (first use in this function)
hash.c: hash.c:290: error: 'xbuf1' undeclared (first use in this function)
hash.c: hash.c:290: error: 'xbuf2' undeclared (first use in this function)
hash.c: hash.c:290: error: 'ybuf1' undeclared (first use in this function)
hash.c: hash.c:290: error: 'ybuf2' undeclared (first use in this function)
hash.c: hash.c:305: error: expected expression before ')' token
hash.c: hash.c:310: error: expected expression before ')' token
hash.c: hash.c:316: error: expected expression before ')' token
hash.c: hash.c:321: error: expected expression before ')' token

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

Compiler output

Implementation: crypto_hash/bblake256/bswap
Compiler: cc
try.c: crypto_hash_bblake256.a(hash.o): In function `blake256_compress':
try.c: hash.c:(.text+0x...): undefined reference to `__builtin_bswap32'
try.c: hash.c:(.text+0x...): undefined reference to `__builtin_bswap32'
try.c: hash.c:(.text+0x...): undefined reference to `__builtin_bswap32'
try.c: hash.c:(.text+0x...): undefined reference to `__builtin_bswap32'
try.c: hash.c:(.text+0x...): undefined reference to `__builtin_bswap32'
try.c: crypto_hash_bblake256.a(hash.o):hash.c:(.text+0x...): more undefined references to `__builtin_bswap32' follow
try.c: collect2: ld returned 1 exit status

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