Implementation notes: amd64, intelnuci7, crypto_kem/sikep610

Computer: intelnuci7
Architecture: amd64
CPU ID: GenuineIntel-000806e9-bfebfbff
SUPERCOP version: 20211108
Operation: crypto_kem
Primitive: sikep610
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
5620009886606 0 0108449 784 1576T:mulxadxclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021112420211108
5623920286606 0 0108449 784 1576T:mulxadxclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021112420211108
5635622888724 0 0110593 784 1576T:mulxadxclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021112420211108
5663321695816 0 0116817 784 1576T:mulxadxclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021112420211108
5682364840184 0 059231 776 1576T:mulxadxclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021112420211108
5869201478404 0 0102382 784 1608T:mulxadxgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021112420211108
5896526635665 0 056366 784 1608T:mulxadxgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021112420211108
5925852629379 0 048758 776 1576T:mulxadxgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021112420211108
5967816233918 0 054462 784 1608T:mulxadxgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021112420211108
6381155895460 0 0116465 784 1576T:mulxclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021112420211108
6399730086250 0 0108097 784 1576T:mulxclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021112420211108
6402585286250 0 0108097 784 1576T:mulxclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021112420211108
6404221439828 0 058879 776 1576T:mulxclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021112420211108
6418744088368 0 0110241 784 1576T:mulxclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021112420211108
6555922078048 0 0102030 784 1608T:mulxgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021112420211108
6584939035309 0 056014 784 1608T:mulxgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021112420211108
6606769429023 0 048406 776 1576T:mulxgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021112420211108
6696446833562 0 054110 784 1608T:mulxgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021112420211108
600345974131362 0 0152145 784 1576T:amd64clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021112420211108
604944950122177 0 0143905 784 1576T:amd64clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021112420211108
605072456118963 0 0140665 784 1576T:amd64clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021112420211108
605121006118963 0 0140665 784 1576T:amd64clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021112420211108
673920660127249 0 0151230 784 1608T:amd64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021112420211108
71933094641990 0 061039 776 1576T:amd64clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021112420211108
72356149837915 0 058630 784 1608T:amd64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021112420211108
75109885036542 0 057094 784 1608T:amd64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021112420211108
112259191825151 0 044542 776 1576T:amd64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021112420211108
678465678471870 1136 0326861 2656 1608T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021112420211108
680902383650345 1088 0299532 2616 1576T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021112420211108
680985999850345 1088 0299532 2616 1576T:refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021112420211108
681443639238858 1136 0290565 2656 1608T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021112420211108
681621782635783 1136 0286077 2648 1576T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021112420211108
681745380443309 1088 0292412 2616 1576T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021112420211108
682871223654325 1088 0303532 2616 1576T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021112420211108
683877156234963 1088 0281018 2608 1576T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021112420211108
690764844638955 1136 0290445 2656 1608T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021112420211108

Compiler output

Implementation: T:amd64asm
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
fp_x64_asm.S: fp_x64_asm.S:724:3: error: "CONFIGURATION NOT SUPPORTED. TRY USE_MULX=TRUE"
fp_x64_asm.S: # error "CONFIGURATION NOT SUPPORTED. TRY USE_MULX=TRUE"
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:1042:3: error: "CONFIGURATION NOT SUPPORTED. TRY USE_MULX=TRUE"
fp_x64_asm.S: # error "CONFIGURATION NOT SUPPORTED. TRY USE_MULX=TRUE"
fp_x64_asm.S: ^
fp_x64_asm.S: 2 errors generated.

Number of similar (compiler,implementation) pairs: 5, 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

Compiler output

Implementation: T:amd64asm
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
fp_x64_asm.S: fp_x64_asm.S:724:3: error: #error "CONFIGURATION NOT SUPPORTED. TRY USE_MULX=TRUE"
fp_x64_asm.S: # error "CONFIGURATION NOT SUPPORTED. TRY USE_MULX=TRUE"
fp_x64_asm.S: ^~~~~
fp_x64_asm.S: fp_x64_asm.S:1042:3: error: #error "CONFIGURATION NOT SUPPORTED. TRY USE_MULX=TRUE"
fp_x64_asm.S: # error "CONFIGURATION NOT SUPPORTED. TRY USE_MULX=TRUE"
fp_x64_asm.S: ^~~~~

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
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

Namespace violations

Implementation: T:amd64
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
P610.o A_gen R
P610.o Alice_order R
P610.o B_gen R
P610.o Bob_order R
P610.o EphemeralKeyGeneration_A_SIDHp610 T
P610.o EphemeralKeyGeneration_B_SIDHp610 T
P610.o EphemeralSecretAgreement_A_SIDHp610 T
P610.o EphemeralSecretAgreement_B_SIDHp610 T
P610.o Montgomery_R2 R
P610.o Montgomery_one R
P610.o clear_words T
P610.o copy_words T
P610.o ct_cmov T
P610.o ct_compare T
P610.o eval_2_isog T
P610.o eval_3_isog T
P610.o eval_4_isog T
P610.o fp2add610 T
P610.o fp2copy610 T
P610.o fp2correction610 T
P610.o fp2div2_610 T
P610.o fp2inv610_mont T
P610.o fp2mul610_mont T
P610.o fp2neg610 T
P610.o fp2sqr610_mont T
P610.o fp2sub610 T
P610.o fp2zero610 T
P610.o fpcopy610 T
P610.o fpinv610_chain_mont T
P610.o fpinv610_mont T
P610.o fpmul610_mont T
P610.o fpsqr610_mont T
P610.o fpzero610 T
P610.o from_fp2mont T
P610.o from_mont T
P610.o get_2_isog T
P610.o get_3_isog T
P610.o get_4_isog T
P610.o get_A T
P610.o inv_3_way T
P610.o j_inv T
P610.o mp_add T
P610.o mp_shiftl1 T
P610.o mp_shiftleft T
P610.o mp_shiftr1 T
P610.o mp_sub T
P610.o p610 R
P610.o p610p1 R
P610.o p610x16p R
P610.o p610x2 R
P610.o p610x4 R
P610.o random_mod_order_A_SIDHp610 T
P610.o random_mod_order_B_SIDHp610 T
P610.o strat_Alice R
P610.o strat_Bob R
P610.o to_fp2mont T
P610.o to_mont T
P610.o xDBL T
P610.o xDBLADD T
P610.o xDBLe T
P610.o xTPL T
P610.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 fpadd610 T
fp_generic.o fpcorrection610 T
fp_generic.o fpdiv2_610 T
fp_generic.o fpneg610 T
fp_generic.o fpsub610 T
fp_generic.o mp_mul T
fp_generic.o mp_sub610_p2 T
fp_generic.o mp_sub610_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:mulx
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
P610.o A_gen R
P610.o Alice_order R
P610.o B_gen R
P610.o Bob_order R
P610.o EphemeralKeyGeneration_A_SIDHp610 T
P610.o EphemeralKeyGeneration_B_SIDHp610 T
P610.o EphemeralSecretAgreement_A_SIDHp610 T
P610.o EphemeralSecretAgreement_B_SIDHp610 T
P610.o Montgomery_R2 R
P610.o Montgomery_one R
P610.o clear_words T
P610.o copy_words T
P610.o ct_cmov T
P610.o ct_compare T
P610.o eval_2_isog T
P610.o eval_3_isog T
P610.o eval_4_isog T
P610.o fp2add610 T
P610.o fp2copy610 T
P610.o fp2correction610 T
P610.o fp2div2_610 T
P610.o fp2inv610_mont T
P610.o fp2mul610_mont T
P610.o fp2neg610 T
P610.o fp2sqr610_mont T
P610.o fp2sub610 T
P610.o fp2zero610 T
P610.o fpcopy610 T
P610.o fpinv610_chain_mont T
P610.o fpinv610_mont T
P610.o fpmul610_mont T
P610.o fpsqr610_mont T
P610.o fpzero610 T
P610.o from_fp2mont T
P610.o from_mont T
P610.o get_2_isog T
P610.o get_3_isog T
P610.o get_4_isog T
P610.o get_A T
P610.o inv_3_way T
P610.o j_inv T
P610.o mp_add T
P610.o mp_shiftl1 T
P610.o mp_shiftleft T
P610.o mp_shiftr1 T
P610.o mp_sub T
P610.o p610 R
P610.o p610p1 R
P610.o p610x16p R
P610.o p610x2 R
P610.o p610x4 R
P610.o random_mod_order_A_SIDHp610 T
P610.o random_mod_order_B_SIDHp610 T
P610.o strat_Alice R
P610.o strat_Bob R
P610.o to_fp2mont T
P610.o to_mont T
P610.o xDBL T
P610.o xDBLADD T
P610.o xDBLe T
P610.o xTPL T
P610.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 fpadd610 T
fp_x64.o fpcorrection610 T
fp_x64.o fpdiv2_610 T
fp_x64.o fpneg610 T
fp_x64.o fpsub610 T
fp_x64.o mp_mul T
fp_x64.o mp_sub610_p2 T
fp_x64.o mp_sub610_p4 T
fp_x64.o rdc_mont T
fp_x64_asm.o fpadd610_asm T
fp_x64_asm.o fpsub610_asm T
fp_x64_asm.o mp_add610_asm T
fp_x64_asm.o mp_dblsub610x2_asm T
fp_x64_asm.o mp_sub610_p2_asm T
fp_x64_asm.o mp_sub610_p4_asm T
fp_x64_asm.o mp_subadd610x2_asm T
fp_x64_asm.o mul610_asm T
fp_x64_asm.o rdc610_asm T

Number of similar (compiler,implementation) pairs: 18, namely:
CompilerImplementations
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