Implementation notes: armeabi, berry2, crypto_hash/skein256256

Computer: berry2
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20210529
Operation: crypto_hash
Primitive: skein256256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
6531630748 0 038136 384 744T:arm_thumbgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011820210114
6534932828 0 041636 384 744T:armgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011820210114
6541631784 0 039164 384 744T:armgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011820210114
6543131152 0 038524 384 744T:armgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011820210114
6546031516 0 038412 376 744T:armgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011820210114
6589331792 0 040608 384 744T:arm_thumbgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011820210114
6620430116 0 037496 384 744T:arm_thumbgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011820210114
7652839476 0 048284 384 744T:optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011820210114
7745038432 0 045812 384 744T:optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011820210114
8074536260 0 043156 376 744T:optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011820210114
8328835372 0 042740 384 744T:optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011820210114
8355839968 0 058402 384 760T:optclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011820210114
8877030480 0 037384 376 744T:arm_thumbgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011820210114

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

Compiler output

Implementation: T:arm
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -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: 1, namely:
CompilerImplementations
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 -mcpu=native -O3 -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: 1, namely:
CompilerImplementations
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 -mcpu=native -O3 -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: 1, namely:
CompilerImplementations
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: 8, 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
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

Namespace violations

Implementation: T:opt
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -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: 5, namely:
CompilerImplementations
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