Implementation notes: aarch64, rockpi4, crypto_kem/r5nd3kem0d

Computer: rockpi4
Architecture: aarch64
CPU ID: unknown CPU ID
SUPERCOP version: 20190816
Operation: crypto_kem
Primitive: r5nd3kem0d
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
73390121868 0 052169 864 1584avx2clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019121420190816
73390121868 0 052217 864 1584optclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019121420190816
73431421868 0 052169 864 1584optclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019121420190816
73555322064 0 052233 864 1584optclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019121420190816
73844422064 0 052233 864 1584avx2clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019121420190816
74257426180 0 054328 952 1584optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019121420190816
78428734028 0 060664 952 1584optgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019121420190816
176722721868 0 052217 864 1584optclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019121420190816
177300921868 0 052217 864 1584avx2clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019121420190816
177713921868 0 052217 864 1584optclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019121420190816
177755221868 0 052217 864 1584avx2clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019121420190816
179076830384 0 058240 952 1568avx2gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019121420190816
179076830384 0 058240 952 1568optgcc_-funroll-loops_-O_-fomit-frame-pointer2019121420190816
179118130384 0 058240 952 1568avx2gcc_-funroll-loops_-O_-fomit-frame-pointer2019121420190816
179407221868 0 052217 864 1584avx2clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019121420190816
179861529696 0 056680 952 1568avx2gcc_-funroll-loops_-O2_-fomit-frame-pointer2019121420190816
189443134604 0 060888 952 1584avx2gcc_-funroll-loops_-O3_-fomit-frame-pointer2019121420190816
190682134604 0 060888 952 1584optgcc_-funroll-loops_-O3_-fomit-frame-pointer2019121420190816
192334134028 0 060664 952 1584avx2gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019121420190816
200057225956 0 054152 952 1584avx2gcc_-O3_-fomit-frame-pointer2019121420190816
200635425956 0 054152 952 1584optgcc_-O3_-fomit-frame-pointer2019121420190816
200883226180 0 054328 952 1584avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019121420190816
201915725788 0 054144 952 1584avx2gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019121420190816
201998325788 0 054144 952 1584optgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019121420190816
215049118532 0 050232 952 1568avx2gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019121420190816
215173018532 0 050232 952 1568optgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019121420190816
215255618532 0 050232 952 1568avx2gcc_-O_-fomit-frame-pointer2019121420190816
215296918532 0 050232 952 1568avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019121420190816
215296918532 0 050232 952 1568optgcc_-O_-fomit-frame-pointer2019121420190816
216783718212 0 050072 952 1568avx2gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019121420190816
373765029456 0 056800 952 1568avx2gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019121420190816
375623529456 0 056800 952 1568optgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019121420190816
375664829696 0 056680 952 1568optgcc_-funroll-loops_-O2_-fomit-frame-pointer2019121420190816
508444330384 0 058240 952 1568optgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019121420190816
593150618212 0 050072 952 1568optgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019121420190816
596826318360 0 050360 952 1568avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019121420190816
600295518144 0 050152 952 1568avx2gcc_-O2_-fomit-frame-pointer2019121420190816
602690918144 0 050152 952 1568optgcc_-O2_-fomit-frame-pointer2019121420190816
603351718532 0 050232 952 1568optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019121420190816
605292818360 0 050360 952 1568optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019121420190816
698135216552 0 048688 936 1552avx2gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019121420190816
702430416552 0 048688 936 1552optgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019121420190816
702843416552 0 048688 936 1552avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019121420190816
702843416552 0 048688 936 1552optgcc_-Os_-fomit-frame-pointer2019121420190816
704825816552 0 048688 936 1552avx2gcc_-Os_-fomit-frame-pointer2019121420190816
705156216552 0 048688 936 1552optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019121420190816
707716816536 0 048736 936 1552avx2gcc_-funroll-loops_-Os_-fomit-frame-pointer2019121420190816
707799416536 0 048736 936 1552optgcc_-funroll-loops_-Os_-fomit-frame-pointer2019121420190816
708790616536 0 048736 936 1552optgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019121420190816
711227316536 0 048736 936 1552avx2gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019121420190816
981164131037 648 50069046 1488 2096refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019121420190816
981288030961 648 50068918 1488 2096refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019121420190816
981494531453 648 50069254 1488 2096refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019121420190816
981701039477 652 49675377 1608 2080refgcc_-O3_-fomit-frame-pointer2019121420190816
982320539781 652 49675633 1608 2080refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019121420190816
984509430491 652 49666777 1608 2064refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019121420190816
984798541471 652 49677713 1608 2064refgcc_-funroll-loops_-O_-fomit-frame-pointer2019121420190816
1017012554545 652 49689089 1608 2080refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019121420190816
1096556334853 0 056144 936 1568avx2cc2019121420190816
1101677534853 0 056144 936 1568optgcc2019121420190816
1102586134853 0 056144 936 1568optgcc_-funroll-loops2019121420190816
1900378254793 652 49689257 1608 2080refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019121420190816
1902897540991 652 49676137 1608 2064refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019121420190816
2115386040959 652 49676225 1608 2064refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019121420190816
3223795431037 648 50069046 1488 2096refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019121420190816
3225984331037 648 50069046 1488 2096refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019121420190816
3227801539429 652 49675233 1608 2080refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019121420190816
3233872629503 652 49666225 1608 2064refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019121420190816
3234698629567 652 49666513 1608 2064refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019121420190816
3234946426616 652 49666669 1648 2048refgcc_-Os_-fomit-frame-pointer2019121420190816
3236102826616 652 49666669 1648 2048refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019121420190816
3236763626616 652 49666669 1648 2048refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019121420190816
3259478629279 652 49666241 1608 2064refgcc_-O2_-fomit-frame-pointer2019121420190816
3274140134853 0 056144 936 1568avx2gcc2019121420190816
3302265441471 652 49677713 1608 2064refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019121420190816
3310608034853 0 056144 936 1568optcc2019121420190816
3312012234853 0 056144 936 1568avx2gcc_-funroll-loops2019121420190816
3420176930491 652 49666777 1608 2064refgcc_-O_-fomit-frame-pointer2019121420190816
3421168130471 652 49666753 1608 2064refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019121420190816
3609248326580 652 49666685 1648 2048refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019121420190816
3636671526580 652 49666685 1648 2048refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019121420190816
4575998739968 652 49681669 1648 2064refgcc_-funroll-loops2019121420190816
4578352839968 652 49681669 1648 2064refgcc2019121420190816
14782219939968 652 49681669 1648 2064refcc2019121420190816

Compiler output

Implementation: avx2
Security model: unknown
Compiler: cc
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: 23, namely:
CompilerImplementations
cc avx2
gcc avx2
gcc -O2 -fomit-frame-pointer avx2
gcc -O3 -fomit-frame-pointer avx2
gcc -O -fomit-frame-pointer avx2
gcc -Os -fomit-frame-pointer avx2
gcc -fno-schedule-insns -O2 -fomit-frame-pointer avx2
gcc -fno-schedule-insns -O3 -fomit-frame-pointer avx2
gcc -fno-schedule-insns -O -fomit-frame-pointer avx2
gcc -fno-schedule-insns -Os -fomit-frame-pointer avx2
gcc -funroll-loops avx2
gcc -funroll-loops -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -O -fomit-frame-pointer avx2
gcc -funroll-loops -Os -fomit-frame-pointer avx2
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer avx2
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer avx2
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv avx2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv avx2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv avx2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv avx2

Compiler output

Implementation: avx2
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
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: 5, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments avx2
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments avx2
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments avx2
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments avx2
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx2