Implementation notes: armeabi, berry0, crypto_hash/skein256256

Computer: berry0
Microarchitecture: armeabi; ARM1176 (410fb767)
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20240107
Operation: crypto_hash
Primitive: skein256256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
6787832928 0 041720 384 744T:armgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
6799031156 0 038624 384 744T:armgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
6804531816 0 039288 384 744T:armgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
6815031520 0 038536 376 744T:armgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
8182540064 0 048856 384 744T:optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
8223938952 0 046424 384 744T:optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
8650438984 0 048318 384 744T:optclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
8650538984 0 048318 384 744T:optclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
8660239008 0 049046 384 752T:optclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
8697338336 0 046052 380 744T:optclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
8845836264 0 043280 376 744T:optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
9096238904 0 048998 384 752T:optclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
9172035356 0 042824 384 744T:optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107

Test failure

Implementation: T:arm_neon
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
error 111

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:arm_neon
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:arm_neon
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:arm_neon
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:arm_neon
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:arm_thumb
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:arm_thumb
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:arm_thumb
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:arm_thumb

Compiler output

Implementation: T:arm
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
skein_block_noneon.S: skein_block_noneon.S:291:2: error: invalid instruction, any one of the following would fix this:
skein_block_noneon.S: add r0, CTX_TWEAK_OFS
skein_block_noneon.S: ^
skein_block_noneon.S: skein_block_noneon.S:291:10: note: invalid operand for instruction
skein_block_noneon.S: add r0, CTX_TWEAK_OFS
skein_block_noneon.S: ^
skein_block_noneon.S: skein_block_noneon.S:291:10: note: operand must be a register in range [r0, r15]
skein_block_noneon.S: add r0, CTX_TWEAK_OFS
skein_block_noneon.S: ^
skein_block_noneon.S: skein_block_noneon.S:291:2: note: instruction requires: thumb2
skein_block_noneon.S: add r0, CTX_TWEAK_OFS
skein_block_noneon.S: ^
skein_block_noneon.S: skein_block_noneon.S:291:2: note: instruction requires: thumb
skein_block_noneon.S: add r0, CTX_TWEAK_OFS
skein_block_noneon.S: ^
skein_block_noneon.S: skein_block_noneon.S:300:16: error: register expected
skein_block_noneon.S: ldr r12, [sp, S256_SOFS_BYTECNTADD]
skein_block_noneon.S: ^
skein_block_noneon.S: skein_block_noneon.S:301:16: error: register expected
skein_block_noneon.S: str r10, [sp, S256_SOFS_TWEAKSCHED + 8]
skein_block_noneon.S: ^
skein_block_noneon.S: skein_block_noneon.S:302:16: error: register expected
skein_block_noneon.S: str r11, [sp, S256_SOFS_TWEAKSCHED + 12]
skein_block_noneon.S: ^
skein_block_noneon.S: skein_block_noneon.S:304:15: error: register expected
skein_block_noneon.S: ...

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

Compiler output

Implementation: T:arm_neon
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
skein_block_cortexa8.S: skein_block_cortexa8.S:253:2: error: invalid instruction, any one of the following would fix this:
skein_block_cortexa8.S: add r0, CTX_TWEAK_OFS
skein_block_cortexa8.S: ^
skein_block_cortexa8.S: skein_block_cortexa8.S:253:10: note: invalid operand for instruction
skein_block_cortexa8.S: add r0, CTX_TWEAK_OFS
skein_block_cortexa8.S: ^
skein_block_cortexa8.S: skein_block_cortexa8.S:253:10: note: operand must be a register in range [r0, r15]
skein_block_cortexa8.S: add r0, CTX_TWEAK_OFS
skein_block_cortexa8.S: ^
skein_block_cortexa8.S: skein_block_cortexa8.S:253:2: note: instruction requires: thumb2
skein_block_cortexa8.S: add r0, CTX_TWEAK_OFS
skein_block_cortexa8.S: ^
skein_block_cortexa8.S: skein_block_cortexa8.S:253:2: note: instruction requires: thumb
skein_block_cortexa8.S: add r0, CTX_TWEAK_OFS
skein_block_cortexa8.S: ^
skein_block_cortexa8.S: skein_block_cortexa8.S:520:2: error: invalid instruction, any one of the following would fix this:
skein_block_cortexa8.S: add r0, CTX_TWEAK_OFS
skein_block_cortexa8.S: ^
skein_block_cortexa8.S: skein_block_cortexa8.S:520:10: note: invalid operand for instruction
skein_block_cortexa8.S: add r0, CTX_TWEAK_OFS
skein_block_cortexa8.S: ^
skein_block_cortexa8.S: skein_block_cortexa8.S:520:10: note: operand must be a register in range [r0, r15]
skein_block_cortexa8.S: add r0, CTX_TWEAK_OFS
skein_block_cortexa8.S: ^
skein_block_cortexa8.S: skein_block_cortexa8.S:520:2: note: instruction requires: thumb2
skein_block_cortexa8.S: ...

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

Compiler output

Implementation: T:arm_thumb
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
skein_block_noneon.S: skein_block_noneon.S:300:16: error: register expected
skein_block_noneon.S: ldr r12, [sp, S256_SOFS_BYTECNTADD]
skein_block_noneon.S: ^
skein_block_noneon.S: skein_block_noneon.S:301:16: error: register expected
skein_block_noneon.S: str r10, [sp, S256_SOFS_TWEAKSCHED + 8]
skein_block_noneon.S: ^
skein_block_noneon.S: skein_block_noneon.S:302:16: error: register expected
skein_block_noneon.S: str r11, [sp, S256_SOFS_TWEAKSCHED + 12]
skein_block_noneon.S: ^
skein_block_noneon.S: skein_block_noneon.S:304:15: error: register expected
skein_block_noneon.S: str r8, [sp, S256_SOFS_TWEAKSCHED]
skein_block_noneon.S: ^
skein_block_noneon.S: skein_block_noneon.S:305:2: error: invalid instruction
skein_block_noneon.S: adc r9, 0
skein_block_noneon.S: ^
skein_block_noneon.S: skein_block_noneon.S:306:15: error: register expected
skein_block_noneon.S: str r9, [sp, S256_SOFS_TWEAKSCHED + 4]
skein_block_noneon.S: ^
skein_block_noneon.S: skein_block_noneon.S:309:15: error: register expected
skein_block_noneon.S: str r8, [sp, S256_SOFS_TWEAKSCHED + 16]
skein_block_noneon.S: ^
skein_block_noneon.S: skein_block_noneon.S:310:15: error: register expected
skein_block_noneon.S: str r9, [sp, S256_SOFS_TWEAKSCHED + 20]
skein_block_noneon.S: ^
skein_block_noneon.S: skein_block_noneon.S:324:16: error: register expected
skein_block_noneon.S: ...

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

Namespace violations

Implementation: T:arm
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.o Skein1024_Process_Block T
skein_block_noneon.o CTX_TWEAK_OFS a
skein_block_noneon.o KEY0_ADR a
skein_block_noneon.o KEY1_ADR a
skein_block_noneon.o KEY2_ADR a
skein_block_noneon.o KEY3_ADR a
skein_block_noneon.o KEY4_ADR a
skein_block_noneon.o KEY5_ADR a
skein_block_noneon.o KEY6_ADR a
skein_block_noneon.o KEY7_ADR a
skein_block_noneon.o RC_256_0_0 a
skein_block_noneon.o RC_256_0_1 a
skein_block_noneon.o RC_256_1_0 a
skein_block_noneon.o RC_256_1_1 a
skein_block_noneon.o RC_256_2_0 a
skein_block_noneon.o RC_256_2_1 a
skein_block_noneon.o RC_256_3_0 a
skein_block_noneon.o RC_256_3_1 a
skein_block_noneon.o RC_256_4_0 a
skein_block_noneon.o RC_256_4_1 a
skein_block_noneon.o RC_256_5_0 a
skein_block_noneon.o RC_256_5_1 a
skein_block_noneon.o RC_256_6_0 a
skein_block_noneon.o RC_256_6_1 a
skein_block_noneon.o RC_256_7_0 a
skein_block_noneon.o RC_256_7_1 a
skein_block_noneon.o RC_512_0_0 a
skein_block_noneon.o RC_512_0_1 a
skein_block_noneon.o RC_512_0_2 a
skein_block_noneon.o RC_512_0_3 a
skein_block_noneon.o RC_512_1_0 a
skein_block_noneon.o RC_512_1_1 a
skein_block_noneon.o RC_512_1_2 a
skein_block_noneon.o RC_512_1_3 a
skein_block_noneon.o RC_512_2_0 a
skein_block_noneon.o RC_512_2_1 a
skein_block_noneon.o RC_512_2_2 a
skein_block_noneon.o RC_512_2_3 a
skein_block_noneon.o RC_512_3_0 a
skein_block_noneon.o RC_512_3_1 a
skein_block_noneon.o RC_512_3_2 a
skein_block_noneon.o RC_512_3_3 a
skein_block_noneon.o RC_512_4_0 a
skein_block_noneon.o RC_512_4_1 a
skein_block_noneon.o RC_512_4_2 a
skein_block_noneon.o RC_512_4_3 a
skein_block_noneon.o RC_512_5_0 a
skein_block_noneon.o RC_512_5_1 a
skein_block_noneon.o RC_512_5_2 a
skein_block_noneon.o RC_512_5_3 a
skein_block_noneon.o RC_512_6_0 a
skein_block_noneon.o RC_512_6_1 a
skein_block_noneon.o RC_512_6_2 a
skein_block_noneon.o RC_512_6_3 a
skein_block_noneon.o RC_512_7_0 a
skein_block_noneon.o RC_512_7_1 a
skein_block_noneon.o RC_512_7_2 a
skein_block_noneon.o RC_512_7_3 a
skein_block_noneon.o S256_SOFS_BLKCNT a
skein_block_noneon.o S256_SOFS_BLKPTR a
skein_block_noneon.o S256_SOFS_BYTECNTADD a
skein_block_noneon.o S256_SOFS_CTX a
skein_block_noneon.o S256_SOFS_KEYSCHED a
skein_block_noneon.o S256_SOFS_TWEAKSCHED a
skein_block_noneon.o S512_SOFS_BLKCNT a
skein_block_noneon.o S512_SOFS_BLKPTR a
skein_block_noneon.o S512_SOFS_BYTECNTADD a
skein_block_noneon.o S512_SOFS_CTX a
skein_block_noneon.o S512_SOFS_KEYSCHED a
skein_block_noneon.o S512_SOFS_TMP0 a
skein_block_noneon.o S512_SOFS_TMP1 a
skein_block_noneon.o S512_SOFS_TMP2 a
skein_block_noneon.o S512_SOFS_TMP3 a
skein_block_noneon.o S512_SOFS_TWEAKSCHED a
skein_block_noneon.o SKEIN_KS_C240_HIGH a
skein_block_noneon.o SKEIN_KS_C240_LOW a
skein_block_noneon.o SKEIN_T1_FIRST_FLAG a
skein_block_noneon.o Skein_256_Process_Block T
skein_block_noneon.o Skein_512_Process_Block T
skein_block_noneon.o TWEAK0_ADR a
skein_block_noneon.o TWEAK1_ADR a

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:arm
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:arm
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:arm
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:arm

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