Implementation notes: amd64, zen3, crypto_aead/ascon128av12

Computer: zen3
Architecture: amd64
CPU ID: AuthenticAMD-00a20f10-178bfbff
SUPERCOP version: 20211108
Operation: crypto_aead
Primitive: ascon128av12
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
3287720522 0 043200 860 1048T:opt64oldclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
3297220538 0 042976 860 1048T:opt64oldclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
3321727202 0 050016 860 1048opt64clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
3324927211 0 049776 860 1048opt64clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
3329326949 0 041494 852 1016opt64clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
3336516920 0 031406 852 1016T:opt64oldclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
3477944152 0 066016 860 1048refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
3487544152 0 066256 860 1048refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
3601317538 0 034448 836 1080T:opt64oldgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
3604727493 0 042288 860 1016opt64clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
3638917410 0 032384 836 1080T:opt64oldgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
3670616989 0 031736 860 1016T:opt64oldclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
3674522412 0 036622 852 1016refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
3713229824 0 044704 836 1080opt64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
3720523161 0 039760 836 1080refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
3766630212 0 047040 836 1080opt64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
3839817381 0 034856 860 1016T:opt64oldclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
3931329745 0 042879 812 1048opt64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
3931916943 0 030127 812 1048T:opt64oldgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
4029128054 0 045560 860 1016opt64clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
4068418879 0 033271 828 1080T:opt64oldgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
414091929 0 024640 860 1048opt64_lowsizeclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
418161787 0 016230 852 1016opt64_lowsizeclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
4396721052 0 038504 860 1016refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
440211840 0 016552 860 1016opt64_lowsizeclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
441872668 0 017376 836 1080opt64_lowsizegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
4634535542 0 049847 828 1080opt64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
481511915 0 019344 860 1016opt64_lowsizeclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
492534086 0 018159 828 1080opt64_lowsizegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
4974419475 0 034312 836 1080refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
5015319137 0 033880 860 1016refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
502522131 0 024592 860 1048opt64_lowsizeclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
5163319319 0 033567 828 1080refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
531813341 0 019944 836 1080opt64_lowsizegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
555042453 0 015335 812 1048opt64_lowsizegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
567633031 0 020560 860 1016T:refoldclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
586904689 0 027456 860 1048T:refoldclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
598514705 0 027232 860 1048T:refoldclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
642573302 0 016439 812 1048refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
694552582 0 017046 852 1016T:refoldclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
715526730 0 023664 836 1080T:refoldgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
8608046070 0 062968 836 1080T:opt32oldgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
8650446190 0 061160 836 1080T:opt32oldgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
8865643442 0 056631 812 1048T:opt32oldgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
9086927570 0 042464 836 1080bi32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
9263744774 0 059159 828 1080T:opt32oldgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
9469627545 0 040671 812 1048bi32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
968892655 0 017440 860 1016T:refoldclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
10045033654 0 047959 828 1080bi32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
10068912583 0 027528 836 1080bi32_lowreggcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
10083528988 0 045808 836 1080bi32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
1014103495 0 018480 836 1080T:refoldgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
10212524950 0 047608 860 1048bi32clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
10221925010 0 047432 860 1048bi32clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
10263024402 0 038782 852 1016bi32clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
1026644261 0 018936 836 1080bi32_lowsizegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
10420025215 0 040016 860 1016bi32clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
10446913385 0 030256 836 1080bi32_lowreggcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
1051043771 0 016623 812 1048bi32_lowsizegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
11189924930 0 042416 860 1016bi32clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
1158924364 0 020960 836 1080bi32_lowsizegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
11640116930 0 039736 860 1048bi32_lowregclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
11799116930 0 039496 860 1048bi32_lowregclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
11873511616 0 024767 812 1048bi32_lowreggcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
1200442703 0 017432 860 1016bi32_lowsizeclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
1213434490 0 027216 860 1048bi32_lowsizeclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
1219055459 0 019503 828 1080bi32_lowsizegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
1219282941 0 020384 860 1016bi32_lowsizeclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
1227534715 0 027200 860 1048bi32_lowsizeclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
12395113824 0 028191 828 1080bi32_lowreggcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
1245162744 0 017166 852 1016bi32_lowsizeclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
12464110398 0 025216 860 1016bi32_lowregclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
12566610247 0 027784 860 1016bi32_lowregclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
12836010081 0 024630 852 1016bi32_lowregclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
1298062813 0 017215 828 1080T:refoldgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
1324472311 0 015527 812 1048T:refoldgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
1884604180 0 018968 860 1016opt8clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
1939574221 0 021728 860 1016opt8clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
2378714466 0 027208 860 1048opt8clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
2393224466 0 026968 860 1048opt8clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
2421094279 0 018758 852 1016opt8clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
4087535536 0 020320 860 1016bi8clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
4147715669 0 028224 860 1048bi8clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
4148915586 0 023104 860 1016bi8clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
4152365449 0 019958 852 1016bi8clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
4155025669 0 028464 860 1048bi8clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
4481568466 0 025224 836 1080bi8gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
4517609235 0 024096 836 1080bi8gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
45459915176 0 029431 828 1080bi8gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
4838238752 0 021815 812 1048bi8gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
6634628116 0 024920 836 1080opt8gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
6877838435 0 023320 836 1080opt8gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
7096897994 0 021127 812 1048opt8gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
71593114073 0 028367 828 1080opt8gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108

Test failure

Implementation: T:opt32old
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
error 111
crypto_aead_decrypt does not match m

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

Compiler output

Implementation: avx512
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
aead.c: aead.c:60:26: error: always_inline function '_mm512_set_epi8' requires target feature 'avx512f', but would be inlined into function 'ascon_adata' that is compiled without support for 'avx512f'
aead.c: const __m512i u64big = AVX512_SHUFFLE_U64BIG;
aead.c: ^
aead.c: aead.c:8:3: note: expanded from macro 'AVX512_SHUFFLE_U64BIG'
aead.c: _mm512_set_epi8(-1, -1, -1, -1, -1, -1, -1, -1, /* word 7 */ \
aead.c: ^
aead.c: aead.c:60:26: error: AVX vector return of type '__m512i' (vector of 8 'long long' values) without 'avx512f' enabled changes the ABI
aead.c: aead.c:8:3: note: expanded from macro 'AVX512_SHUFFLE_U64BIG'
aead.c: _mm512_set_epi8(-1, -1, -1, -1, -1, -1, -1, -1, /* word 7 */ \
aead.c: ^
aead.c: aead.c:67:13: error: always_inline function '_mm512_maskz_loadu_epi8' requires target feature 'avx512bw', but would be inlined into function 'ascon_adata' that is compiled without support for 'avx512bw'
aead.c: t.z = _mm512_maskz_loadu_epi8(mask, ad);
aead.c: ^
aead.c: aead.c:67:13: error: AVX vector return of type '__m512i' (vector of 8 'long long' values) without 'avx512f' enabled changes the ABI
aead.c: aead.c:68:13: error: always_inline function '_mm512_maskz_shuffle_epi8' requires target feature 'avx512bw', but would be inlined into function 'ascon_adata' that is compiled without support for 'avx512bw'
aead.c: t.z = _mm512_maskz_shuffle_epi8(mask, t.z, u64big);
aead.c: ^
aead.c: aead.c:68:13: error: AVX vector argument of type '__m512i' (vector of 8 'long long' values) without 'avx512f' enabled changes the ABI
aead.c: aead.c:69:13: error: always_inline function '_mm512_xor_epi64' requires target feature 'avx512f', but would be inlined into function 'ascon_adata' that is compiled without support for 'avx512f'
aead.c: r.z = _mm512_xor_epi64(r.z, t.z);
aead.c: ^
aead.c: aead.c:69:13: error: AVX vector argument of type '__m512i' (vector of 8 'long long' values) without 'avx512f' enabled changes the ABI
aead.c: 8 errors generated.

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

Compiler output

Implementation: avx512
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
aead.c: In file included from permutations.h:10,
aead.c: from aead.c:4:
aead.c: round.h: In function ‘ROUND’:
aead.c: round.h:25:11: warning: AVX512F vector return without AVX512F enabled changes the ABI [-Wpsabi]
aead.c: 25 | __m512i pxor1 = _mm512_set_epi64(x, x, x, 3, x, 1, x, 4);
aead.c: | ^~~~~
aead.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/include/immintrin.h:49,
aead.c: from ascon.h:4,
aead.c: from aead.c:2:
aead.c: /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/include/avx512fintrin.h:1645:1: error: inlining failed in call to ‘always_inline’ ‘_mm512_ternarylogic_epi64’: target specific option mismatch
aead.c: 1645 | _mm512_ternarylogic_epi64 (__m512i __A, __m512i __B, __m512i __C,
aead.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~
aead.c: In file included from permutations.h:10,
aead.c: from aead.c:4:
aead.c: round.h:47:10: note: called from here
aead.c: 47 | s->z = _mm512_ternarylogic_epi64(t0, t1, t2, 0x96);
aead.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
aead.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/include/immintrin.h:49,
aead.c: from ascon.h:4,
aead.c: from aead.c:2:
aead.c: /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/include/avx512fintrin.h:4736:1: error: inlining failed in call to ‘always_inline’ ‘_mm512_rorv_epi64’: target specific option mismatch
aead.c: 4736 | _mm512_rorv_epi64 (__m512i __A, __m512i __B)
aead.c: | ^~~~~~~~~~~~~~~~~
aead.c: In file included from permutations.h:10,
aead.c: from aead.c:4:
aead.c: ...

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