Implementation notes: amd64, floodyberry, crypto_hash/skein512512

Computer: floodyberry
Architecture: amd64
CPU ID: GenuineIntel-00010676-bfebfbff
SUPERCOP version: 20140505
Operation: crypto_hash
Primitive: skein512512
TimeImplementationCompilerBenchmark dateSUPERCOP version
10438littleicc -m64 -O1 -static -xHost -fomit-frame-pointer2014050820140505
10562littleicc -m64 -O3 -static -xHost -fomit-frame-pointer2014050820140505
10700sphlibicc -m64 -O1 -static -xHost -fomit-frame-pointer2014050820140505
10900x64gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
10950x64gcc -m64 -O2 -fomit-frame-pointer2014050820140505
10950x64gcc -m64 -O3 -fomit-frame-pointer2014050820140505
10963x64icc -m64 -O3 -static -xHost -fomit-frame-pointer2014050820140505
10975x64gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
10975x64icc -m64 -O1 -static -xHost -fomit-frame-pointer2014050820140505
11025optgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
11050optgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
11050opticc -m64 -O3 -static -xHost -fomit-frame-pointer2014050820140505
11050sphlibicc -m64 -O3 -static -xHost -fomit-frame-pointer2014050820140505
11087opticc -m64 -O1 -static -xHost -fomit-frame-pointer2014050820140505
11163littlegcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
11175littlegcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
11313sphlib-smallicc -m64 -O3 -static -xHost -fomit-frame-pointer2014050820140505
11375sphlibclang -O3 -march=native -m64 -fomit-frame-pointer2014050820140505
11413sphlibgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
11413sphlibgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
11750optgcc -m64 -O3 -fomit-frame-pointer2014050820140505
11775littlegcc -m64 -O3 -fomit-frame-pointer2014050820140505
11787littlegcc -m64 -O2 -fomit-frame-pointer2014050820140505
11862optgcc -m64 -O2 -fomit-frame-pointer2014050820140505
11912sphlibgcc -m64 -O3 -fomit-frame-pointer2014050820140505
11925sphlibgcc -m64 -O2 -fomit-frame-pointer2014050820140505
11938sphlibclang -O1 -march=native -m64 -fomit-frame-pointer2014050820140505
12250simpleicc -m64 -O1 -static -xHost -fomit-frame-pointer2014050820140505
12562simpleicc -m64 -O3 -static -xHost -fomit-frame-pointer2014050820140505
12775simplegcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
12912simplegcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
13075sandygcc -m64 -O2 -fomit-frame-pointer2014050820140505
13075sandygcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
13100simpleclang -O3 -march=native -m64 -fomit-frame-pointer2014050820140505
13112sandygcc -m64 -O3 -fomit-frame-pointer2014050820140505
13138sandygcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
13187sandyicc -m64 -O3 -static -xHost -fomit-frame-pointer2014050820140505
13600sandyicc -m64 -O1 -static -xHost -fomit-frame-pointer2014050820140505
13612simplegcc -m64 -O2 -fomit-frame-pointer2014050820140505
13663simplegcc -m64 -O3 -fomit-frame-pointer2014050820140505
13775sphlib-smallicc -m64 -O1 -static -xHost -fomit-frame-pointer2014050820140505
14050sphlib-smallgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
14450sphlib-smallgcc -m64 -O2 -fomit-frame-pointer2014050820140505
15188sphlib-smallgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
15488sphlib-smallgcc -m64 -O3 -fomit-frame-pointer2014050820140505
16150sphlib-smallclang -O3 -march=native -m64 -fomit-frame-pointer2014050820140505
18375sphlib-smallclang -O1 -march=native -m64 -fomit-frame-pointer2014050820140505
27125mmxicc -m64 -O3 -static -xHost -fomit-frame-pointer2014050820140505
27225mmxgcc -m64 -O3 -fomit-frame-pointer2014050820140505
27238mmxgcc -m64 -O2 -fomit-frame-pointer2014050820140505
27275mmxicc -m64 -O1 -static -xHost -fomit-frame-pointer2014050820140505
27313mmxgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
27350mmxgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
44138littleclang -O3 -march=native -m64 -fomit-frame-pointer2014050820140505
44138optclang -O3 -march=native -m64 -fomit-frame-pointer2014050820140505
44163optclang -O1 -march=native -m64 -fomit-frame-pointer2014050820140505
44412littleclang -O1 -march=native -m64 -fomit-frame-pointer2014050820140505
46200simpleclang -O1 -march=native -m64 -fomit-frame-pointer2014050820140505
47475sandyclang -O1 -march=native -m64 -fomit-frame-pointer2014050820140505
47825sandyclang -O3 -march=native -m64 -fomit-frame-pointer2014050820140505

Compiler output

Implementation: crypto_hash/skein512512/mmx
Compiler: clang -O1 -march=native -m64 -fomit-frame-pointer
hash.c: hash.c:65:17: warning: implicit declaration of function '_mm_add_si64' is invalid in C99 [-Wimplicit-function-declaration]
hash.c: ts[0] = _mm_add_si64(ts[0],_mm_set_pi32(0,byteCntAdd));
hash.c: ^
hash.c: hash.c:65:15: error: assigning to '__m64' from incompatible type 'int'
hash.c: ts[0] = _mm_add_si64(ts[0],_mm_set_pi32(0,byteCntAdd));
hash.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: hash.c:106:12: error: assigning to '__m64' from incompatible type 'int'
hash.c: X0 = _mm_add_si64(X0,ks[0]);
hash.c: ^ ~~~~~~~~~~~~~~~~~~~~~~
hash.c: hash.c:107:12: error: assigning to '__m64' from incompatible type 'int'
hash.c: X1 = _mm_add_si64(X1,ks[1]);
hash.c: ^ ~~~~~~~~~~~~~~~~~~~~~~
hash.c: hash.c:108:12: error: assigning to '__m64' from incompatible type 'int'
hash.c: X2 = _mm_add_si64(X2,ks[2]);
hash.c: ^ ~~~~~~~~~~~~~~~~~~~~~~
hash.c: hash.c:109:12: error: assigning to '__m64' from incompatible type 'int'
hash.c: X3 = _mm_add_si64(X3,ks[3]);
hash.c: ^ ~~~~~~~~~~~~~~~~~~~~~~
hash.c: hash.c:110:12: error: assigning to '__m64' from incompatible type 'int'
hash.c: X4 = _mm_add_si64(X4,ks[4]);
hash.c: ^ ~~~~~~~~~~~~~~~~~~~~~~
hash.c: hash.c:111:12: error: assigning to '__m64' from incompatible type 'int'
hash.c: X5 = _mm_add_si64(X5,_mm_add_si64(ks[5],ts[0]));
hash.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: hash.c:112:12: error: assigning to '__m64' from incompatible type 'int'
hash.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O1 -march=native -m64 -fomit-frame-pointer mmx
clang -O3 -march=native -m64 -fomit-frame-pointer mmx

Compiler output

Implementation: crypto_hash/skein512512/x64
Compiler: clang -O1 -march=native -m64 -fomit-frame-pointer
skein_block_x64.S: skein_block_x64.S:336:61: warning: trigraph ignored [-Wtrigraphs]
skein_block_x64.S: addq $LOCAL_SIZE,%rsp #get rid of locals (wipe??)
skein_block_x64.S: ^
skein_block_x64.S: skein_block_x64.S:427:13: warning: \u used with no following hex digits; treating as '\' followed by identifier [-Wunicode]
skein_block_x64.S: .elseif ((\useAddOp + 0) == 0)
skein_block_x64.S: ^
skein_block_x64.S: 2 warnings generated.
skein_block_x64.S: skein_block_x64.S:16:5: error: unknown directive
skein_block_x64.S: .altmacro
skein_block_x64.S: ^
skein_block_x64.S: skein_block_x64.S:17:5: error: unknown directive
skein_block_x64.S: .psize 0,128 #list file has no page boundaries
skein_block_x64.S: ^
skein_block_x64.S: skein_block_x64.S:510:39: error: macro argument 'debugCnt' is missing
skein_block_x64.S: Setup_Stack 256,((ROUNDS_256/8)+1)
skein_block_x64.S: ^
skein_block_x64.S: gt;:4:20: error: macro argument 'srcReg_B' is missing
skein_block_x64.S: addReg rax, rbx
skein_block_x64.S: ^
skein_block_x64.S: skein_block_x64.S:616:1: note: while in macro instantiation
skein_block_x64.S: .rept _UNROLL_CNT*2
skein_block_x64.S: ^
skein_block_x64.S: gt;:2:7: error: expected absolute expression
skein_block_x64.S: .if _RCNT_ #is there anything to do?
skein_block_x64.S: ^
skein_block_x64.S: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O1 -march=native -m64 -fomit-frame-pointer x64
clang -O3 -march=native -m64 -fomit-frame-pointer x64

Compiler output

Implementation: crypto_hash/skein512512/x64
Compiler: gcc -m64 -O2 -fomit-frame-pointer
skein_block_x64.S: skein_block_x64.S:336:61: warning: trigraph ??) ignored, use -trigraphs to enable [-Wtrigraphs]

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -m64 -O2 -fomit-frame-pointer x64
gcc -m64 -O3 -fomit-frame-pointer x64
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer x64
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer x64
icc -m64 -O1 -static -xHost -fomit-frame-pointer x64
icc -m64 -O3 -static -xHost -fomit-frame-pointer x64

Compiler output

Implementation: crypto_hash/skein512512/mmx
Compiler: icc -m64 -O1 -static -xHost -fomit-frame-pointer
hash.c: hash.c(188): (col. 1) warning #13200: No EMMS instruction before return from function
hash.c: hash.c(207): (col. 9) warning #13203: No EMMS instruction before call to function
hash.c: hash.c(231): (col. 12) warning #13200: No EMMS instruction before return from function

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
icc -m64 -O1 -static -xHost -fomit-frame-pointer mmx

Compiler output

Implementation: crypto_hash/skein512512/mmx
Compiler: icc -m64 -O3 -static -xHost -fomit-frame-pointer
hash.c: hash.c(207): (col. 9) warning #13203: No EMMS instruction before call to function
hash.c: hash.c(231): (col. 12) warning #13200: No EMMS instruction before return from function
hash.c: hash.c(188): (col. 1) warning #13200: No EMMS instruction before return from function

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
icc -m64 -O3 -static -xHost -fomit-frame-pointer mmx