Implementation notes: x86, gpu, crypto_aead/elephant176v1

Computer: gpu
Architecture: x86
CPU ID: GenuineIntel-000206d7-bfebfbff
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: elephant176v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
9616099214580 1024 036495 1440 832refgcc_-funroll-loops_-m32_-march=pentium3_-O3_-fomit-frame-pointer2019082620190816
9627510415795 1024 037503 1440 832refgcc_-funroll-loops_-m32_-march=pentiumpro_-O3_-fomit-frame-pointer2019082620190816
9655540415795 1024 037503 1440 832refgcc_-funroll-loops_-m32_-march=pentium2_-O3_-fomit-frame-pointer2019082620190816
9989132811216 1024 031661 1452 832refgcc_-funroll-loops_-m32_-march=k6-3_-O3_-fomit-frame-pointer2019082620190816
10098828411216 1024 031661 1452 832refgcc_-funroll-loops_-m32_-march=k6-2_-O3_-fomit-frame-pointer2019082620190816
10107893117027 1024 039095 1440 832refgcc_-funroll-loops_-m32_-march=pentium-m_-O3_-fomit-frame-pointer2019082620190816
10164840412787 1024 033596 1436 832refgcc_-funroll-loops_-m32_-march=pentium-m_-O2_-fomit-frame-pointer2019082620190816
10312028015828 1024 037272 1448 832refgcc_-funroll-loops_-m32_-march=barcelona_-O3_-fomit-frame-pointer2019082620190816
10347097212195 1024 033353 1448 832refgcc_-funroll-loops_-m32_-march=athlon_-O3_-fomit-frame-pointer2019082620190816
10366961611147 1024 031080 1436 832refgcc_-funroll-loops_-m32_-march=k8_-O2_-fomit-frame-pointer2019082620190816
10427498715864 1024 037852 1444 832refgcc_-funroll-loops_-m32_-march=k8_-O3_-fomit-frame-pointer2019082620190816
1045603909976 1024 029921 1444 832refgcc_-funroll-loops_-m32_-O2_-fomit-frame-pointer2019082620190816
10541825624802 2048 031492 1448 832refgcc_-m32_-march=barcelona_-O3_-fomit-frame-pointer2019082620190816
1055593088810 1024 027549 1444 832refgcc_-funroll-loops_-m32_-march=k6_-O2_-fomit-frame-pointer2019082620190816
10559495213073 1024 034153 1452 832refgcc_-funroll-loops_-m32_-O3_-fomit-frame-pointer2019082620190816
10570103211216 1024 031053 1452 832refgcc_-funroll-loops_-m32_-march=k6_-O3_-fomit-frame-pointer2019082620190816
10576842011103 1024 030556 1440 832refgcc_-funroll-loops_-m32_-march=barcelona_-O2_-fomit-frame-pointer2019082620190816
1067506769746 1024 028305 1452 832refgcc_-m32_-march=k6_-O3_-fomit-frame-pointer2019082620190816
1071504768810 1024 027549 1444 832refgcc_-funroll-loops_-m32_-march=k6-2_-O2_-fomit-frame-pointer2019082620190816
10776124412148 1024 031904 1436 832refgcc_-funroll-loops_-m32_-march=pentiumpro_-O2_-fomit-frame-pointer2019082620190816
10848356412148 1024 031904 1436 832refgcc_-funroll-loops_-m32_-march=pentium3_-O2_-fomit-frame-pointer2019082620190816
1090600168180 1024 027809 1440 832refgcc_-funroll-loops_-m32_-march=athlon_-O2_-fomit-frame-pointer2019082620190816
10958634012148 1024 031904 1436 832refgcc_-funroll-loops_-m32_-march=pentium2_-O2_-fomit-frame-pointer2019082620190816
10976312510623 1024 030007 1440 832refgcc_-m32_-march=pentiumpro_-O3_-fomit-frame-pointer2019082620190816
11136894810704 1024 030061 1452 832refgcc_-m32_-march=core2_-msse4_-O3_-fomit-frame-pointer2019082620190816
1115087018810 1024 027549 1444 832refgcc_-funroll-loops_-m32_-march=k6-3_-O2_-fomit-frame-pointer2019082620190816
1116241658484 1024 028075 1440 832refgcc_-m32_-march=pentium3_-O3_-fomit-frame-pointer2019082620190816
1117816649256 1024 028861 1452 832refgcc_-m32_-march=corei7-avx_-O3_-fomit-frame-pointer2019082620190816
11184664813035 1024 033063 1440 832refgcc_-m32_-march=pentium-m_-O3_-fomit-frame-pointer2019082620190816
11191728010704 1024 030061 1452 832refgcc_-m32_-march=corei7_-O3_-fomit-frame-pointer2019082620190816
1119971969256 1024 028861 1452 832refgcc_-m32_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019082620190816
11224678310623 1024 030007 1440 832refgcc_-m32_-march=pentium2_-O3_-fomit-frame-pointer2019082620190816
1130624849256 1024 028861 1452 832refgcc_-m32_-march=core-avx-i_-O3_-fomit-frame-pointer2019082620190816
1135527609906 1024 028869 1448 832refgcc_-m32_-march=athlon_-O3_-fomit-frame-pointer2019082620190816
11365438410784 1024 030153 1452 832refgcc_-m32_-march=core2_-O3_-fomit-frame-pointer2019082620190816
11375945610164 1024 029888 1436 832refgcc_-funroll-loops_-m32_-march=nocona_-O2_-fomit-frame-pointer2019082620190816
11396370810704 1024 030009 1452 832refgcc_-m32_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019082620190816
11409229210164 1024 029888 1436 832refgcc_-funroll-loops_-m32_-march=prescott_-O2_-fomit-frame-pointer2019082620190816
1144013769746 1024 028497 1452 832refgcc_-m32_-march=k6-2_-O3_-fomit-frame-pointer2019082620190816
1145574469304 1024 028473 1452 832refgcc_-m32_-O3_-fomit-frame-pointer2019082620190816
11522434712159 1024 031976 1444 832refgcc_-m32_-march=k8_-O3_-fomit-frame-pointer2019082620190816
1154697849746 1024 028497 1452 832refgcc_-m32_-march=k6-3_-O3_-fomit-frame-pointer2019082620190816
11557324113397 1024 033776 1444 832refgcc_-funroll-loops_-m32_-march=prescott_-O3_-fomit-frame-pointer2019082620190816
11772882013397 1024 033776 1444 832refgcc_-funroll-loops_-m32_-march=nocona_-O3_-fomit-frame-pointer2019082620190816
12328955211401 1024 031363 1440 832refgcc_-funroll-loops_-m32_-march=i486_-O3_-fomit-frame-pointer2019082620190816
12709919210642 1024 029532 1444 832refgcc_-m32_-march=nocona_-O3_-fomit-frame-pointer2019082620190816
1272584028260 1024 027660 1436 832refgcc_-funroll-loops_-m32_-march=i486_-O2_-fomit-frame-pointer2019082620190816
12796916410642 1024 029532 1444 832refgcc_-m32_-march=prescott_-O3_-fomit-frame-pointer2019082620190816
13323466810124 1024 029728 1436 832refgcc_-funroll-loops_-m32_-march=pentium4_-O2_-fomit-frame-pointer2019082620190816
1374500339544 1024 028003 1440 832refgcc_-m32_-march=i486_-O3_-fomit-frame-pointer2019082620190816
1402784605455 1024 022105 1444 832refgcc_-m32_-march=corei7-avx_-O2_-fomit-frame-pointer2019082620190816
14077231213428 1024 033772 1444 832refgcc_-funroll-loops_-m32_-march=pentium4_-O3_-fomit-frame-pointer2019082620190816
1409911005455 1024 022105 1444 832refgcc_-m32_-march=core-avx-i_-O2_-fomit-frame-pointer2019082620190816
1414892565455 1024 022121 1444 832refgcc_-m32_-march=corei7_-O2_-fomit-frame-pointer2019082620190816
1419864405455 1024 022137 1444 832refgcc_-m32_-march=core2_-O2_-fomit-frame-pointer2019082620190816
14384856010743 1024 029576 1444 832refgcc_-m32_-march=pentium4_-O3_-fomit-frame-pointer2019082620190816
1454590566154 1024 025180 1440 832refgcc_-funroll-loops_-m32_-march=i486_-O_-fomit-frame-pointer2019082620190816
1475169126148 1024 021825 1444 832refgcc_-m32_-march=k6-2_-O2_-fomit-frame-pointer2019082620190816
1495434155455 1024 022121 1444 832refgcc_-m32_-march=core2_-msse4_-O2_-fomit-frame-pointer2019082620190816
1499285285455 1024 022105 1444 832refgcc_-m32_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019082620190816
1512837966148 1024 021825 1444 832refgcc_-m32_-march=k6-3_-O2_-fomit-frame-pointer2019082620190816
1526863245455 1024 022121 1444 832refgcc_-m32_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019082620190816
1534416085033 1024 021273 1440 832refgcc_-m32_-march=athlon_-O2_-fomit-frame-pointer2019082620190816
1551250905679 1024 022277 1444 832refgcc_-m32_-O2_-fomit-frame-pointer2019082620190816
1586547206148 1024 021825 1444 832refgcc_-m32_-march=k6_-O2_-fomit-frame-pointer2019082620190816
1594255605324 1024 021488 1436 832refgcc_-m32_-march=nocona_-O2_-fomit-frame-pointer2019082620190816
1611825787224 1024 026608 1440 832refgcc_-funroll-loops_-m32_-march=i386_-O2_-fomit-frame-pointer2019082620190816
16204816012004 2048 022228 1440 832refgcc_-m32_-march=barcelona_-O2_-fomit-frame-pointer2019082620190816
1629782605711 1024 022408 1436 832refgcc_-m32_-march=k8_-O2_-fomit-frame-pointer2019082620190816
1633803649466 1024 029725 1440 832refgcc_-funroll-loops_-m32_-march=pentium-mmx_-O2_-fomit-frame-pointer2019082620190816
1637159105570 1024 021516 1436 832refgcc_-m32_-march=i486_-O2_-fomit-frame-pointer2019082620190816
1650504525324 1024 021488 1436 832refgcc_-m32_-march=prescott_-O2_-fomit-frame-pointer2019082620190816
1666091796920 1024 023984 1436 832refgcc_-m32_-march=pentium-m_-O2_-fomit-frame-pointer2019082620190816
1676976596365 1024 022860 1436 832refgcc_-m32_-march=pentium3_-O2_-fomit-frame-pointer2019082620190816
16843388410405 1024 030204 1444 832refgcc_-m32_-march=pentium_-O3_-fomit-frame-pointer2019082620190816
1729764676365 1024 022860 1436 832refgcc_-m32_-march=pentium2_-O2_-fomit-frame-pointer2019082620190816
17301437912679 1024 034016 1444 832refgcc_-funroll-loops_-m32_-march=pentium-mmx_-O3_-fomit-frame-pointer2019082620190816
1774340966365 1024 022860 1436 832refgcc_-m32_-march=pentiumpro_-O2_-fomit-frame-pointer2019082620190816
18213400810405 1024 030204 1444 832refgcc_-m32_-march=pentium-mmx_-O3_-fomit-frame-pointer2019082620190816
1870464889716 1024 029107 1444 832refgcc_-funroll-loops_-m32_-march=i386_-O3_-fomit-frame-pointer2019082620190816
1875340565390 1024 021552 1436 832refgcc_-m32_-march=pentium4_-O2_-fomit-frame-pointer2019082620190816
1893591689466 1024 029725 1440 832refgcc_-funroll-loops_-m32_-march=pentium_-O2_-fomit-frame-pointer2019082620190816
1898238807855 1024 025847 1444 832refgcc_-m32_-march=i386_-O3_-fomit-frame-pointer2019082620190816
19120428912679 1024 034016 1444 832refgcc_-funroll-loops_-m32_-march=pentium_-O3_-fomit-frame-pointer2019082620190816
2159009644457 1024 020516 1440 832refgcc_-m32_-march=i386_-O2_-fomit-frame-pointer2019082620190816
2214658106026 1024 024970 1448 832refgcc_-funroll-loops_-m32_-march=k6-2_-O_-fomit-frame-pointer2019082620190816
2221406726026 1024 024970 1448 832refgcc_-funroll-loops_-m32_-march=k6-3_-O_-fomit-frame-pointer2019082620190816
2239258566026 1024 024970 1448 832refgcc_-funroll-loops_-m32_-march=k6_-O_-fomit-frame-pointer2019082620190816
2260010495903 1024 022657 1440 832refgcc_-m32_-march=pentium_-O2_-fomit-frame-pointer2019082620190816
2322885045903 1024 022657 1440 832refgcc_-m32_-march=pentium-mmx_-O2_-fomit-frame-pointer2019082620190816
2494160326989 1024 026193 1444 832refgcc_-funroll-loops_-m32_-march=barcelona_-O_-fomit-frame-pointer2019082620190816
2525108087359 1024 027449 1440 832refgcc_-funroll-loops_-m32_-march=k8_-O_-fomit-frame-pointer2019082620190816
2537584167468 1024 027685 1440 832refgcc_-funroll-loops_-m32_-march=nocona_-O_-fomit-frame-pointer2019082620190816
2555341806582 1024 026570 1448 832refgcc_-funroll-loops_-m32_-O_-fomit-frame-pointer2019082620190816
2565910167468 1024 027685 1440 832refgcc_-funroll-loops_-m32_-march=prescott_-O_-fomit-frame-pointer2019082620190816
2568493966149 1024 025954 1444 832refgcc_-funroll-loops_-m32_-march=athlon_-O_-fomit-frame-pointer2019082620190816
2592155688471 1024 028512 1436 832refgcc_-funroll-loops_-m32_-march=pentium2_-O_-fomit-frame-pointer2019082620190816
2599392758471 1024 028512 1436 832refgcc_-funroll-loops_-m32_-march=pentiumpro_-O_-fomit-frame-pointer2019082620190816
2601938088471 1024 028512 1436 832refgcc_-funroll-loops_-m32_-march=pentium3_-O_-fomit-frame-pointer2019082620190816
2613261808482 1024 028648 1436 832refgcc_-funroll-loops_-m32_-march=pentium-m_-O_-fomit-frame-pointer2019082620190816
2673689284680 1024 020066 1448 832refgcc_-m32_-march=k6_-O_-fomit-frame-pointer2019082620190816
2694298244680 1024 020066 1448 832refgcc_-m32_-march=k6-2_-O_-fomit-frame-pointer2019082620190816
2730890956312 1024 026281 1444 832refgcc_-funroll-loops_-m32_-march=pentium_-O_-fomit-frame-pointer2019082620190816
2742659924680 1024 020066 1448 832refgcc_-m32_-march=k6-3_-O_-fomit-frame-pointer2019082620190816
2812119884451 1024 020866 1448 832refgcc_-m32_-march=corei7_-O_-fomit-frame-pointer2019082620190816
2818756644451 1024 020866 1448 832refgcc_-m32_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019082620190816
2824431605075 1024 021393 1440 832refgcc_-m32_-march=prescott_-O_-fomit-frame-pointer2019082620190816
2832996794451 1024 020866 1448 832refgcc_-m32_-march=native_-mtune=native_-O_-fomit-frame-pointer2019082620190816
2836672004451 1024 020866 1448 832refgcc_-m32_-march=corei7-avx_-O_-fomit-frame-pointer2019082620190816
2841672289430 2048 020125 1444 832refgcc_-m32_-march=barcelona_-O_-fomit-frame-pointer2019082620190816
2843334364451 1024 020866 1448 832refgcc_-m32_-march=core2_-O_-fomit-frame-pointer2019082620190816
2848976284914 1024 021165 1440 832refgcc_-m32_-march=k8_-O_-fomit-frame-pointer2019082620190816
2862149515075 1024 021393 1440 832refgcc_-m32_-march=nocona_-O_-fomit-frame-pointer2019082620190816
2876332325707 1024 025444 1440 832refgcc_-funroll-loops_-m32_-march=i386_-O_-fomit-frame-pointer2019082620190816
2884358124544 1024 020902 1448 832refgcc_-m32_-O_-fomit-frame-pointer2019082620190816
2896093364451 1024 020866 1448 832refgcc_-m32_-march=core2_-msse4_-O_-fomit-frame-pointer2019082620190816
2915347684451 1024 020866 1448 832refgcc_-m32_-march=core-avx-i_-O_-fomit-frame-pointer2019082620190816
2937468404717 1024 020096 1440 832refgcc_-m32_-march=i486_-O_-fomit-frame-pointer2019082620190816
2947962404605 1024 020658 1444 832refgcc_-m32_-march=athlon_-O_-fomit-frame-pointer2019082620190816
2997590326312 1024 026281 1444 832refgcc_-funroll-loops_-m32_-march=pentium-mmx_-O_-fomit-frame-pointer2019082620190816
3106983194318 1024 020440 1440 832refgcc_-m32_-march=i386_-O_-fomit-frame-pointer2019082620190816
3151924805543 1024 021868 1436 832refgcc_-m32_-march=pentium-m_-O_-fomit-frame-pointer2019082620190816
3161208165568 1024 021828 1436 832refgcc_-m32_-march=pentiumpro_-O_-fomit-frame-pointer2019082620190816
3181072405568 1024 021828 1436 832refgcc_-m32_-march=pentium2_-O_-fomit-frame-pointer2019082620190816
3220235144945 1024 021261 1444 832refgcc_-m32_-march=pentium_-O_-fomit-frame-pointer2019082620190816
3228048203969 1024 019328 1432 832refgcc_-funroll-loops_-m32_-march=i486_-Os_-fomit-frame-pointer2019082620190816
3241273043979 1024 019396 1432 832refgcc_-m32_-march=k6-3_-Os_-fomit-frame-pointer2019082620190816
3260000033950 1024 019276 1432 832refgcc_-m32_-march=pentium_-Os_-fomit-frame-pointer2019082620190816
3273756803979 1024 019396 1432 832refgcc_-m32_-march=k6-2_-Os_-fomit-frame-pointer2019082620190816
3280955033969 1024 019312 1432 832refgcc_-funroll-loops_-m32_-march=pentium-mmx_-Os_-fomit-frame-pointer2019082620190816
3282682204945 1024 021261 1444 832refgcc_-m32_-march=pentium-mmx_-O_-fomit-frame-pointer2019082620190816
3296488045568 1024 021828 1436 832refgcc_-m32_-march=pentium3_-O_-fomit-frame-pointer2019082620190816
3297877284027 1024 019384 1432 832refgcc_-m32_-march=core-avx-i_-Os_-fomit-frame-pointer2019082620190816
3303041083998 1024 019448 1432 832refgcc_-funroll-loops_-m32_-march=k6_-Os_-fomit-frame-pointer2019082620190816
3303043843945 1024 019276 1432 832refgcc_-m32_-march=athlon_-Os_-fomit-frame-pointer2019082620190816
3315014684027 1024 019384 1432 832refgcc_-m32_-march=corei7_-Os_-fomit-frame-pointer2019082620190816
3317286764027 1024 019384 1432 832refgcc_-m32_-march=core2_-msse4_-Os_-fomit-frame-pointer2019082620190816
3319092504027 1024 019384 1432 832refgcc_-m32_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019082620190816
3320153967598 1024 027773 1440 832refgcc_-funroll-loops_-m32_-march=pentium4_-O_-fomit-frame-pointer2019082620190816
3321216123979 1024 019396 1432 832refgcc_-m32_-march=k6_-Os_-fomit-frame-pointer2019082620190816
3321491964023 1024 019400 1432 832refgcc_-m32_-march=core2_-Os_-fomit-frame-pointer2019082620190816
3322827684023 1024 019400 1432 832refgcc_-m32_-march=prescott_-Os_-fomit-frame-pointer2019082620190816
3325900164046 1024 019432 1432 832refgcc_-m32_-march=k8_-Os_-fomit-frame-pointer2019082620190816
3328129274023 1024 019400 1432 832refgcc_-m32_-march=nocona_-Os_-fomit-frame-pointer2019082620190816
3338229883945 1024 019276 1432 832refgcc_-m32_-Os_-fomit-frame-pointer2019082620190816
3340220763998 1024 019448 1432 832refgcc_-funroll-loops_-m32_-march=k6-2_-Os_-fomit-frame-pointer2019082620190816
3343996443950 1024 019292 1432 832refgcc_-m32_-march=i486_-Os_-fomit-frame-pointer2019082620190816
3352211434008 1024 019376 1432 832refgcc_-funroll-loops_-m32_-march=pentium4_-Os_-fomit-frame-pointer2019082620190816
3354611724027 1024 019384 1432 832refgcc_-m32_-march=corei7-avx_-Os_-fomit-frame-pointer2019082620190816
3375488283930 1024 019252 1432 832refgcc_-funroll-loops_-m32_-march=athlon_-Os_-fomit-frame-pointer2019082620190816
3377897044027 1024 019384 1432 832refgcc_-m32_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019082620190816
3395775003998 1024 019448 1432 832refgcc_-funroll-loops_-m32_-march=k6-3_-Os_-fomit-frame-pointer2019082620190816
3396883643969 1024 019328 1432 832refgcc_-funroll-loops_-m32_-march=i386_-Os_-fomit-frame-pointer2019082620190816
3410578444008 1024 019376 1432 832refgcc_-funroll-loops_-m32_-march=prescott_-Os_-fomit-frame-pointer2019082620190816
3549494823945 1024 019232 1432 832refgcc_-m32_-march=pentium3_-Os_-fomit-frame-pointer2019082620190816
3575088323950 1024 019292 1432 832refgcc_-m32_-march=i386_-Os_-fomit-frame-pointer2019082620190816
3604605325268 1024 021541 1440 832refgcc_-m32_-march=pentium4_-O_-fomit-frame-pointer2019082620190816
3760824128046 2048 019400 1432 832refgcc_-m32_-march=barcelona_-Os_-fomit-frame-pointer2019082620190816
3778069354023 1024 019400 1432 832refgcc_-m32_-march=pentium4_-Os_-fomit-frame-pointer2019082620190816
3779055834031 1024 019408 1432 832refgcc_-funroll-loops_-m32_-march=k8_-Os_-fomit-frame-pointer2019082620190816
3796248844008 1024 019376 1432 832refgcc_-funroll-loops_-m32_-march=barcelona_-Os_-fomit-frame-pointer2019082620190816
3796745203950 1024 019276 1432 832refgcc_-m32_-march=pentium-mmx_-Os_-fomit-frame-pointer2019082620190816
3806157683969 1024 019312 1432 832refgcc_-funroll-loops_-m32_-march=pentium_-Os_-fomit-frame-pointer2019082620190816
3814452643930 1024 019252 1432 832refgcc_-funroll-loops_-m32_-Os_-fomit-frame-pointer2019082620190816
3833749084008 1024 019376 1432 832refgcc_-funroll-loops_-m32_-march=nocona_-Os_-fomit-frame-pointer2019082620190816
3845289213945 1024 019232 1432 832refgcc_-m32_-march=pentiumpro_-Os_-fomit-frame-pointer2019082620190816
3910917364011 1024 019332 1432 832refgcc_-funroll-loops_-m32_-march=pentium-m_-Os_-fomit-frame-pointer2019082620190816
3920564083945 1024 019232 1432 832refgcc_-m32_-march=pentium2_-Os_-fomit-frame-pointer2019082620190816
3933112164023 1024 019356 1432 832refgcc_-m32_-march=pentium-m_-Os_-fomit-frame-pointer2019082620190816
3963638723933 1024 019208 1432 832refgcc_-funroll-loops_-m32_-march=pentiumpro_-Os_-fomit-frame-pointer2019082620190816
4091253053933 1024 019208 1432 832refgcc_-funroll-loops_-m32_-march=pentium2_-Os_-fomit-frame-pointer2019082620190816
4111294163933 1024 019208 1432 832refgcc_-funroll-loops_-m32_-march=pentium3_-Os_-fomit-frame-pointer2019082620190816

Test failure

Implementation: ref
Security model: unknown
Compiler: gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer ref
gcc -m32 -march=core-avx2 -O -fomit-frame-pointer ref
gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer ref