Implementation notes: amd64, comet, crypto_kem/sikep503

Computer: comet
Microarchitecture: amd64; Comet Lake (806ec)
Architecture: amd64
CPU ID: GenuineIntel-000806ec-bfebfbff
SUPERCOP version: 20231107
Operation: crypto_kem
Primitive: sikep503
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2756654173191 0 097226 820 1752T:mulxadxclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021110920211108
2762887970764 0 094634 820 1752T:mulxadxclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021110920211108
2763650670764 0 094634 820 1752T:mulxadxclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021110920211108
2772917734489 0 055408 812 1752T:mulxadxclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021110920211108
2795293879187 0 0102386 820 1752T:mulxadxclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021110920211108
2899417170302 0 094170 820 1752T:mulxclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021110920211108
2903701172729 0 096762 820 1752T:mulxclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021110920211108
2903886650406 0 074743 836 1784T:mulxadxgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021110920211108
2904962470302 0 094170 820 1752T:mulxclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021110920211108
2906249978725 0 0101922 820 1752T:mulxclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021110920211108
2908979931229 0 053135 836 1784T:mulxadxgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021110920211108
2918821424675 0 045159 828 1752T:mulxadxgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021110920211108
2918837734027 0 054944 812 1752T:mulxclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021110920211108
2983631729272 0 050975 836 1784T:mulxadxgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021110920211108
3022108149944 0 074295 836 1784T:mulxgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021110920211108
3051635630767 0 052687 836 1784T:mulxgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021110920211108
3054301724213 0 044695 828 1752T:mulxgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021110920211108
3115531628810 0 050511 836 1784T:mulxgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021110920211108
3509558170666 0 094538 820 1752T:amd64asmclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021110920211108
3510923834391 0 055312 812 1752T:amd64asmclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021110920211108
3517787670666 0 094538 820 1752T:amd64asmclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021110920211108
3520337173093 0 097130 820 1752T:amd64asmclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021110920211108
3522717279089 0 0102290 820 1752T:amd64asmclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021110920211108
3655722050308 0 074647 836 1784T:amd64asmgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021110920211108
3660101031131 0 053039 836 1784T:amd64asmgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021110920211108
3673770324577 0 045063 828 1752T:amd64asmgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021110920211108
3740377529174 0 050879 836 1784T:amd64asmgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021110920211108
29259249868936 0 092834 820 1752T:amd64clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021110920211108
29263898168936 0 092834 820 1752T:amd64clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021110920211108
29553436880612 0 0103826 820 1752T:amd64clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021110920211108
29629880275043 0 099074 820 1752T:amd64clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021110920211108
32737578192459 0 0116807 836 1784T:amd64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021110920211108
35282113037634 0 058552 812 1752T:amd64clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021110920211108
36751316535094 0 057015 836 1784T:amd64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021110920211108
37307354333401 0 055103 836 1784T:amd64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021110920211108
59304372922595 0 043103 828 1752T:amd64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021110920211108
371959564135527 1088 0269251 2636 1752T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021110920211108
372268522334106 1136 0271406 2700 1752T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021110920211108
372311047367601 1136 0308782 2708 1784T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021110920211108
372774903954328 1088 0291357 2644 1752T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021110920211108
373036154137399 1136 0276150 2708 1784T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021110920211108
379076329737350 1136 0275886 2708 1784T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021110920211108
381861479244662 1088 0281573 2644 1752T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021110920211108
381983780050186 1088 0287069 2644 1752T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021110920211108
382329420150186 1088 0287069 2644 1752T:refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021110920211108

Namespace violations

Implementation: T:amd64
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
P503.o A_gen R
P503.o Alice_order R
P503.o B_gen R
P503.o Bob_order R
P503.o EphemeralKeyGeneration_A_SIDHp503 T
P503.o EphemeralKeyGeneration_B_SIDHp503 T
P503.o EphemeralSecretAgreement_A_SIDHp503 T
P503.o EphemeralSecretAgreement_B_SIDHp503 T
P503.o Montgomery_R2 R
P503.o Montgomery_one R
P503.o clear_words T
P503.o copy_words T
P503.o ct_cmov T
P503.o ct_compare T
P503.o eval_3_isog T
P503.o eval_4_isog T
P503.o fp2add503 T
P503.o fp2copy503 T
P503.o fp2correction503 T
P503.o fp2div2_503 T
P503.o fp2inv503_mont T
P503.o fp2mul503_mont T
P503.o fp2neg503 T
P503.o fp2sqr503_mont T
P503.o fp2sub503 T
P503.o fp2zero503 T
P503.o fpcopy503 T
P503.o fpinv503_chain_mont T
P503.o fpinv503_mont T
P503.o fpmul503_mont T
P503.o fpsqr503_mont T
P503.o fpzero503 T
P503.o from_fp2mont T
P503.o from_mont T
P503.o get_3_isog T
P503.o get_4_isog T
P503.o get_A T
P503.o inv_3_way T
P503.o j_inv T
P503.o mp_add T
P503.o mp_shiftl1 T
P503.o mp_shiftleft T
P503.o mp_shiftr1 T
P503.o mp_sub T
P503.o p503 R
P503.o p503p1 R
P503.o p503p1x64 R
P503.o p503x16p R
P503.o p503x2 R
P503.o p503x4 R
P503.o random_mod_order_A_SIDHp503 T
P503.o random_mod_order_B_SIDHp503 T
P503.o strat_Alice R
P503.o strat_Bob R
P503.o to_fp2mont T
P503.o to_mont T
P503.o xDBL T
P503.o xDBLADD T
P503.o xDBLe T
P503.o xTPL T
P503.o xTPLe T
fips202.o KeccakF1600_StatePermute T
fips202.o shake128 T
fips202.o shake128_absorb T
fips202.o shake128_squeezeblocks T
fips202.o shake256 T
fips202.o shake256_absorb T
fips202.o shake256_squeezeblocks T
fp_generic.o digit_x_digit T
fp_generic.o fpadd503 T
fp_generic.o fpcorrection503 T
fp_generic.o fpdiv2_503 T
fp_generic.o fpneg503 T
fp_generic.o fpsub503 T
fp_generic.o mp_mul T
fp_generic.o mp_sub503_p2 T
fp_generic.o mp_sub503_p4 T
fp_generic.o rdc_mont T

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

Namespace violations

Implementation: T:amd64asm
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
P503.o A_gen R
P503.o Alice_order R
P503.o B_gen R
P503.o Bob_order R
P503.o EphemeralKeyGeneration_A_SIDHp503 T
P503.o EphemeralKeyGeneration_B_SIDHp503 T
P503.o EphemeralSecretAgreement_A_SIDHp503 T
P503.o EphemeralSecretAgreement_B_SIDHp503 T
P503.o Montgomery_R2 R
P503.o Montgomery_one R
P503.o clear_words T
P503.o copy_words T
P503.o ct_cmov T
P503.o ct_compare T
P503.o eval_3_isog T
P503.o eval_4_isog T
P503.o fp2add503 T
P503.o fp2copy503 T
P503.o fp2correction503 T
P503.o fp2div2_503 T
P503.o fp2inv503_mont T
P503.o fp2mul503_mont T
P503.o fp2neg503 T
P503.o fp2sqr503_mont T
P503.o fp2sub503 T
P503.o fp2zero503 T
P503.o fpcopy503 T
P503.o fpinv503_chain_mont T
P503.o fpinv503_mont T
P503.o fpmul503_mont T
P503.o fpsqr503_mont T
P503.o fpzero503 T
P503.o from_fp2mont T
P503.o from_mont T
P503.o get_3_isog T
P503.o get_4_isog T
P503.o get_A T
P503.o inv_3_way T
P503.o j_inv T
P503.o mp_add T
P503.o mp_shiftl1 T
P503.o mp_shiftleft T
P503.o mp_shiftr1 T
P503.o mp_sub T
P503.o p503 R
P503.o p503p1 R
P503.o p503p1x64 R
P503.o p503x16p R
P503.o p503x2 R
P503.o p503x4 R
P503.o random_mod_order_A_SIDHp503 T
P503.o random_mod_order_B_SIDHp503 T
P503.o strat_Alice R
P503.o strat_Bob R
P503.o to_fp2mont T
P503.o to_mont T
P503.o xDBL T
P503.o xDBLADD T
P503.o xDBLe T
P503.o xTPL T
P503.o xTPLe T
fips202.o KeccakF1600_StatePermute T
fips202.o shake128 T
fips202.o shake128_absorb T
fips202.o shake128_squeezeblocks T
fips202.o shake256 T
fips202.o shake256_absorb T
fips202.o shake256_squeezeblocks T
fp_x64.o fpadd503 T
fp_x64.o fpcorrection503 T
fp_x64.o fpdiv2_503 T
fp_x64.o fpneg503 T
fp_x64.o fpsub503 T
fp_x64.o mp_mul T
fp_x64.o mp_sub503_p2 T
fp_x64.o mp_sub503_p4 T
fp_x64.o rdc_mont T
fp_x64_asm.o fpadd503_asm T
fp_x64_asm.o fpsub503_asm T
fp_x64_asm.o mp_add503_asm T
fp_x64_asm.o mp_dblsub503x2_asm T
fp_x64_asm.o mp_sub503_p2_asm T
fp_x64_asm.o mp_sub503_p4_asm T
fp_x64_asm.o mp_subadd503x2_asm T
fp_x64_asm.o mul503_asm T
fp_x64_asm.o rdc503_asm T

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

Namespace violations

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
api_generic.o crypto_kem_dec_generic T
api_generic.o crypto_kem_enc_generic T
api_generic.o crypto_kem_keypair_generic T
encoding.o clear_free T
encoding.o encapstoos T
encoding.o encapstoos_alloc T
encoding.o encapstoos_len T
encoding.o fp2toos T
encoding.o fp2toos_alloc T
encoding.o fp2toos_len T
encoding.o ostoencaps T
encoding.o ostofp T
encoding.o ostofp2 T
encoding.o ostoi T
encoding.o ostopk T
encoding.o ostosk T
encoding.o pktoos T
encoding.o pktoos_alloc T
encoding.o pktoos_len T
encoding.o sktoos T
encoding.o sktoos_len T
fips202.o KeccakF1600_StatePermute T
fips202.o cshake128_simple T
fips202.o cshake128_simple_absorb T
fips202.o cshake128_simple_squeezeblocks T
fips202.o cshake256_simple T
fips202.o cshake256_simple_absorb T
fips202.o cshake256_simple_squeezeblocks T
fips202.o shake128 T
fips202.o shake128_absorb T
fips202.o shake128_squeezeblocks T
fips202.o shake256 T
fips202.o shake256_absorb T
fips202.o shake256_squeezeblocks T
fp.o fp_Add T
fp.o fp_Clear T
fp.o fp_Constant T
fp.o fp_Copy T
fp.o fp_ImportHex T
fp.o fp_Init T
fp.o fp_Invert T
fp.o fp_IsBitSet T
fp.o fp_IsConstant T
fp.o fp_IsEqual T
fp.o fp_Multiply T
fp.o fp_Negative T
fp.o fp_Pow T
fp.o fp_Rand T
fp.o fp_Square T
fp.o fp_Subtract T
fp.o fp_Unity T
fp.o fp_Zero T
fp.o mp_export T
fp.o mp_import T
fp.o mp_mod T
fp.o mp_pow T
fp.o mp_sizeinbase T
fp.o set_gmp_fp_params T
fp2.o fp2_Add T
fp2.o fp2_AddDeg1 T
fp2.o fp2_Clear T
fp2.o fp2_Copy T
fp2.o fp2_Init T
fp2.o fp2_Init_set T
fp2.o fp2_Invert T
fp2.o fp2_IsConst T
fp2.o fp2_IsEqual T
fp2.o fp2_Multiply T
fp2.o fp2_Negative T
fp2.o fp2_Rand T
fp2.o fp2_Set T
fp2.o fp2_Sqrt T
fp2.o fp2_Square T
fp2.o fp2_Sub T
isogeny.o curve_2_iso T
isogeny.o curve_3_iso T
isogeny.o curve_4_iso T
isogeny.o eval_2_iso T
isogeny.o eval_3_iso T
isogeny.o eval_4_iso T
isogeny.o iso_2_e T
isogeny.o iso_3_e T
montgomery.o get_xR T
montgomery.o get_yP_yQ_A_B T
montgomery.o j_inv T
montgomery.o mont_curve_clear T
montgomery.o mont_curve_copy T
montgomery.o mont_curve_init T
montgomery.o mont_double_and_add T
montgomery.o mont_pt_clear T
montgomery.o mont_pt_copy T
montgomery.o mont_pt_init T
montgomery.o public_key_clear T
montgomery.o public_key_init T
montgomery.o xADD T
montgomery.o xDBL T
montgomery.o xDBLe T
montgomery.o xTPL T
montgomery.o xTPLe T
sidh.o sidh_isoex T
sidh.o sidh_isogen T
sidh.o sidh_sk_keygen T
sike.o sike_kem_decaps T
sike.o sike_kem_encaps T
sike.o sike_kem_keygen T
sike.o sike_pke_dec T
sike.o sike_pke_enc T
sike_params.o SIKEp434 D
sike_params.o SIKEp503 D
sike_params.o SIKEp610 D
sike_params.o SIKEp751 D
sike_params.o sike_setup_params T
sike_params.o sike_teardown_params T

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
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