Implementation notes: armeabi, berry2, crypto_hash/skein512512

Computer: berry2
Microarchitecture: armeabi; Cortex-A7 (410fc075)
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20240107
Operation: crypto_hash
Primitive: skein512512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
7536231152 0 038524 384 744T:armgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
7538831792 0 040608 384 744T:arm_thumbgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
7543230116 0 037496 384 744T:arm_thumbgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
7544231516 0 038412 376 744T:armgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
7547430748 0 038136 384 744T:arm_thumbgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
7549031784 0 039164 384 744T:armgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
7550032828 0 041636 384 744T:armgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
7553030480 0 037384 376 744T:arm_thumbgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
10964716628 0 024016 376 744T:littlegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
11019036260 0 043156 376 744T:optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
11076217788 0 037086 384 760T:littleclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
11207617764 0 037062 384 760T:simpleclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
11220418528 0 028244 384 744T:littlegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
11240516180 0 024080 384 744T:littlegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
11263418540 0 026432 384 744T:littlegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
11267333632 0 041020 376 744T:sphlibgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
11311035372 0 042740 384 744T:optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
11311139476 0 048284 384 744T:optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
11322739968 0 058434 384 760T:optclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
11376438432 0 045812 384 744T:optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
11437737200 0 056347 384 760T:sphlibclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
11439932744 0 040644 384 744T:sphlibgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
11735216652 0 024040 376 744T:simplegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
11928419600 0 029316 384 744T:simplegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
11954318520 0 026412 384 744T:simplegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
12150639744 0 049460 384 744T:sphlibgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
12166016204 0 024104 384 744T:simplegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
12288438116 0 046008 384 744T:sphlibgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
1307407384 0 014772 376 744T:sphlib-smallgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
1323768556 0 016456 384 744T:sphlib-smallgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
13265610936 0 020660 384 744T:sphlib-smallgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
1328927296 0 015204 384 744T:sphlib-smallgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
13298210992 0 030145 384 760T:sphlib-smallclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-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: 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

Namespace violations

Implementation: T:sphlib
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
skein.o sph_skein224 T
skein.o sph_skein224_addbits_and_close T
skein.o sph_skein224_close T
skein.o sph_skein224_init T
skein.o sph_skein256 T
skein.o sph_skein256_addbits_and_close T
skein.o sph_skein256_close T
skein.o sph_skein256_init T
skein.o sph_skein384 T
skein.o sph_skein384_addbits_and_close T
skein.o sph_skein384_close T
skein.o sph_skein384_init T
skein.o sph_skein512 T
skein.o sph_skein512_addbits_and_close T
skein.o sph_skein512_close T
skein.o sph_skein512_init T

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