Implementation notes: amd64, hertz, crypto_hash/skein256256

Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20240716
Operation: crypto_hash
Primitive: skein256256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
897822546 0 033149 804 968T:optgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
898023315 0 035573 804 1032T:optgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
898818081 0 027472 780 936T:optgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
1000120499 0 030677 804 968T:x64gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
1000921268 0 033101 804 1032T:x64gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
1001417977 0 027000 780 936T:x64gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
2040126691 0 037520 820 968T:optclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
2092427631 0 044495 828 968T:optclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
2092427679 0 044655 828 968T:optclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716

Compiler output


skein_block_x64.S: skein_block_x64.S:336:61: warning: trigraph ignored [-Wtrigraphs]
skein_block_x64.S:   336 |     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: 3, namely:
ImplementationCompiler
T:x64clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:x64clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:x64clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))

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: 3, namely:
ImplementationCompiler
T:x64gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:x64gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:x64gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Namespace violations


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 (implementation,compiler) pairs: 6, namely:
ImplementationCompiler
T:optclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:optclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:optclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:optgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:optgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:optgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Namespace violations


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 (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:x64gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:x64gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:x64gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)