Implementation notes: amd64, gcc123, crypto_hash/skein256256

Computer: gcc123
Architecture: amd64
CPU ID: GenuineIntel-000206d7-bfebfbff
SUPERCOP version: 20220213
Operation: crypto_hash
Primitive: skein256256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1535618660 0 028790 820 920T:optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
1544020154 0 031479 828 920T:optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
1551318975 0 029214 820 920T:optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
1569419893 0 030134 820 920T:x64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
1569619642 0 029774 820 920T:x64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
1572720508 0 031839 828 920T:x64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
1600216579 0 025778 804 920T:x64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
1616515342 0 024538 804 920T:optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
3099932283 0 045322 812 920T:optclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
3100131435 0 041008 804 888T:optclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
3101732359 0 047090 812 920T:optclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
3103532283 0 045322 812 920T:optclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
3302131445 0 044138 812 888T:optclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114

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: 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

Namespace violations

Implementation: T:opt
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
SHA3api_ref.o Final T
SHA3api_ref.o Hash T
SHA3api_ref.o Init T
SHA3api_ref.o Update T
skein.o SKEIN1024_IV_1024 R
skein.o SKEIN1024_IV_384 R
skein.o SKEIN1024_IV_512 R
skein.o SKEIN_256_IV_128 R
skein.o SKEIN_256_IV_160 R
skein.o SKEIN_256_IV_224 R
skein.o SKEIN_256_IV_256 R
skein.o SKEIN_512_IV_128 R
skein.o SKEIN_512_IV_160 R
skein.o SKEIN_512_IV_224 R
skein.o SKEIN_512_IV_256 R
skein.o SKEIN_512_IV_384 R
skein.o SKEIN_512_IV_512 R
skein.o Skein1024_Final T
skein.o Skein1024_Final_Pad T
skein.o Skein1024_Init T
skein.o Skein1024_InitExt T
skein.o Skein1024_Output T
skein.o Skein1024_Update T
skein.o Skein_256_Final T
skein.o Skein_256_Final_Pad T
skein.o Skein_256_Init T
skein.o Skein_256_InitExt T
skein.o Skein_256_Output T
skein.o Skein_256_Update T
skein.o Skein_512_Final T
skein.o Skein_512_Final_Pad T
skein.o Skein_512_Init T
skein.o Skein_512_InitExt T
skein.o Skein_512_Output T
skein.o Skein_512_Update T
skein_block.o Skein1024_Process_Block T
skein_block.o Skein_256_Process_Block T
skein_block.o Skein_512_Process_Block T

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt

Namespace violations

Implementation: T:x64
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
SHA3api_ref.o Final T
SHA3api_ref.o Hash T
SHA3api_ref.o Init T
SHA3api_ref.o Update T
skein.o SKEIN1024_IV_1024 R
skein.o SKEIN1024_IV_384 R
skein.o SKEIN1024_IV_512 R
skein.o SKEIN_256_IV_128 R
skein.o SKEIN_256_IV_160 R
skein.o SKEIN_256_IV_224 R
skein.o SKEIN_256_IV_256 R
skein.o SKEIN_512_IV_128 R
skein.o SKEIN_512_IV_160 R
skein.o SKEIN_512_IV_224 R
skein.o SKEIN_512_IV_256 R
skein.o SKEIN_512_IV_384 R
skein.o SKEIN_512_IV_512 R
skein.o Skein1024_Final T
skein.o Skein1024_Final_Pad T
skein.o Skein1024_Init T
skein.o Skein1024_InitExt T
skein.o Skein1024_Output T
skein.o Skein1024_Update T
skein.o Skein_256_Final T
skein.o Skein_256_Final_Pad T
skein.o Skein_256_Init T
skein.o Skein_256_InitExt T
skein.o Skein_256_Output T
skein.o Skein_256_Update T
skein.o Skein_512_Final T
skein.o Skein_512_Final_Pad T
skein.o Skein_512_Init T
skein.o Skein_512_InitExt T
skein.o Skein_512_Output T
skein.o Skein_512_Update T
skein_block_x64.o BCNT a
skein_block_x64.o FIRST_MASK a
skein_block_x64.o FIRST_MASK64 a
skein_block_x64.o FRAME_OFFS a
skein_block_x64.o F_O a
skein_block_x64.o HASH_BITS a
skein_block_x64.o KW_PARITY a
skein_block_x64.o LOCAL_SIZE a
skein_block_x64.o RC_1024_0_0 a
skein_block_x64.o RC_1024_0_1 a
skein_block_x64.o RC_1024_0_2 a
skein_block_x64.o RC_1024_0_3 a
skein_block_x64.o RC_1024_0_4 a
skein_block_x64.o RC_1024_0_5 a
skein_block_x64.o RC_1024_0_6 a
skein_block_x64.o RC_1024_0_7 a
skein_block_x64.o RC_1024_1_0 a
skein_block_x64.o RC_1024_1_1 a
skein_block_x64.o RC_1024_1_2 a
skein_block_x64.o RC_1024_1_3 a
skein_block_x64.o RC_1024_1_4 a
skein_block_x64.o RC_1024_1_5 a
skein_block_x64.o RC_1024_1_6 a
skein_block_x64.o RC_1024_1_7 a
skein_block_x64.o RC_1024_2_0 a
skein_block_x64.o RC_1024_2_1 a
skein_block_x64.o RC_1024_2_2 a
skein_block_x64.o RC_1024_2_3 a
skein_block_x64.o RC_1024_2_4 a
skein_block_x64.o RC_1024_2_5 a
skein_block_x64.o RC_1024_2_6 a
skein_block_x64.o RC_1024_2_7 a
skein_block_x64.o RC_1024_3_0 a
skein_block_x64.o RC_1024_3_1 a
skein_block_x64.o RC_1024_3_2 a
skein_block_x64.o RC_1024_3_3 a
skein_block_x64.o RC_1024_3_4 a
skein_block_x64.o RC_1024_3_5 a
skein_block_x64.o RC_1024_3_6 a
skein_block_x64.o RC_1024_3_7 a
skein_block_x64.o RC_1024_4_0 a
skein_block_x64.o RC_1024_4_1 a
skein_block_x64.o RC_1024_4_2 a
skein_block_x64.o RC_1024_4_3 a
skein_block_x64.o RC_1024_4_4 a
skein_block_x64.o RC_1024_4_5 a
skein_block_x64.o RC_1024_4_6 a
skein_block_x64.o RC_1024_4_7 a
skein_block_x64.o RC_1024_5_0 a
skein_block_x64.o RC_1024_5_1 a
skein_block_x64.o RC_1024_5_2 a
skein_block_x64.o RC_1024_5_3 a
skein_block_x64.o RC_1024_5_4 a
skein_block_x64.o RC_1024_5_5 a
skein_block_x64.o RC_1024_5_6 a
skein_block_x64.o RC_1024_5_7 a
skein_block_x64.o RC_1024_6_0 a
skein_block_x64.o RC_1024_6_1 a
skein_block_x64.o RC_1024_6_2 a
skein_block_x64.o RC_1024_6_3 a
skein_block_x64.o RC_1024_6_4 a
skein_block_x64.o RC_1024_6_5 a
skein_block_x64.o RC_1024_6_6 a
skein_block_x64.o RC_1024_6_7 a
skein_block_x64.o RC_1024_7_0 a
skein_block_x64.o RC_1024_7_1 a
skein_block_x64.o RC_1024_7_2 a
skein_block_x64.o RC_1024_7_3 a
skein_block_x64.o RC_1024_7_4 a
skein_block_x64.o RC_1024_7_5 a
skein_block_x64.o RC_1024_7_6 a
skein_block_x64.o RC_1024_7_7 a
skein_block_x64.o RC_256_0_0 a
skein_block_x64.o RC_256_0_1 a
skein_block_x64.o RC_256_1_0 a
skein_block_x64.o RC_256_1_1 a
skein_block_x64.o RC_256_2_0 a
skein_block_x64.o RC_256_2_1 a
skein_block_x64.o RC_256_3_0 a
skein_block_x64.o RC_256_3_1 a
skein_block_x64.o RC_256_4_0 a
skein_block_x64.o RC_256_4_1 a
skein_block_x64.o RC_256_5_0 a
skein_block_x64.o RC_256_5_1 a
skein_block_x64.o RC_256_6_0 a
skein_block_x64.o RC_256_6_1 a
skein_block_x64.o RC_256_7_0 a
skein_block_x64.o RC_256_7_1 a
skein_block_x64.o RC_512_0_0 a
skein_block_x64.o RC_512_0_1 a
skein_block_x64.o RC_512_0_2 a
skein_block_x64.o RC_512_0_3 a
skein_block_x64.o RC_512_1_0 a
skein_block_x64.o RC_512_1_1 a
skein_block_x64.o RC_512_1_2 a
skein_block_x64.o RC_512_1_3 a
skein_block_x64.o RC_512_2_0 a
skein_block_x64.o RC_512_2_1 a
skein_block_x64.o RC_512_2_2 a
skein_block_x64.o RC_512_2_3 a
skein_block_x64.o RC_512_3_0 a
skein_block_x64.o RC_512_3_1 a
skein_block_x64.o RC_512_3_2 a
skein_block_x64.o RC_512_3_3 a
skein_block_x64.o RC_512_4_0 a
skein_block_x64.o RC_512_4_1 a
skein_block_x64.o RC_512_4_2 a
skein_block_x64.o RC_512_4_3 a
skein_block_x64.o RC_512_5_0 a
skein_block_x64.o RC_512_5_1 a
skein_block_x64.o RC_512_5_2 a
skein_block_x64.o RC_512_5_3 a
skein_block_x64.o RC_512_6_0 a
skein_block_x64.o RC_512_6_1 a
skein_block_x64.o RC_512_6_2 a
skein_block_x64.o RC_512_6_3 a
skein_block_x64.o RC_512_7_0 a
skein_block_x64.o RC_512_7_1 a
skein_block_x64.o RC_512_7_2 a
skein_block_x64.o RC_512_7_3 a
skein_block_x64.o ROUNDS_1024 a
skein_block_x64.o ROUNDS_256 a
skein_block_x64.o ROUNDS_512 a
skein_block_x64.o SKEIN_ASM_UNROLL a
skein_block_x64.o SKEIN_UNROLL_1024 a
skein_block_x64.o SKEIN_UNROLL_256 a
skein_block_x64.o SKEIN_UNROLL_512 a
skein_block_x64.o Skein1024_Process_Block T
skein_block_x64.o Skein_256_Process_Block T
skein_block_x64.o Skein_512_Process_Block T
skein_block_x64.o TWEAK a
skein_block_x64.o WCNT a
skein_block_x64.o Wcopy a
skein_block_x64.o X_VARS a
skein_block_x64.o X_stk a
skein_block_x64.o _II_ a
skein_block_x64.o _MASK_ALL_ a
skein_block_x64.o _MAX_FRAME_ a
skein_block_x64.o _PushCnt_ a
skein_block_x64.o _RCNT_ a
skein_block_x64.o _Rbase_ a
skein_block_x64.o _Rn_ a
skein_block_x64.o _SKEIN_CODE_SIZE a
skein_block_x64.o _SKEIN_DEBUG a
skein_block_x64.o _SKEIN_LOOP a
skein_block_x64.o _STK_OFFS_ a
skein_block_x64.o _Skein1024_Process_Block T
skein_block_x64.o _Skein_256_Process_Block T
skein_block_x64.o _Skein_512_Process_Block T
skein_block_x64.o _UNROLL_CNT a
skein_block_x64.o _USE_ASM_ a
skein_block_x64.o __STK_FRM_OFFS_1024 a
skein_block_x64.o __STK_FRM_OFFS_256 a
skein_block_x64.o __STK_FRM_OFFS_512 a
skein_block_x64.o __STK_LCL_SIZE_1024 a
skein_block_x64.o __STK_LCL_SIZE_256 a
skein_block_x64.o __STK_LCL_SIZE_512 a
skein_block_x64.o __STK_TOT_SIZE_1024 a
skein_block_x64.o __STK_TOT_SIZE_256 a
skein_block_x64.o __STK_TOT_SIZE_512 a
skein_block_x64.o _oo_ a
skein_block_x64.o align16 a
skein_block_x64.o bitAdd a
skein_block_x64.o blkCnt a
skein_block_x64.o blkPtr a
skein_block_x64.o ctxPtr a
skein_block_x64.o i0 a
skein_block_x64.o i8 a
skein_block_x64.o ksKey a
skein_block_x64.o ksRot a
skein_block_x64.o ksTwk a
skein_block_x64.o o1K_r10 a
skein_block_x64.o o1K_r11 a
skein_block_x64.o o1K_r12 a
skein_block_x64.o o1K_r13 a
skein_block_x64.o o1K_r14 a
skein_block_x64.o o1K_r15 a
skein_block_x64.o o1K_r8 a
skein_block_x64.o o1K_r9 a
skein_block_x64.o o1K_rax a
skein_block_x64.o o1K_rbp a
skein_block_x64.o o1K_rbx a
skein_block_x64.o o1K_rcx a
skein_block_x64.o o1K_rdi a
skein_block_x64.o o1K_rdx a
skein_block_x64.o o1K_rsi a
skein_block_x64.o rIdx_offs a
skein_block_x64.o retAddr a
skein_block_x64.o savRegs a
skein_block_x64.o tmpStk_1024 a
skein_block_x64.o tmpStk_256 a
skein_block_x64.o tmpStk_512 a

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