Implementation notes: amd64, luft, crypto_hash/skein512512

Computer: luft
Architecture: amd64
CPU ID: GenuineIntel-000306d4-bfebfbff
SUPERCOP version: 20200702
Operation: crypto_hash
Primitive: skein512512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
89925318 0 016384 4096 0littlegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020070920200702
945611195 0 020480 4096 0sphlibgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020070920200702
947613113 0 028672 4096 0sphlibclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020070920200702
956417472 0 028672 4096 0optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020070920200702
104285688 0 016384 4096 0simpleclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020070920200702
1402023242 0 036864 4096 0optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020070920200702
142965562 0 020480 4096 0littlegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020070920200702
145005320 0 016384 4096 0sandygcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020070920200702
1485221645 0 032768 4096 0optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020070920200702
1514013323 0 024576 4096 0sphlibgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020070920200702
156765258 0 020480 4096 0sandygcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020070920200702
162925624 0 016384 4096 0littlegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020070920200702
167006176 0 020480 4096 0simpleclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020070920200702
168005049 0 016384 4096 0sandygcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020070920200702
174046176 0 020480 4096 0simpleclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020070920200702
1758013113 0 024576 4096 0sphlibclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020070920200702
1774413113 0 028672 4096 0sphlibclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020070920200702
179925436 0 016384 4096 0littlegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020070920200702
1813613458 0 028672 4096 0sphlibgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020070920200702
184245151 0 016384 4096 0sandygcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020070920200702
187004361 0 016384 4096 0sphlib-smallgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020070920200702
187284890 0 016384 4096 0sphlib-smallgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020070920200702
1887212067 0 024576 4096 0sphlibclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020070920200702
1897620751 0 032768 4096 0optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020070920200702
190085677 0 016384 4096 0simplegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020070920200702
1906811944 0 024576 4096 0sphlibgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020070920200702
191085364 0 016384 4096 0simplegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020070920200702
192606722 0 020480 4096 0sphlib-smallgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020070920200702
193045540 0 020480 4096 0simpleclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020070920200702
193446619 0 020480 4096 0sphlib-smallgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020070920200702
194365720 0 016384 4096 0simplegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020070920200702
197606176 0 020480 4096 0simpleclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020070920200702
197887242 0 020480 4096 0simplegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020070920200702
1997212919 0 024576 4096 0sphlibclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020070920200702
2268832792 0 045056 4096 0optclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020070920200702
2274832177 0 040960 4096 0optclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020070920200702
239406611 0 020480 4096 0sphlib-smallclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020070920200702
242846030 0 016384 4096 0sphlib-smallclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020070920200702
261086457 0 020480 4096 0sphlib-smallclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020070920200702
261806457 0 020480 4096 0sphlib-smallclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020070920200702
267846457 0 020480 4096 0sphlib-smallclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020070920200702
3901613294 0 024576 4096 0sandyclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020070920200702
4074413455 0 028672 4096 0littleclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020070920200702
4187232744 0 045056 4096 0optclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020070920200702
4226015127 0 028672 4096 0littleclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020070920200702
4302015127 0 028672 4096 0littleclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020070920200702
4341632744 0 045056 4096 0optclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020070920200702
4529613571 0 028672 4096 0sandyclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020070920200702
4580032257 0 045056 4096 0optclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020070920200702
4634815127 0 028672 4096 0littleclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020070920200702
4760013549 0 024576 4096 0sandyclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020070920200702
4787613571 0 028672 4096 0sandyclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020070920200702
4788413571 0 028672 4096 0sandyclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020070920200702
4804415090 0 024576 4096 0littleclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020070920200702
5255619948 0 032768 4096 0mmxgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020070920200702
5329219948 0 032768 4096 0mmxgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020070920200702
6535222876 0 032768 4096 0mmxgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020070920200702
7207224506 0 036864 4096 0mmxgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020070920200702

Compiler output

Implementation: mmx
Security model: unknown
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 mmx
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE mmx
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE mmx
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE mmx
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE mmx

Compiler output

Implementation: x64
Security model: unknown
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 x64
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE x64
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE x64
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE x64
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE x64

Compiler output

Implementation: x64
Security model: unknown
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: |
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: <instantiation>:2:7: error: expected absolute expression
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 x64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE x64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE x64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE x64