Implementation notes: amd64, hertz, crypto_kem/sikep751

Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20240716
Operation: crypto_kem
Primitive: sikep751
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
8400201787881 0 0119994 844 1832T:mulxadxclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
8408385587558 0 0119786 844 1832T:mulxadxclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
8452549448317 0 074404 820 1800T:mulxadxgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
8483974857584 0 085740 820 1832T:mulxadxgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
8508865745149 0 071475 836 1832T:mulxadxclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
8765315632296 0 056916 812 1768T:mulxadxgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
9546869986925 0 0119146 844 1832T:mulxclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
9560584387248 0 0119354 844 1832T:mulxclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
9586900044516 0 070851 836 1832T:mulxclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
9616778947684 0 073780 820 1800T:mulxgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
9623828156951 0 085116 820 1832T:mulxgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
9970723531663 0 056276 812 1768T:mulxgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
10675951987186 0 0119418 844 1832T:amd64asmclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
10693059887509 0 0119626 844 1832T:amd64asmclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
10724496357212 0 085372 820 1832T:amd64asmgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
10728818544777 0 071107 836 1832T:amd64asmclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
10729897647945 0 074036 820 1800T:amd64asmgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
11115021531924 0 056532 812 1768T:amd64asmgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
803656505138841 0 0170962 844 1832T:amd64clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
80659328299998 0 0132274 844 1832T:amd64clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
81819252643496 0 069835 836 1832T:amd64clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
840674032104094 0 0132228 820 1832T:amd64gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
89528977148969 0 075068 820 1800T:amd64gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
162310327326499 0 051124 812 1768T:amd64gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
959549690852638 1088 0305845 2100 1832T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
965373230435689 1088 0282943 2092 1832T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
966193142537592 1136 0282858 2116 1768T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
968628082164049 1136 0312842 2124 1832T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
970947370042203 1136 0288962 2124 1800T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
977086495051606 1088 0304725 2100 1832T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716

Compiler output


api_generic.c: api_generic.c:95:1: warning: unused label 'end' [-Wunused-label]
api_generic.c:    95 | end:
api_generic.c:       | ^~~~
api_generic.c: 1 warning generated.
fips202.c: fips202.c:578:13: warning: unused function 'cshake256_simple_absorb_for_kmac256' [-Wunused-function]
fips202.c:   578 | static void cshake256_simple_absorb_for_kmac256(uint64_t s[25], uint16_t cstm, const unsigned char *in, unsigned long long inlen)
fips202.c:       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fips202.c: 1 warning generated.

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))

Compiler output


api_generic.c: api_generic.c: In function 'crypto_kem_dec_generic':
api_generic.c: api_generic.c:95:1: warning: label 'end' defined but not used [-Wunused-label]
api_generic.c:    95 | end:
api_generic.c:       | ^~~
fips202.c: fips202.c:428:39: warning: argument 1 of type 'uint64_t[25]' {aka 'long unsigned int[25]'} with mismatched bound [-Warray-parameter=]
fips202.c:   428 | void cshake128_simple_absorb(uint64_t s[25], uint16_t cstm, const unsigned char *in, unsigned long long inlen)
fips202.c:       |                              ~~~~~~~~~^~~~~
fips202.c: In file included from fips202.c:16:
fips202.c: fips202.h:14:40: note: previously declared as 'uint64_t *' {aka 'long unsigned int *'}
fips202.c:    14 | void cshake128_simple_absorb(uint64_t *s, uint16_t cstm, const unsigned char *in, unsigned long long inlen);
fips202.c:       |                              ~~~~~~~~~~^
fips202.c: fips202.c:524:39: warning: argument 1 of type 'uint64_t[25]' {aka 'long unsigned int[25]'} with mismatched bound [-Warray-parameter=]
fips202.c:   524 | void cshake256_simple_absorb(uint64_t s[25], uint16_t cstm, const unsigned char *in, unsigned long long inlen)
fips202.c:       |                              ~~~~~~~~~^~~~~
fips202.c: fips202.h:22:40: note: previously declared as 'uint64_t *' {aka 'long unsigned int *'}
fips202.c:    22 | void cshake256_simple_absorb(uint64_t *s, uint16_t cstm, const unsigned char *in, unsigned long long inlen);
fips202.c:       |                              ~~~~~~~~~~^
fips202.c: fips202.c:578:13: warning: 'cshake256_simple_absorb_for_kmac256' defined but not used [-Wunused-function]
fips202.c:   578 | static void cshake256_simple_absorb_for_kmac256(uint64_t s[25], uint16_t cstm, const unsigned char *in, unsigned long long inlen)
fips202.c:       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Namespace violations


P751.o A_gen R
P751.o Alice_order R
P751.o B_gen R
P751.o Bob_order R
P751.o EphemeralKeyGeneration_A_SIDHp751 T
P751.o EphemeralKeyGeneration_B_SIDHp751 T
P751.o EphemeralSecretAgreement_A_SIDHp751 T
P751.o EphemeralSecretAgreement_B_SIDHp751 T
P751.o Montgomery_R2 R
P751.o Montgomery_one R
P751.o clear_words T
P751.o copy_words T
P751.o ct_cmov T
P751.o ct_compare T
P751.o eval_3_isog T
P751.o eval_4_isog T
P751.o fp2add751 T
P751.o fp2copy751 T
P751.o fp2correction751 T
P751.o fp2div2_751 T
P751.o fp2inv751_mont T
P751.o fp2mul751_mont T
P751.o fp2neg751 T
P751.o fp2sqr751_mont T
P751.o fp2sub751 T
P751.o fp2zero751 T
P751.o fpcopy751 T
P751.o fpinv751_chain_mont T
P751.o fpinv751_mont T
P751.o fpmul751_mont T
P751.o fpsqr751_mont T
P751.o fpzero751 T
P751.o from_fp2mont T
P751.o from_mont T
P751.o get_3_isog T
P751.o get_4_isog T
P751.o get_A T
P751.o inv_3_way T
P751.o j_inv T
P751.o mp_add T
P751.o mp_shiftl1 T
P751.o mp_shiftleft T
P751.o mp_shiftr1 T
P751.o mp_sub T
P751.o p751 R
P751.o p751p1 R
P751.o p751x16p R
P751.o p751x2 R
P751.o p751x4 R
P751.o random_mod_order_A_SIDHp751 T
P751.o random_mod_order_B_SIDHp751 T
P751.o strat_Alice R
P751.o strat_Bob R
P751.o to_fp2mont T
P751.o to_mont T
P751.o xDBL T
P751.o xDBLADD T
P751.o xDBLe T
P751.o xTPL T
P751.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 fpadd751 T
fp_generic.o fpcorrection751 T
fp_generic.o fpdiv2_751 T
fp_generic.o fpneg751 T
fp_generic.o fpsub751 T
fp_generic.o mp_mul T
fp_generic.o mp_sub751_p2 T
fp_generic.o mp_sub751_p4 T
fp_generic.o rdc_mont T

Number of similar (implementation,compiler) pairs: 6, namely:
ImplementationCompiler
T:amd64clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:amd64clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:amd64clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:amd64gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:amd64gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:amd64gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Namespace violations


P751.o A_gen R
P751.o Alice_order R
P751.o B_gen R
P751.o Bob_order R
P751.o EphemeralKeyGeneration_A_SIDHp751 T
P751.o EphemeralKeyGeneration_B_SIDHp751 T
P751.o EphemeralSecretAgreement_A_SIDHp751 T
P751.o EphemeralSecretAgreement_B_SIDHp751 T
P751.o Montgomery_R2 R
P751.o Montgomery_one R
P751.o clear_words T
P751.o copy_words T
P751.o ct_cmov T
P751.o ct_compare T
P751.o eval_3_isog T
P751.o eval_4_isog T
P751.o fp2add751 T
P751.o fp2copy751 T
P751.o fp2correction751 T
P751.o fp2div2_751 T
P751.o fp2inv751_mont T
P751.o fp2mul751_mont T
P751.o fp2neg751 T
P751.o fp2sqr751_mont T
P751.o fp2sub751 T
P751.o fp2zero751 T
P751.o fpcopy751 T
P751.o fpinv751_chain_mont T
P751.o fpinv751_mont T
P751.o fpmul751_mont T
P751.o fpsqr751_mont T
P751.o fpzero751 T
P751.o from_fp2mont T
P751.o from_mont T
P751.o get_3_isog T
P751.o get_4_isog T
P751.o get_A T
P751.o inv_3_way T
P751.o j_inv T
P751.o mp_add T
P751.o mp_shiftl1 T
P751.o mp_shiftleft T
P751.o mp_shiftr1 T
P751.o mp_sub T
P751.o p751 R
P751.o p751p1 R
P751.o p751x16p R
P751.o p751x2 R
P751.o p751x4 R
P751.o random_mod_order_A_SIDHp751 T
P751.o random_mod_order_B_SIDHp751 T
P751.o strat_Alice R
P751.o strat_Bob R
P751.o to_fp2mont T
P751.o to_mont T
P751.o xDBL T
P751.o xDBLADD T
P751.o xDBLe T
P751.o xTPL T
P751.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 fpadd751 T
fp_x64.o fpcorrection751 T
fp_x64.o fpdiv2_751 T
fp_x64.o fpneg751 T
fp_x64.o fpsub751 T
fp_x64.o mp_mul T
fp_x64.o mp_sub751_p2 T
fp_x64.o mp_sub751_p4 T
fp_x64.o rdc_mont T
fp_x64_asm.o fpadd751_asm T
fp_x64_asm.o fpsub751_asm T
fp_x64_asm.o mp_add751_asm T
fp_x64_asm.o mp_dblsub751x2_asm T
fp_x64_asm.o mp_sub751_p2_asm T
fp_x64_asm.o mp_sub751_p4_asm T
fp_x64_asm.o mp_subadd751x2_asm T
fp_x64_asm.o mul751_asm T
fp_x64_asm.o rdc751_asm T

Number of similar (implementation,compiler) pairs: 18, namely:
ImplementationCompiler
T:amd64asmclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:amd64asmclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:amd64asmclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:amd64asmgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:amd64asmgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:amd64asmgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:mulxclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:mulxclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:mulxclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:mulxgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:mulxgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:mulxgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:mulxadxclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:mulxadxclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:mulxadxclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:mulxadxgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:mulxadxgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:mulxadxgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Namespace violations


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 (implementation,compiler) pairs: 6, namely:
ImplementationCompiler
T:refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)