Implementation notes: amd64, cherry, crypto_hash/skein512256

Computer: cherry
Microarchitecture: amd64; Silvermont (406c4)
Architecture: amd64
CPU ID: GenuineIntel-000406c4-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_hash
Primitive: skein512256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
188664808 0 015391 772 952T:littlegcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
1913520020 0 030023 772 952T:optgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
2047110299 0 021072 780 952T:sphlibgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
205154854 0 017672 812 888T:simpleclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
207064867 0 018096 812 888T:simpleclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
209064875 0 016456 812 888T:simpleclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
2124312009 0 024304 812 888T:sphlibclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
217894870 0 014942 804 888T:simpleclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
218745009 0 015583 772 952T:simplegcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
219584899 0 017128 780 952T:littlegcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
220174915 0 015960 780 952T:littlegcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
2214511298 0 022022 804 888T:sphlibclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
2241921247 0 031592 780 952T:optgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
2245122504 0 033632 780 952T:optgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
225364590 0 014171 756 920T:littlegcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
2284711961 0 024664 812 888T:sphlibclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
2285411766 0 021310 804 888T:sphlibclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
2287411961 0 023016 812 888T:sphlibclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
2290712093 0 024424 780 952T:sphlibgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
2318211837 0 022968 780 952T:sphlibgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
2331721037 0 031055 772 952T:x64gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
2332821862 0 032216 780 952T:x64gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
2333522680 0 033808 780 952T:x64gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
2341215352 0 024371 756 920T:optgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
234619598 0 019299 756 920T:sphlibgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
235284217 0 014992 780 952T:sphlib-smallgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
2365916597 0 025627 756 920T:x64gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
242135651 0 017880 780 952T:simplegcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
248215075 0 016120 780 952T:simplegcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
248874666 0 014251 756 920T:simplegcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
274566509 0 018840 780 952T:sphlib-smallgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
275813834 0 013539 756 920T:sphlib-smallgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
292296489 0 018800 812 888T:sphlib-smallclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
296586125 0 017256 780 952T:sphlib-smallgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
303046409 0 019128 812 888T:sphlib-smallclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
304006409 0 017480 812 888T:sphlib-smallclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
310265995 0 015566 804 888T:sphlib-smallclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
319805378 0 016118 804 888T:sphlib-smallclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
4659830891 0 041744 812 888T:optclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
4660430983 0 043480 812 888T:optclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
4694329863 0 039854 804 888T:optclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
4735429581 0 039030 804 888T:optclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
4744913661 0 026488 812 888T:littleclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
4751713675 0 026912 812 888T:littleclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
4752613675 0 025264 812 888T:littleclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
4796313727 0 023806 804 888T:littleclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
4823931741 0 043840 812 888T:optclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
4868213768 0 024342 804 888T:littleclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
4897714669 0 025270 804 888T:simpleclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
839405101 0 015679 772 952T:sandygcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
854885187 0 017416 780 952T:sandygcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
854945203 0 016248 780 952T:sandygcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
858104897 0 014475 756 920T:sandygcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
11328813186 0 023262 804 888T:sandyclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
11435413157 0 024736 812 888T:sandyclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
11436213157 0 026384 812 888T:sandyclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
11627513214 0 023798 804 888T:sandyclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
11716813531 0 026360 812 888T:sandyclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
12122620516 0 030091 756 920T:mmxgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
12183621167 0 032208 780 952T:mmxgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
12184221167 0 033392 780 952T:mmxgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
12212521155 0 031727 772 952T:mmxgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625

Compiler output


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 (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:mmxclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:mmxclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:mmxclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:mmxclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:mmxclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


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: 1 warning generated.
skein_block_x64.S: skein_block_x64.S:12: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: <instantiation>: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: <instantiation>:4: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:560:1: note: while in macro instantiation
skein_block_x64.S: .rept _UNROLL_CNT*2
skein_block_x64.S: ^
skein_block_x64.S: <instantiation>:1:10: error: invalid reassignment of non-absolute variable '_RCNT_'
skein_block_x64.S: _RCNT_ = RC_256&_0&_1
skein_block_x64.S:          ^
skein_block_x64.S: <instantiation>:10:5: note: while in macro instantiation
skein_block_x64.S:     RotL64 rdx, 256,%((4*_Rbase_+0) % 8),1
skein_block_x64.S:     ^
skein_block_x64.S: skein_block_x64.S:560:1: note: while in macro instantiation
skein_block_x64.S: .rept _UNROLL_CNT*2
skein_block_x64.S: ^
skein_block_x64.S: ...

Number of similar (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:x64clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:x64clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:x64clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:x64clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:x64clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


skein_block_x64.S: skein_block_x64.S:336:61: warning: trigraph ??) ignored, use -trigraphs to enable [-Wtrigraphs]
skein_block_x64.S:   336 |     addq    $LOCAL_SIZE,%rsp        #get rid of locals (wipe??)
skein_block_x64.S:       |

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:x64gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:x64gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:x64gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:x64gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)