Implementation notes: amd64, waldorf, crypto_hash/skein512512

Computer: waldorf
Architecture: amd64
CPU ID: GenuineIntel-000106e5-bfebfbff
SUPERCOP version: 20160715
Operation: crypto_hash
Primitive: skein512512
TimeImplementationCompilerBenchmark dateSUPERCOP version
20204sphlibclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016071820160715
20280optgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
21928littlegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
22016optgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
22088sphlibgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
22468sphlibgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
22904littlegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
22972sandygcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
23216optgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
23776x64gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
23908sphlib-smallgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
23976x64gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
24140x64gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
24652sandygcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
24660littlegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
25084x64gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
25280simpleclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016071820160715
25344littlegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
25488sphlibgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
25656optgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
25780sandygcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
25916sandygcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
25976simplegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
27192simplegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
27880sphlibgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
28020simplegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
28420sphlib-smallgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
28580simplegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
29176mmxgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
29200sphlib-smallgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
30652sphlib-smallgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
30780mmxgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
32376mmxgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
32520mmxgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
33152sphlib-smallclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016071820160715
64744optclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016071820160715
66708sandyclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016071820160715
67256littleclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016071820160715

Compiler output

Implementation: crypto_hash/skein512512/mmx
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
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' (vector of 1 'long long' value) 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' (vector of 1 'long long' value) 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' (vector of 1 'long long' value) 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' (vector of 1 'long long' value) 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' (vector of 1 'long long' value) 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' (vector of 1 'long long' value) 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' (vector of 1 'long long' value) 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' (vector of 1 'long long' value) from incompatible type 'int'
hash.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments mmx

Compiler output

Implementation: crypto_hash/skein512512/x64
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
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: 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: gt;:6:5: note: while in macro instantiation
skein_block_x64.S: RotL64 rbx, 256,%((4*_Rbase_+0) % 8),0
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;:1:10: error: invalid reassignment of non-absolute variable '_RCNT_'
skein_block_x64.S: _RCNT_ = RC_256&_%((4*_Rbase_+0)%8)&_1
skein_block_x64.S: ^
skein_block_x64.S: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments x64

Compiler output

Implementation: crypto_hash/skein512512/x64
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
skein_block_x64.S: skein_block_x64.S:336:61: warning: trigraph ??) ignored, use -trigraphs to enable [-Wtrigraphs]
skein_block_x64.S: addq $LOCAL_SIZE,%rsp #get rid of locals (wipe??)
skein_block_x64.S: ^

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv x64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv x64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv x64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv x64