Implementation notes: aarch64, pi3aplus, crypto_hash/bmw256

Computer: pi3aplus
Microarchitecture: aarch64; A53 (410fd034)
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20221122
Operation: crypto_hash
Primitive: bmw256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1661810556 0 021072 840 744T:optc03gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
1668910604 0 021120 840 744T:optc04gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
1672010516 0 019808 840 728T:optc03gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
1675110688 0 021192 840 744T:optabegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
1675510684 0 019903 832 728T:optbbegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
1677910692 0 021192 840 744T:optbbegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
1682210784 0 019999 832 728T:optabegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
1684510548 0 019840 840 728T:optc04gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
1709831780 0 042312 840 744T:optc01gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
1727215340 0 024664 840 728T:optc02gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
1733611716 0 020871 832 728T:optbgbegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
1738815340 0 025880 840 744T:optc02gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
1740131464 0 040784 840 728T:optc01gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
1748612404 0 022384 840 744T:optbgbegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
180539004 0 020197 768 736T:optbbeclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022053020220506
180749020 0 020221 768 736T:optabeclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022053020220506
1830618308 0 028944 840 744T:sphlibgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
1844913284 0 022736 840 728T:sphlibgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
185729916 0 018215 816 720T:optbbegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
1866310020 0 018303 816 720T:optabegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
1875716468 0 027104 840 744T:sphlib-smallgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
1925910472 0 021669 768 736T:optc03clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022053020220506
1931110520 0 021717 768 736T:optc04clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022053020220506
194735664 0 016685 768 736T:optbgbeclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022053020220506
1962410932 0 020384 840 728T:sphlib-smallgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
1965628644 0 039837 768 736T:optc01clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022053020220506
2075330696 0 039072 824 720T:optc01gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
2160015884 0 027077 768 736T:optc02clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022053020220506
217365744 0 013999 816 720T:optbgbegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
2328814168 0 025373 768 736T:sphlib-smallclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022053020220506
2346814776 0 025973 768 736T:sphlibclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022053020220506
2462510316 0 019463 832 728T:optbbegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
2465510480 0 019623 832 728T:optabegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
252449460 0 017848 824 720T:optc04gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
2528310592 0 019808 840 728T:optc04gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
257319472 0 017864 824 720T:optc03gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
2574010648 0 019872 840 728T:optc03gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
2577131232 0 040464 840 728T:optc01gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
2625415620 0 024848 840 728T:optc02gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
2660712232 0 021295 832 728T:optbgbegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
2709313572 0 021984 824 720T:optc02gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
2733713216 0 021768 824 720T:sphlibgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
2789610668 0 019224 824 720T:sphlib-smallgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
3079814920 0 024288 840 728T:sphlibgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
335659572 0 020152 840 744T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
346448192 0 017552 840 728T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
3609412908 0 022280 840 728T:sphlib-smallgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
372829116 0 020325 768 736T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022053020220506
376088148 0 016584 824 720T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506
530508844 0 018128 840 728T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053020220506

Compiler output

Implementation: T:optc01
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
BlueMidnightWish.c: BlueMidnightWish.c:1326:86: warning: '&' within '^' [-Wbitwise-op-parentheses]
BlueMidnightWish.c: hashState256(state)->LastPart[LastByte] = hashState256(state)->LastPart[LastByte] & (0xff << (PadOnePosition + 1) )\
BlueMidnightWish.c: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BlueMidnightWish.c: BlueMidnightWish.c:1326:86: note: place parentheses around the '&' expression to silence this warning
BlueMidnightWish.c: hashState256(state)->LastPart[LastByte] = hashState256(state)->LastPart[LastByte] & (0xff << (PadOnePosition + 1) )\
BlueMidnightWish.c: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BlueMidnightWish.c: BlueMidnightWish.c:1360:86: warning: '&' within '^' [-Wbitwise-op-parentheses]
BlueMidnightWish.c: hashState512(state)->LastPart[LastByte] = hashState512(state)->LastPart[LastByte] & (0xff << (PadOnePosition + 1) )\
BlueMidnightWish.c: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BlueMidnightWish.c: BlueMidnightWish.c:1360:86: note: place parentheses around the '&' expression to silence this warning
BlueMidnightWish.c: hashState512(state)->LastPart[LastByte] = hashState512(state)->LastPart[LastByte] & (0xff << (PadOnePosition + 1) )\
BlueMidnightWish.c: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BlueMidnightWish.c: 2 warnings generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:optc01

Compiler output

Implementation: T:optc02
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
BlueMidnightWish.c: BlueMidnightWish.c:878:84: warning: '&' within '^' [-Wbitwise-op-parentheses]
BlueMidnightWish.c: hashState256(state)->LastPart[LastByte] = hashState256(state)->LastPart[LastByte] & (0xff << (PadOnePosition + 1) )\
BlueMidnightWish.c: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BlueMidnightWish.c: BlueMidnightWish.c:878:84: note: place parentheses around the '&' expression to silence this warning
BlueMidnightWish.c: hashState256(state)->LastPart[LastByte] = hashState256(state)->LastPart[LastByte] & (0xff << (PadOnePosition + 1) )\
BlueMidnightWish.c: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BlueMidnightWish.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:optc02

Compiler output

Implementation: T:optc03
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
BlueMidnightWish.c: BlueMidnightWish.c:735:84: warning: '&' within '^' [-Wbitwise-op-parentheses]
BlueMidnightWish.c: hashState256_(state).LastPart[LastByte] = hashState256_(state).LastPart[LastByte] & (0xff << (PadOnePosition + 1) )\
BlueMidnightWish.c: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BlueMidnightWish.c: BlueMidnightWish.c:735:84: note: place parentheses around the '&' expression to silence this warning
BlueMidnightWish.c: hashState256_(state).LastPart[LastByte] = hashState256_(state).LastPart[LastByte] & (0xff << (PadOnePosition + 1) )\
BlueMidnightWish.c: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BlueMidnightWish.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:optc03

Compiler output

Implementation: T:optc04
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
BlueMidnightWish.c: BlueMidnightWish.c:865:84: warning: '&' within '^' [-Wbitwise-op-parentheses]
BlueMidnightWish.c: hashState256_(state).LastPart[LastByte] = hashState256_(state).LastPart[LastByte] & (0xff << (PadOnePosition + 1) )\
BlueMidnightWish.c: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BlueMidnightWish.c: BlueMidnightWish.c:865:84: note: place parentheses around the '&' expression to silence this warning
BlueMidnightWish.c: hashState256_(state).LastPart[LastByte] = hashState256_(state).LastPart[LastByte] & (0xff << (PadOnePosition + 1) )\
BlueMidnightWish.c: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BlueMidnightWish.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:optc04

Namespace violations

Implementation: T:optbgbe
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
bmw_small_speed.o bmw256_ctx2hash T
bmw_small_speed.o bmw256_init T
bmw_small_speed.o bmw256_lastBlock T
bmw_small_speed.o bmw256_nextBlock T
memxor.o memxor T

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

Namespace violations

Implementation: T:optc01
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
BlueMidnightWish.o Final T
BlueMidnightWish.o Hash T
BlueMidnightWish.o Init T
BlueMidnightWish.o Update T
BlueMidnightWish.o i224p2 R
BlueMidnightWish.o i256p2 R
BlueMidnightWish.o i384p2 R
BlueMidnightWish.o i512p2 R

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

Namespace violations

Implementation: T:optc02
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
BlueMidnightWish.o Final T
BlueMidnightWish.o Hash T
BlueMidnightWish.o Init T
BlueMidnightWish.o Update256 T
BlueMidnightWish.o i256p2 R

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

Namespace violations

Implementation: T:optc03
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
BlueMidnightWish.o Hash T
BlueMidnightWish.o i256p2 R

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

Namespace violations

Implementation: T:ref
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
BlueMidnightWish.o Compression256 T
BlueMidnightWish.o Compression512 T
BlueMidnightWish.o Final T
BlueMidnightWish.o Hash T
BlueMidnightWish.o Init T
BlueMidnightWish.o Update T
BlueMidnightWish.o expand32_1 T
BlueMidnightWish.o expand32_2 T
BlueMidnightWish.o expand64_1 T
BlueMidnightWish.o expand64_2 T
BlueMidnightWish.o i224p2 R
BlueMidnightWish.o i256p2 R
BlueMidnightWish.o i384p2 R
BlueMidnightWish.o i512p2 R

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

Namespace violations

Implementation: T:sphlib
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
bmw.o sph_bmw224 T
bmw.o sph_bmw224_addbits_and_close T
bmw.o sph_bmw224_close T
bmw.o sph_bmw224_init T
bmw.o sph_bmw256 T
bmw.o sph_bmw256_addbits_and_close T
bmw.o sph_bmw256_close T
bmw.o sph_bmw256_init T
bmw.o sph_bmw384 T
bmw.o sph_bmw384_addbits_and_close T
bmw.o sph_bmw384_close T
bmw.o sph_bmw384_init T
bmw.o sph_bmw512 T
bmw.o sph_bmw512_addbits_and_close T
bmw.o sph_bmw512_close T
bmw.o sph_bmw512_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