Implementation notes: aarch64, pi3bplus, crypto_kem/r5nd5kem0d

Computer: pi3bplus
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20200702
Operation: crypto_kem
Primitive: r5nd5kem0d
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
247579022340 0 051090 832 1552optclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052020200417
247744422340 0 051090 832 1552avx2clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052020200417
284554926192 0 053185 896 1568avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052020200417
284911426192 0 053185 896 1568optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052020200417
885710118504 0 049017 896 1552optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052020200417
886004518504 0 049017 896 1552avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052020200417
902419518308 0 049137 896 1552optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052020200417
902466518308 0 049137 896 1552avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052020200417
1019278716548 0 047361 880 1536avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052020200417
1019481816548 0 047361 880 1536optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052020200417
5309244839705 652 49674394 1552 2064refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052020200417
5316915129491 652 49665274 1552 2048refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052020200417
5635124231461 648 50067807 1472 2064refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052020200417
5646449630447 652 49665506 1552 2048refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052020200417
5649249626616 652 49665318 1592 2032refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052020200417

Compiler output

Implementation: crypto_kem/r5nd5kem0d/avx2
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
a_fixed.c: In file included from a_fixed.c:10:
a_fixed.c: In file included from ./a_fixed.h:13:
a_fixed.c: ./r5_parameter_sets.h:139:2: warning: AVX2 not supported by platform [-W#warnings]
a_fixed.c: #warning AVX2 not supported by platform
a_fixed.c: ^
a_fixed.c: 1 warning generated.
a_random.c: In file included from a_random.c:10:
a_random.c: In file included from ./a_random.h:13:
a_random.c: ./r5_parameter_sets.h:139:2: warning: AVX2 not supported by platform [-W#warnings]
a_random.c: #warning AVX2 not supported by platform
a_random.c: ^
a_random.c: 1 warning generated.
cca_encrypt.c: In file included from cca_encrypt.c:11:
cca_encrypt.c: In file included from ./cca_encrypt.h:14:
cca_encrypt.c: ./r5_parameter_sets.h:139:2: warning: AVX2 not supported by platform [-W#warnings]
cca_encrypt.c: #warning AVX2 not supported by platform
cca_encrypt.c: ^
cca_encrypt.c: 1 warning generated.
cpa_kem.c: In file included from cpa_kem.c:12:
cpa_kem.c: In file included from ./cpa_kem.h:13:
cpa_kem.c: ./r5_parameter_sets.h:139:2: warning: AVX2 not supported by platform [-W#warnings]
cpa_kem.c: #warning AVX2 not supported by platform
cpa_kem.c: ^
cpa_kem.c: 1 warning generated.
drbg.c: In file included from drbg.c:18:
drbg.c: In file included from ./drbg.h:13:
drbg.c: ./r5_parameter_sets.h:139:2: warning: AVX2 not supported by platform [-W#warnings]
drbg.c: #warning AVX2 not supported by platform
drbg.c: ^
drbg.c: 1 warning generated.
matmul.c: In file included from matmul.c:8:
matmul.c: In file included from ./matmul.h:8:
matmul.c: ./r5_parameter_sets.h:139:2: warning: AVX2 not supported by platform [-W#warnings]
matmul.c: #warning AVX2 not supported by platform
matmul.c: ^
matmul.c: 1 warning generated.
matmul_avx2.c: In file included from matmul_avx2.c:8:
matmul_avx2.c: In file included from ./matmul.h:8:
matmul_avx2.c: ./r5_parameter_sets.h:139:2: warning: AVX2 not supported by platform [-W#warnings]
matmul_avx2.c: #warning AVX2 not supported by platform
matmul_avx2.c: ^
matmul_avx2.c: 1 warning generated.
matmul_cm.c: In file included from matmul_cm.c:7:
matmul_cm.c: In file included from ./matmul.h:8:
matmul_cm.c: ./r5_parameter_sets.h:139:2: warning: AVX2 not supported by platform [-W#warnings]
matmul_cm.c: #warning AVX2 not supported by platform
matmul_cm.c: ^
matmul_cm.c: 1 warning generated.
probe_cm.c: In file included from probe_cm.c:6:
probe_cm.c: ./r5_parameter_sets.h:139:2: warning: AVX2 not supported by platform [-W#warnings]
probe_cm.c: #warning AVX2 not supported by platform
probe_cm.c: ^
probe_cm.c: 1 warning generated.
r5_cca_kem.c: In file included from r5_cca_kem.c:7:
r5_cca_kem.c: ./r5_parameter_sets.h:139:2: warning: AVX2 not supported by platform [-W#warnings]
r5_cca_kem.c: #warning AVX2 not supported by platform
r5_cca_kem.c: ^
r5_cca_kem.c: 1 warning generated.
r5_cca_pke.c: In file included from r5_cca_pke.c:12:
r5_cca_pke.c: ./r5_parameter_sets.h:139:2: warning: AVX2 not supported by platform [-W#warnings]
r5_cca_pke.c: #warning AVX2 not supported by platform
r5_cca_pke.c: ^
r5_cca_pke.c: 1 warning generated.
r5_cpa_kem.c: In file included from r5_cpa_kem.c:9:
r5_cpa_kem.c: ./r5_parameter_sets.h:139:2: warning: AVX2 not supported by platform [-W#warnings]
r5_cpa_kem.c: #warning AVX2 not supported by platform
r5_cpa_kem.c: ^
r5_cpa_kem.c: 1 warning generated.
r5_cpa_pke_n1.c: In file included from r5_cpa_pke_n1.c:6:
r5_cpa_pke_n1.c: ./r5_parameter_sets.h:139:2: warning: AVX2 not supported by platform [-W#warnings]
r5_cpa_pke_n1.c: #warning AVX2 not supported by platform
r5_cpa_pke_n1.c: ^
r5_cpa_pke_n1.c: 1 warning generated.
r5_cpa_pke_nd.c: In file included from r5_cpa_pke_nd.c:7:
r5_cpa_pke_nd.c: ./r5_parameter_sets.h:139:2: warning: AVX2 not supported by platform [-W#warnings]
r5_cpa_pke_nd.c: #warning AVX2 not supported by platform
r5_cpa_pke_nd.c: ^
r5_cpa_pke_nd.c: 1 warning generated.
r5_dem.c: In file included from r5_dem.c:11:
r5_dem.c: ./r5_parameter_sets.h:139:2: warning: AVX2 not supported by platform [-W#warnings]
r5_dem.c: #warning AVX2 not supported by platform
r5_dem.c: ^
r5_dem.c: 1 warning generated.
ringmul.c: In file included from ringmul.c:8:
ringmul.c: In file included from ./ringmul.h:9:
ringmul.c: ./r5_parameter_sets.h:139:2: warning: AVX2 not supported by platform [-W#warnings]
ringmul.c: #warning AVX2 not supported by platform
ringmul.c: ^
ringmul.c: 1 warning generated.
ringmul_cm.c: In file included from ringmul_cm.c:8:
ringmul_cm.c: In file included from ./ringmul.h:9:
ringmul_cm.c: ./r5_parameter_sets.h:139:2: warning: AVX2 not supported by platform [-W#warnings]
ringmul_cm.c: #warning AVX2 not supported by platform
ringmul_cm.c: ^
ringmul_cm.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 avx2

Compiler output

Implementation: crypto_kem/r5nd5kem0d/avx2
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
a_fixed.c: In file included from a_fixed.h:13,
a_fixed.c: from a_fixed.c:10:
a_fixed.c: r5_parameter_sets.h:139:2: warning: #warning AVX2 not supported by platform [-Wcpp]
a_fixed.c: #warning AVX2 not supported by platform
a_fixed.c: ^~~~~~~
a_random.c: In file included from a_random.h:13,
a_random.c: from a_random.c:10:
a_random.c: r5_parameter_sets.h:139:2: warning: #warning AVX2 not supported by platform [-Wcpp]
a_random.c: #warning AVX2 not supported by platform
a_random.c: ^~~~~~~
cca_encrypt.c: In file included from cca_encrypt.h:14,
cca_encrypt.c: from cca_encrypt.c:11:
cca_encrypt.c: r5_parameter_sets.h:139:2: warning: #warning AVX2 not supported by platform [-Wcpp]
cca_encrypt.c: #warning AVX2 not supported by platform
cca_encrypt.c: ^~~~~~~
cpa_kem.c: In file included from cpa_kem.h:13,
cpa_kem.c: from cpa_kem.c:12:
cpa_kem.c: r5_parameter_sets.h:139:2: warning: #warning AVX2 not supported by platform [-Wcpp]
cpa_kem.c: #warning AVX2 not supported by platform
cpa_kem.c: ^~~~~~~
drbg.c: In file included from drbg.h:13,
drbg.c: from drbg.c:18:
drbg.c: r5_parameter_sets.h:139:2: warning: #warning AVX2 not supported by platform [-Wcpp]
drbg.c: #warning AVX2 not supported by platform
drbg.c: ^~~~~~~
matmul.c: In file included from matmul.h:8,
matmul.c: from matmul.c:8:
matmul.c: r5_parameter_sets.h:139:2: warning: #warning AVX2 not supported by platform [-Wcpp]
matmul.c: #warning AVX2 not supported by platform
matmul.c: ^~~~~~~
matmul_avx2.c: In file included from matmul.h:8,
matmul_avx2.c: from matmul_avx2.c:8:
matmul_avx2.c: r5_parameter_sets.h:139:2: warning: #warning AVX2 not supported by platform [-Wcpp]
matmul_avx2.c: #warning AVX2 not supported by platform
matmul_avx2.c: ^~~~~~~
matmul_cm.c: In file included from matmul.h:8,
matmul_cm.c: from matmul_cm.c:7:
matmul_cm.c: r5_parameter_sets.h:139:2: warning: #warning AVX2 not supported by platform [-Wcpp]
matmul_cm.c: #warning AVX2 not supported by platform
matmul_cm.c: ^~~~~~~
probe_cm.c: In file included from probe_cm.c:6:
probe_cm.c: r5_parameter_sets.h:139:2: warning: #warning AVX2 not supported by platform [-Wcpp]
probe_cm.c: #warning AVX2 not supported by platform
probe_cm.c: ^~~~~~~
r5_cca_kem.c: In file included from r5_cca_kem.c:7:
r5_cca_kem.c: r5_parameter_sets.h:139:2: warning: #warning AVX2 not supported by platform [-Wcpp]
r5_cca_kem.c: #warning AVX2 not supported by platform
r5_cca_kem.c: ^~~~~~~
r5_cca_pke.c: In file included from r5_cca_pke.c:12:
r5_cca_pke.c: r5_parameter_sets.h:139:2: warning: #warning AVX2 not supported by platform [-Wcpp]
r5_cca_pke.c: #warning AVX2 not supported by platform
r5_cca_pke.c: ^~~~~~~
r5_cpa_kem.c: In file included from r5_cpa_kem.c:9:
r5_cpa_kem.c: r5_parameter_sets.h:139:2: warning: #warning AVX2 not supported by platform [-Wcpp]
r5_cpa_kem.c: #warning AVX2 not supported by platform
r5_cpa_kem.c: ^~~~~~~
r5_cpa_pke_n1.c: In file included from r5_cpa_pke_n1.c:6:
r5_cpa_pke_n1.c: r5_parameter_sets.h:139:2: warning: #warning AVX2 not supported by platform [-Wcpp]
r5_cpa_pke_n1.c: #warning AVX2 not supported by platform
r5_cpa_pke_n1.c: ^~~~~~~
r5_cpa_pke_nd.c: In file included from r5_cpa_pke_nd.c:7:
r5_cpa_pke_nd.c: r5_parameter_sets.h:139:2: warning: #warning AVX2 not supported by platform [-Wcpp]
r5_cpa_pke_nd.c: #warning AVX2 not supported by platform
r5_cpa_pke_nd.c: ^~~~~~~
r5_dem.c: In file included from r5_dem.c:11:
r5_dem.c: r5_parameter_sets.h:139:2: warning: #warning AVX2 not supported by platform [-Wcpp]
r5_dem.c: #warning AVX2 not supported by platform
r5_dem.c: ^~~~~~~
ringmul.c: In file included from ringmul.h:9,
ringmul.c: from ringmul.c:8:
ringmul.c: r5_parameter_sets.h:139:2: warning: #warning AVX2 not supported by platform [-Wcpp]
ringmul.c: #warning AVX2 not supported by platform
ringmul.c: ^~~~~~~
ringmul_cm.c: In file included from ringmul.h:9,
ringmul_cm.c: from ringmul_cm.c:8:
ringmul_cm.c: r5_parameter_sets.h:139:2: warning: #warning AVX2 not supported by platform [-Wcpp]
ringmul_cm.c: #warning AVX2 not supported by platform
ringmul_cm.c: ^~~~~~~

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2

Namespace violations

Implementation: crypto_kem/r5nd5kem0d/ref
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
a_fixed.o A_fixed B
a_fixed.o A_fixed_len B
a_fixed.o create_A_fixed T
a_fixed.o r5_parameter_set_names C
a_fixed.o r5_parameter_sets C
a_random.o create_A_random T
a_random.o r5_parameter_set_names C
a_random.o r5_parameter_sets C
cca_encrypt.o r5_parameter_set_names C
cca_encrypt.o r5_parameter_sets C
cpa_kem.o r5_parameter_set_names C
cpa_kem.o r5_parameter_sets C
drbg.o drbg T
drbg.o drbg_init T
drbg.o drbg_init_customization T
drbg.o drbg_sampler16 T
drbg.o drbg_sampler16_2 T
drbg.o drbg_sampler16_2_once T
drbg.o drbg_sampler16_2_once_customization T
little_endian.o u16_from_le T
little_endian.o u16_to_le T
little_endian.o u32_from_le T
little_endian.o u32_to_le T
little_endian.o u64_from_le T
little_endian.o u64_to_le T
little_endian.o u8_from_le T
little_endian.o u8_to_le T
misc.o ceil_log2 T
misc.o print_hex T
misc.o print_sage_s_matrix T
misc.o print_sage_s_vector T
misc.o print_sage_s_vector_matrix T
misc.o print_sage_u_matrix T
misc.o print_sage_u_vector T
misc.o print_sage_u_vector_matrix T
pack.o pack T
pack.o pack_ct T
pack.o pack_pk T
pack.o unpack T
pack.o unpack_ct T
pack.o unpack_pk T
parameters.o get_crypto_bytes T
parameters.o get_crypto_cipher_text_bytes T
parameters.o get_crypto_public_key_bytes T
parameters.o get_crypto_secret_key_bytes T
parameters.o get_crypto_seed_bytes T
parameters.o r5_parameter_set_names C
parameters.o r5_parameter_sets C
parameters.o set_parameter_tau T
parameters.o set_parameter_tau2_len T
parameters.o set_parameters T
parameters.o set_parameters_from_api T
r5_cca_kem.o r5_cca_kem_decapsulate T
r5_cca_kem.o r5_cca_kem_encapsulate T
r5_cca_kem.o r5_cca_kem_keygen T
r5_cca_kem.o r5_parameter_set_names C
r5_cca_kem.o r5_parameter_sets C
r5_cca_pke.o r5_cca_pke_decrypt T
r5_cca_pke.o r5_cca_pke_encrypt T
r5_cca_pke.o r5_cca_pke_keygen T
r5_cca_pke.o r5_parameter_set_names C
r5_cca_pke.o r5_parameter_sets C
r5_core.o create_A T
r5_core.o create_R_T T
r5_core.o create_S_T T
r5_core.o decompress_matrix T
r5_core.o mult_matrix T
r5_core.o r5_parameter_set_names C
r5_core.o r5_parameter_sets C
r5_core.o round_matrix T
r5_core.o transpose_matrix T
r5_cpa_kem.o r5_cpa_kem_decapsulate T
r5_cpa_kem.o r5_cpa_kem_encapsulate T
r5_cpa_kem.o r5_cpa_kem_keygen T
r5_cpa_kem.o r5_parameter_set_names C
r5_cpa_kem.o r5_parameter_sets C
r5_cpa_pke.o r5_cpa_pke_decrypt T
r5_cpa_pke.o r5_cpa_pke_encrypt T
r5_cpa_pke.o r5_cpa_pke_keygen T
r5_cpa_pke.o r5_parameter_set_names C
r5_cpa_pke.o r5_parameter_sets C
r5_dem.o round5_dem T
r5_dem.o round5_dem_inverse T
r5_hash.o hash T
r5_hash.o hash_customization T
r5_memory.o checked_calloc T
r5_memory.o checked_malloc T
r5_memory.o checked_realloc T
r5_memory.o conditional_constant_time_memcpy T
r5_memory.o constant_time_memcmp T
r5_parameter_sets.o r5_parameter_set_names D
r5_parameter_sets.o r5_parameter_sets R
shake.o cshake128 T
shake.o cshake128_absorb T
shake.o cshake128_init T
shake.o cshake128_squeezeblocks T
shake.o cshake256 T
shake.o cshake256_absorb T
shake.o cshake256_init T
shake.o cshake256_squeezeblocks T
shake.o shake128 T
shake.o shake128_absorb T
shake.o shake128_init T
shake.o shake128_squeezeblocks T
shake.o shake256 T
shake.o shake256_absorb T
shake.o shake256_init T
shake.o shake256_squeezeblocks T
xef_ref.o xef_compute T
xef_ref.o xef_fixerr T
xef_ref.o xef_reg R

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

Namespace violations

Implementation: crypto_kem/r5nd5kem0d/avx2
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
a_fixed.o create_A_fixed T
a_random.o create_A_random T
drbg.o drbg_sampler16_2_once T
drbg.o drbg_sampler16_2_once_customization T
little_endian.o u16_from_le T
little_endian.o u16_to_le T
little_endian.o u32_from_le T
little_endian.o u32_to_le T
little_endian.o u64_from_le T
little_endian.o u64_to_le T
little_endian.o u8_from_le T
little_endian.o u8_to_le T
misc.o ceil_log2 T
misc.o print_hex T
misc.o print_sage_s_matrix T
misc.o print_sage_s_vector T
misc.o print_sage_s_vector_matrix T
misc.o print_sage_u_matrix T
misc.o print_sage_u_vector T
misc.o print_sage_u_vector_matrix T
probe_cm.o probe_cm T
r5_cca_kem.o r5_cca_kem_decapsulate T
r5_cca_kem.o r5_cca_kem_encapsulate T
r5_cca_kem.o r5_cca_kem_keygen T
r5_cca_pke.o r5_cca_pke_decrypt T
r5_cca_pke.o r5_cca_pke_encrypt T
r5_cca_pke.o r5_cca_pke_keygen T
r5_cpa_kem.o r5_cpa_kem_decapsulate T
r5_cpa_kem.o r5_cpa_kem_encapsulate T
r5_cpa_kem.o r5_cpa_kem_keygen T
r5_cpa_pke_nd.o r5_cpa_pke_decrypt T
r5_cpa_pke_nd.o r5_cpa_pke_encrypt T
r5_cpa_pke_nd.o r5_cpa_pke_keygen T
r5_dem.o round5_dem T
r5_dem.o round5_dem_inverse T
r5_hash.o hash T
r5_hash.o hash_customization T
r5_memory.o checked_calloc T
r5_memory.o checked_malloc T
r5_memory.o checked_realloc T
r5_memory.o conditional_constant_time_memcpy T
r5_memory.o constant_time_memcmp T
ringmul_cm.o create_secret_vector T
ringmul_cm.o ringmul_p T
ringmul_cm.o ringmul_q T
shake.o cshake128 T
shake.o cshake128_absorb T
shake.o cshake128_init T
shake.o cshake128_squeezeblocks T
shake.o cshake256 T
shake.o cshake256_absorb T
shake.o cshake256_init T
shake.o cshake256_squeezeblocks T
shake.o shake128 T
shake.o shake128_absorb T
shake.o shake128_init T
shake.o shake128_squeezeblocks T
shake.o shake256 T
shake.o shake256_absorb T
shake.o shake256_init T
shake.o shake256_squeezeblocks T
xe2_c16.o xe2_53_compute T
xe2_c16.o xe2_53_fixerr T
xe4_c64.o xe4_163_compute T
xe4_c64.o xe4_163_fixerr T
xe5_c64.o xe5_190_compute T
xe5_c64.o xe5_190_fixerr T
xe5_c64.o xe5_218_compute T
xe5_c64.o xe5_218_fixerr T
xe5_c64.o xe5_234_compute T
xe5_c64.o xe5_234_fixerr T
xef_ref.o xef_compute T
xef_ref.o xef_fixerr T
xef_ref.o xef_reg R

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