Implementation notes: amd64, nucnuc, crypto_hash/skein512512

Computer: nucnuc
Microarchitecture: amd64; Airmont (406c3)
Architecture: amd64
CPU ID: GenuineIntel-000406c3-bfebfbff
SUPERCOP version: 20240107
Operation: crypto_hash
Primitive: skein512512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
188404843 0 015423 772 952T:littlegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122420231217
1909820020 0 030023 772 952T:optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122420231217
2022910299 0 021072 780 952T:sphlibgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122420231217
207954886 0 017672 812 888T:simpleclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122420231217
210664875 0 016424 812 888T:simpleclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122420231217
210694875 0 018072 812 888T:simpleclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122420231217
2122212009 0 024272 812 888T:sphlibclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122420231217
219604870 0 014910 804 888T:simpleclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122420231217
219664923 0 017256 780 952T:littlegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122420231217
219814947 0 016088 780 952T:littlegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122420231217
219945009 0 015583 772 952T:simplegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122420231217
2214411298 0 021974 804 888T:sphlibclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122420231217
2241122504 0 033728 780 952T:optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122420231217
2242221247 0 031688 780 952T:optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122420231217
225054626 0 014203 756 920T:littlegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122420231217
2278311766 0 021278 804 888T:sphlibclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122420231217
2280411961 0 024632 812 888T:sphlibclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122420231217
2280811961 0 022984 812 888T:sphlibclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122420231217
2288012093 0 024520 780 952T:sphlibgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122420231217
2315711837 0 023064 780 952T:sphlibgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122420231217
2327522680 0 033904 780 952T:x64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122420231217
2327921862 0 032312 780 952T:x64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122420231217
2328121037 0 031055 772 952T:x64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122420231217
2339415352 0 024371 756 920T:optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122420231217
233959598 0 019299 756 920T:sphlibgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122420231217
234204217 0 014992 780 952T:sphlib-smallgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122420231217
2360716597 0 025627 756 920T:x64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122420231217
243535651 0 017976 780 952T:simplegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122420231217
249415075 0 016216 780 952T:simplegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122420231217
250234666 0 014251 756 920T:simplegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122420231217
272786509 0 018936 780 952T:sphlib-smallgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122420231217
274383834 0 013539 756 920T:sphlib-smallgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122420231217
290776489 0 018768 812 888T:sphlib-smallclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122420231217
294916125 0 017352 780 952T:sphlib-smallgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122420231217
301296409 0 017448 812 888T:sphlib-smallclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122420231217
301306409 0 019096 812 888T:sphlib-smallclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122420231217
307645992 0 015534 804 888T:sphlib-smallclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122420231217
317015378 0 016070 804 888T:sphlib-smallclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122420231217
4652330891 0 041712 812 888T:optclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122420231217
4654530983 0 043448 812 888T:optclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122420231217
4672129863 0 039806 804 888T:optclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122420231217
4727329577 0 038982 804 888T:optclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122420231217
4739013690 0 026488 812 888T:littleclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122420231217
4746513688 0 025232 812 888T:littleclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122420231217
4746513704 0 026896 812 888T:littleclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122420231217
4788713744 0 023790 804 888T:littleclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122420231217
4805031741 0 043808 812 888T:optclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122420231217
4859313789 0 024318 804 888T:littleclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122420231217
4894714653 0 025206 804 888T:simpleclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122420231217
839125136 0 015711 772 952T:sandygcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122420231217
854855211 0 017544 780 952T:sandygcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122420231217
855005235 0 016376 780 952T:sandygcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122420231217
857844933 0 014507 756 920T:sandygcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122420231217
11331613206 0 023246 804 888T:sandyclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122420231217
11415513170 0 024720 812 888T:sandyclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122420231217
11423213186 0 026384 812 888T:sandyclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122420231217
11622513232 0 023758 804 888T:sandyclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122420231217
11709113560 0 026344 812 888T:sandyclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122420231217
12123920552 0 030139 756 920T:mmxgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122420231217
12190421199 0 032336 780 952T:mmxgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122420231217
12193221199 0 033520 780 952T:mmxgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122420231217
12210521190 0 031775 772 952T:mmxgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122420231217

Compiler output

Implementation: T:mmx
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mmx
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mmx
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mmx
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mmx
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mmx

Compiler output

Implementation: T:x64
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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 (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:x64
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:x64
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:x64
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:x64
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:x64

Compiler output

Implementation: T:x64
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
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 (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:x64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:x64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:x64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:x64