Implementation notes: x86, gpu, crypto_aead/elephant160v1

Computer: gpu
Architecture: x86
CPU ID: GenuineIntel-000206d7-bfebfbff
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: elephant160v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1019339719896 1024 029652 1436 832refgcc_-funroll-loops_-m32_-march=pentium2_-O2_-fomit-frame-pointer2019082520190816
1027969408406 1024 027145 1444 832refgcc_-funroll-loops_-m32_-march=k6-2_-O2_-fomit-frame-pointer2019082520190816
10280894810615 1024 031396 1436 832refgcc_-funroll-loops_-m32_-march=pentium-m_-O2_-fomit-frame-pointer2019082520190816
1028211729896 1024 029652 1436 832refgcc_-funroll-loops_-m32_-march=pentiumpro_-O2_-fomit-frame-pointer2019082520190816
10283204811946 1024 033105 1448 832refgcc_-funroll-loops_-m32_-march=athlon_-O3_-fomit-frame-pointer2019082520190816
10346524811976 1024 033057 1452 832refgcc_-funroll-loops_-m32_-O3_-fomit-frame-pointer2019082520190816
1037494808406 1024 027145 1444 832refgcc_-funroll-loops_-m32_-march=k6_-O2_-fomit-frame-pointer2019082520190816
1041536369104 1024 029049 1444 832refgcc_-funroll-loops_-m32_-O2_-fomit-frame-pointer2019082520190816
10463281613995 1024 035992 1444 832refgcc_-funroll-loops_-m32_-march=k8_-O3_-fomit-frame-pointer2019082520190816
1055197248406 1024 027145 1444 832refgcc_-funroll-loops_-m32_-march=k6-3_-O2_-fomit-frame-pointer2019082520190816
10606171612828 1024 034547 1440 832refgcc_-funroll-loops_-m32_-march=pentium2_-O3_-fomit-frame-pointer2019082520190816
10635421510087 1024 030020 1436 832refgcc_-funroll-loops_-m32_-march=k8_-O2_-fomit-frame-pointer2019082520190816
10643134814027 1024 035480 1448 832refgcc_-funroll-loops_-m32_-march=barcelona_-O3_-fomit-frame-pointer2019082520190816
10646284414148 1024 036203 1440 832refgcc_-funroll-loops_-m32_-march=pentium-m_-O3_-fomit-frame-pointer2019082520190816
10728317610191 1024 029644 1440 832refgcc_-funroll-loops_-m32_-march=barcelona_-O2_-fomit-frame-pointer2019082520190816
1081430809367 1024 028537 1452 832refgcc_-m32_-O3_-fomit-frame-pointer2019082520190816
1091018209896 1024 029652 1436 832refgcc_-funroll-loops_-m32_-march=pentium3_-O2_-fomit-frame-pointer2019082520190816
10943960423376 2048 030780 1448 832refgcc_-m32_-march=barcelona_-O3_-fomit-frame-pointer2019082520190816
1096811928957 1024 028549 1452 832refgcc_-m32_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019082520190816
10980993210705 1024 031145 1452 832refgcc_-funroll-loops_-m32_-march=k6-2_-O3_-fomit-frame-pointer2019082520190816
1101290248954 1024 028688 1436 832refgcc_-funroll-loops_-m32_-march=nocona_-O2_-fomit-frame-pointer2019082520190816
11029812810705 1024 031145 1452 832refgcc_-funroll-loops_-m32_-march=k6-3_-O3_-fomit-frame-pointer2019082520190816
11031980810517 1024 029873 1452 832refgcc_-m32_-march=core2_-O3_-fomit-frame-pointer2019082520190816
1104311928957 1024 028549 1452 832refgcc_-m32_-march=core-avx-i_-O3_-fomit-frame-pointer2019082520190816
11044608010705 1024 030537 1452 832refgcc_-funroll-loops_-m32_-march=k6_-O3_-fomit-frame-pointer2019082520190816
1107548908220 1024 027620 1436 832refgcc_-funroll-loops_-m32_-march=i486_-O2_-fomit-frame-pointer2019082620190816
11087432010437 1024 029729 1452 832refgcc_-m32_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019082520190816
1109243808957 1024 028549 1452 832refgcc_-m32_-march=corei7-avx_-O3_-fomit-frame-pointer2019082520190816
1109445368954 1024 028688 1436 832refgcc_-funroll-loops_-m32_-march=prescott_-O2_-fomit-frame-pointer2019082520190816
11124146410849 1024 030783 1440 832refgcc_-funroll-loops_-m32_-march=i486_-O3_-fomit-frame-pointer2019082620190816
11130894811438 1024 031256 1444 832refgcc_-m32_-march=k8_-O3_-fomit-frame-pointer2019082520190816
11161954811069 1024 032995 1440 832refgcc_-funroll-loops_-m32_-march=pentium3_-O3_-fomit-frame-pointer2019082520190816
11202996812828 1024 034547 1440 832refgcc_-funroll-loops_-m32_-march=pentiumpro_-O3_-fomit-frame-pointer2019082520190816
11264183211847 1024 032224 1444 832refgcc_-funroll-loops_-m32_-march=nocona_-O3_-fomit-frame-pointer2019082520190816
11359372411847 1024 032224 1444 832refgcc_-funroll-loops_-m32_-march=prescott_-O3_-fomit-frame-pointer2019082520190816
11400482010437 1024 029781 1452 832refgcc_-m32_-march=core2_-msse4_-O3_-fomit-frame-pointer2019082520190816
11595345610437 1024 029781 1452 832refgcc_-m32_-march=corei7_-O3_-fomit-frame-pointer2019082520190816
1162667128048 1024 027705 1440 832refgcc_-funroll-loops_-m32_-march=athlon_-O2_-fomit-frame-pointer2019082520190816
11629258410121 1024 029032 1444 832refgcc_-m32_-march=nocona_-O3_-fomit-frame-pointer2019082520190816
1164716609472 1024 028217 1452 832refgcc_-m32_-march=k6-3_-O3_-fomit-frame-pointer2019082520190816
1165050449472 1024 028025 1452 832refgcc_-m32_-march=k6_-O3_-fomit-frame-pointer2019082520190816
1170623928937 1024 028528 1436 832refgcc_-funroll-loops_-m32_-march=pentium4_-O2_-fomit-frame-pointer2019082520190816
1172248689472 1024 028217 1452 832refgcc_-m32_-march=k6-2_-O3_-fomit-frame-pointer2019082520190816
1176981969913 1024 028869 1448 832refgcc_-m32_-march=athlon_-O3_-fomit-frame-pointer2019082520190816
11940479611921 1024 032268 1444 832refgcc_-funroll-loops_-m32_-march=pentium4_-O3_-fomit-frame-pointer2019082520190816
12004713612198 1024 032235 1440 832refgcc_-m32_-march=pentium-m_-O3_-fomit-frame-pointer2019082520190816
1210785409878 1024 029271 1440 832refgcc_-m32_-march=pentium2_-O3_-fomit-frame-pointer2019082520190816
1223776329878 1024 029271 1440 832refgcc_-m32_-march=pentiumpro_-O3_-fomit-frame-pointer2019082520190816
1237027447675 1024 027275 1440 832refgcc_-m32_-march=pentium3_-O3_-fomit-frame-pointer2019082520190816
12391832010275 1024 029112 1444 832refgcc_-m32_-march=pentium4_-O3_-fomit-frame-pointer2019082520190816
12398141610121 1024 029032 1444 832refgcc_-m32_-march=prescott_-O3_-fomit-frame-pointer2019082520190816
1244545889240 1024 027699 1440 832refgcc_-m32_-march=i486_-O3_-fomit-frame-pointer2019082520190816
1314577007452 1024 026824 1440 832refgcc_-funroll-loops_-m32_-march=i386_-O2_-fomit-frame-pointer2019082620190816
1375171409316 1024 028715 1444 832refgcc_-funroll-loops_-m32_-march=i386_-O3_-fomit-frame-pointer2019082620190816
1394532885459 1024 022109 1444 832refgcc_-m32_-march=core-avx-i_-O2_-fomit-frame-pointer2019082520190816
1399123165732 1024 021409 1444 832refgcc_-m32_-march=k6-2_-O2_-fomit-frame-pointer2019082520190816
1408393125463 1024 022089 1444 832refgcc_-m32_-O2_-fomit-frame-pointer2019082520190816
1408884445732 1024 021409 1444 832refgcc_-m32_-march=k6_-O2_-fomit-frame-pointer2019082520190816
1432006118446 1024 028705 1440 832refgcc_-funroll-loops_-m32_-march=pentium_-O2_-fomit-frame-pointer2019082620190816
1443627325554 1024 021500 1436 832refgcc_-m32_-march=i486_-O2_-fomit-frame-pointer2019082520190816
1446057085459 1024 022109 1444 832refgcc_-m32_-march=corei7-avx_-O2_-fomit-frame-pointer2019082520190816
1467285555144 1024 021296 1436 832refgcc_-m32_-march=nocona_-O2_-fomit-frame-pointer2019082520190816
1468177555459 1024 022125 1444 832refgcc_-m32_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019082520190816
1471568045459 1024 022109 1444 832refgcc_-m32_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019082520190816
1472092005459 1024 022125 1444 832refgcc_-m32_-march=corei7_-O2_-fomit-frame-pointer2019082520190816
1482713605459 1024 022125 1444 832refgcc_-m32_-march=core2_-msse4_-O2_-fomit-frame-pointer2019082520190816
1483748925732 1024 021409 1444 832refgcc_-m32_-march=k6-3_-O2_-fomit-frame-pointer2019082520190816
1501218145144 1024 021296 1436 832refgcc_-m32_-march=prescott_-O2_-fomit-frame-pointer2019082520190816
1517120005615 1024 022312 1436 832refgcc_-m32_-march=k8_-O2_-fomit-frame-pointer2019082520190816
15299731211392 1024 032704 1444 832refgcc_-funroll-loops_-m32_-march=pentium_-O3_-fomit-frame-pointer2019082620190816
15453396811876 2048 022164 1440 832refgcc_-m32_-march=barcelona_-O2_-fomit-frame-pointer2019082520190816
1547083125459 1024 022141 1444 832refgcc_-m32_-march=core2_-O2_-fomit-frame-pointer2019082520190816
1577747805076 1024 021232 1436 832refgcc_-m32_-march=pentium4_-O2_-fomit-frame-pointer2019082520190816
1590954685709 1024 022204 1436 832refgcc_-m32_-march=pentium3_-O2_-fomit-frame-pointer2019082520190816
1590986885033 1024 021273 1440 832refgcc_-m32_-march=athlon_-O2_-fomit-frame-pointer2019082520190816
1595015325709 1024 022204 1436 832refgcc_-m32_-march=pentiumpro_-O2_-fomit-frame-pointer2019082520190816
16083455211392 1024 032704 1444 832refgcc_-funroll-loops_-m32_-march=pentium-mmx_-O3_-fomit-frame-pointer2019082520190816
1629318049455 1024 029248 1444 832refgcc_-m32_-march=pentium_-O3_-fomit-frame-pointer2019082520190816
1662695365709 1024 022204 1436 832refgcc_-m32_-march=pentium2_-O2_-fomit-frame-pointer2019082520190816
1669448204477 1024 020532 1440 832refgcc_-m32_-march=i386_-O2_-fomit-frame-pointer2019082520190816
1673044728446 1024 028705 1440 832refgcc_-funroll-loops_-m32_-march=pentium-mmx_-O2_-fomit-frame-pointer2019082620190816
1678738927647 1024 025639 1444 832refgcc_-m32_-march=i386_-O3_-fomit-frame-pointer2019082520190816
1692581479455 1024 029248 1444 832refgcc_-m32_-march=pentium-mmx_-O3_-fomit-frame-pointer2019082520190816
1755824366364 1024 023404 1436 832refgcc_-m32_-march=pentium-m_-O2_-fomit-frame-pointer2019082520190816
1786423765459 1024 022213 1440 832refgcc_-m32_-march=pentium_-O2_-fomit-frame-pointer2019082520190816
1879591403952 1024 019304 1432 832refgcc_-funroll-loops_-m32_-march=i486_-Os_-fomit-frame-pointer2019082620190816
1884463905459 1024 022213 1440 832refgcc_-m32_-march=pentium-mmx_-O2_-fomit-frame-pointer2019082520190816
2019563086163 1024 025114 1448 832refgcc_-funroll-loops_-m32_-march=k6-2_-O_-fomit-frame-pointer2019082520190816
2037885206163 1024 025114 1448 832refgcc_-funroll-loops_-m32_-march=k6-3_-O_-fomit-frame-pointer2019082520190816
2041007846163 1024 025114 1448 832refgcc_-funroll-loops_-m32_-march=k6_-O_-fomit-frame-pointer2019082520190816
2083090926074 1024 025108 1440 832refgcc_-funroll-loops_-m32_-march=i486_-O_-fomit-frame-pointer2019082620190816
2086613836573 1024 026757 1440 832refgcc_-funroll-loops_-m32_-march=nocona_-O_-fomit-frame-pointer2019082520190816
2176678926573 1024 026757 1440 832refgcc_-funroll-loops_-m32_-march=prescott_-O_-fomit-frame-pointer2019082520190816
2255008786484 1024 026524 1436 832refgcc_-funroll-loops_-m32_-march=pentium2_-O_-fomit-frame-pointer2019082520190816
2262508145923 1024 025121 1444 832refgcc_-funroll-loops_-m32_-march=barcelona_-O_-fomit-frame-pointer2019082520190816
2267545686315 1024 026373 1440 832refgcc_-funroll-loops_-m32_-march=k8_-O_-fomit-frame-pointer2019082520190816
2268935766484 1024 026524 1436 832refgcc_-funroll-loops_-m32_-march=pentium3_-O_-fomit-frame-pointer2019082520190816
2273942466494 1024 026676 1436 832refgcc_-funroll-loops_-m32_-march=pentium-m_-O_-fomit-frame-pointer2019082520190816
2296712766258 1024 026290 1448 832refgcc_-funroll-loops_-m32_-O_-fomit-frame-pointer2019082520190816
2344700965679 1024 025416 1440 832refgcc_-funroll-loops_-m32_-march=i386_-O_-fomit-frame-pointer2019082620190816
2356178084917 1024 021217 1440 832refgcc_-m32_-march=prescott_-O_-fomit-frame-pointer2019082520190816
2359029284917 1024 021217 1440 832refgcc_-m32_-march=nocona_-O_-fomit-frame-pointer2019082520190816
2373917216484 1024 026524 1436 832refgcc_-funroll-loops_-m32_-march=pentiumpro_-O_-fomit-frame-pointer2019082520190816
2431521326148 1024 025966 1444 832refgcc_-funroll-loops_-m32_-march=athlon_-O_-fomit-frame-pointer2019082520190816
2439697484804 1024 020194 1448 832refgcc_-m32_-march=k6_-O_-fomit-frame-pointer2019082520190816
2461320964804 1024 020194 1448 832refgcc_-m32_-march=k6-2_-O_-fomit-frame-pointer2019082520190816
2476946204659 1024 020040 1440 832refgcc_-m32_-march=i486_-O_-fomit-frame-pointer2019082520190816
2486733884804 1024 020194 1448 832refgcc_-m32_-march=k6-3_-O_-fomit-frame-pointer2019082520190816
2538553084782 1024 021001 1440 832refgcc_-m32_-march=k8_-O_-fomit-frame-pointer2019082520190816
2560305369136 2048 019965 1444 832refgcc_-m32_-march=barcelona_-O_-fomit-frame-pointer2019082520190816
2595837924789 1024 021210 1448 832refgcc_-m32_-march=native_-mtune=native_-O_-fomit-frame-pointer2019082520190816
2603820324789 1024 021210 1448 832refgcc_-m32_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019082520190816
2604447686265 1024 026201 1444 832refgcc_-funroll-loops_-m32_-march=pentium_-O_-fomit-frame-pointer2019082620190816
2622556414789 1024 021210 1448 832refgcc_-m32_-march=corei7_-O_-fomit-frame-pointer2019082520190816
2622614724904 1024 021197 1444 832refgcc_-m32_-march=pentium-mmx_-O_-fomit-frame-pointer2019082520190816
2623500044789 1024 021210 1448 832refgcc_-m32_-march=core2_-msse4_-O_-fomit-frame-pointer2019082520190816
2628966364789 1024 021210 1448 832refgcc_-m32_-march=core2_-O_-fomit-frame-pointer2019082520190816
2631353524789 1024 021210 1448 832refgcc_-m32_-march=core-avx-i_-O_-fomit-frame-pointer2019082520190816
2638608766265 1024 026201 1444 832refgcc_-funroll-loops_-m32_-march=pentium-mmx_-O_-fomit-frame-pointer2019082620190816
2663727764844 1024 021198 1448 832refgcc_-m32_-O_-fomit-frame-pointer2019082520190816
2720830964789 1024 021210 1448 832refgcc_-m32_-march=corei7-avx_-O_-fomit-frame-pointer2019082520190816
2725221523981 1024 019424 1432 832refgcc_-funroll-loops_-m32_-march=k6-3_-Os_-fomit-frame-pointer2019082520190816
2759123366611 1024 026777 1440 832refgcc_-funroll-loops_-m32_-march=pentium4_-O_-fomit-frame-pointer2019082520190816
2763259964010 1024 019384 1432 832refgcc_-funroll-loops_-m32_-march=k8_-Os_-fomit-frame-pointer2019082520190816
2799159905013 1024 021280 1436 832refgcc_-m32_-march=pentium2_-O_-fomit-frame-pointer2019082520190816
2812477844619 1024 020670 1444 832refgcc_-m32_-march=athlon_-O_-fomit-frame-pointer2019082520190816
2815972603952 1024 019304 1432 832refgcc_-funroll-loops_-m32_-march=i386_-Os_-fomit-frame-pointer2019082620190816
2820573723952 1024 019304 1432 832refgcc_-funroll-loops_-m32_-march=pentium-mmx_-Os_-fomit-frame-pointer2019082520190816
2832601163987 1024 019352 1432 832refgcc_-funroll-loops_-m32_-march=pentium4_-Os_-fomit-frame-pointer2019082520190816
2838186004307 1024 020428 1440 832refgcc_-m32_-march=i386_-O_-fomit-frame-pointer2019082520190816
2850275765013 1024 021280 1436 832refgcc_-m32_-march=pentium3_-O_-fomit-frame-pointer2019082520190816
2850702123963 1024 019388 1432 832refgcc_-m32_-march=k6_-Os_-fomit-frame-pointer2019082520190816
2860025285013 1024 021280 1436 832refgcc_-m32_-march=pentiumpro_-O_-fomit-frame-pointer2019082520190816
2862868353981 1024 019424 1432 832refgcc_-funroll-loops_-m32_-march=k6_-Os_-fomit-frame-pointer2019082520190816
2863672764002 1024 019376 1432 832refgcc_-m32_-march=nocona_-Os_-fomit-frame-pointer2019082520190816
2881743524977 1024 021249 1440 832refgcc_-m32_-march=pentium4_-O_-fomit-frame-pointer2019082520190816
2885971523981 1024 019424 1432 832refgcc_-funroll-loops_-m32_-march=k6-2_-Os_-fomit-frame-pointer2019082520190816
2902568523963 1024 019388 1432 832refgcc_-m32_-march=k6-2_-Os_-fomit-frame-pointer2019082520190816
2904423715018 1024 021336 1436 832refgcc_-m32_-march=pentium-m_-O_-fomit-frame-pointer2019082520190816
2920024564002 1024 019376 1432 832refgcc_-m32_-march=prescott_-Os_-fomit-frame-pointer2019082520190816
2922322523914 1024 019228 1432 832refgcc_-funroll-loops_-m32_-march=athlon_-Os_-fomit-frame-pointer2019082520190816
2923983164006 1024 019360 1432 832refgcc_-m32_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019082520190816
2932178324006 1024 019360 1432 832refgcc_-m32_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019082520190816
2937065004025 1024 019408 1432 832refgcc_-m32_-march=k8_-Os_-fomit-frame-pointer2019082520190816
2945531004006 1024 019360 1432 832refgcc_-m32_-march=corei7_-Os_-fomit-frame-pointer2019082520190816
2951218004002 1024 019376 1432 832refgcc_-m32_-march=core2_-Os_-fomit-frame-pointer2019082520190816
2952784044904 1024 021197 1444 832refgcc_-m32_-march=pentium_-O_-fomit-frame-pointer2019082520190816
2961718208004 2048 019376 1432 832refgcc_-m32_-march=barcelona_-Os_-fomit-frame-pointer2019082520190816
2974473803987 1024 019352 1432 832refgcc_-funroll-loops_-m32_-march=nocona_-Os_-fomit-frame-pointer2019082520190816
2975978443934 1024 019268 1432 832refgcc_-m32_-march=i486_-Os_-fomit-frame-pointer2019082520190816
2978762003914 1024 019228 1432 832refgcc_-funroll-loops_-m32_-Os_-fomit-frame-pointer2019082520190816
2978812243929 1024 019252 1432 832refgcc_-m32_-Os_-fomit-frame-pointer2019082520190816
2986223104002 1024 019376 1432 832refgcc_-m32_-march=pentium4_-Os_-fomit-frame-pointer2019082520190816
2999783803987 1024 019352 1432 832refgcc_-funroll-loops_-m32_-march=prescott_-Os_-fomit-frame-pointer2019082520190816
3021839124006 1024 019360 1432 832refgcc_-m32_-march=core-avx-i_-Os_-fomit-frame-pointer2019082520190816
3171834884012 1024 019340 1432 832refgcc_-m32_-march=pentium-m_-Os_-fomit-frame-pointer2019082520190816
3177695803934 1024 019268 1432 832refgcc_-m32_-march=i386_-Os_-fomit-frame-pointer2019082520190816
3199459063934 1024 019268 1432 832refgcc_-m32_-march=pentium-mmx_-Os_-fomit-frame-pointer2019082520190816
3343967764006 1024 019360 1432 832refgcc_-m32_-march=corei7-avx_-Os_-fomit-frame-pointer2019082520190816
3375408044006 1024 019360 1432 832refgcc_-m32_-march=core2_-msse4_-Os_-fomit-frame-pointer2019082520190816
3385106993939 1024 019232 1432 832refgcc_-m32_-march=pentiumpro_-Os_-fomit-frame-pointer2019082520190816
3391922563963 1024 019388 1432 832refgcc_-m32_-march=k6-3_-Os_-fomit-frame-pointer2019082520190816
3398744963929 1024 019252 1432 832refgcc_-m32_-march=athlon_-Os_-fomit-frame-pointer2019082520190816
3412117083987 1024 019352 1432 832refgcc_-funroll-loops_-m32_-march=barcelona_-Os_-fomit-frame-pointer2019082520190816
3414426563934 1024 019268 1432 832refgcc_-m32_-march=pentium_-Os_-fomit-frame-pointer2019082520190816
3449716744001 1024 019316 1432 832refgcc_-funroll-loops_-m32_-march=pentium-m_-Os_-fomit-frame-pointer2019082520190816
3501661003939 1024 019232 1432 832refgcc_-m32_-march=pentium3_-Os_-fomit-frame-pointer2019082520190816
3513135043952 1024 019304 1432 832refgcc_-funroll-loops_-m32_-march=pentium_-Os_-fomit-frame-pointer2019082620190816
3513697853928 1024 019192 1432 832refgcc_-funroll-loops_-m32_-march=pentium3_-Os_-fomit-frame-pointer2019082520190816
3554682383939 1024 019232 1432 832refgcc_-m32_-march=pentium2_-Os_-fomit-frame-pointer2019082520190816
3601658813928 1024 019192 1432 832refgcc_-funroll-loops_-m32_-march=pentium2_-Os_-fomit-frame-pointer2019082520190816
3655057363928 1024 019192 1432 832refgcc_-funroll-loops_-m32_-march=pentiumpro_-Os_-fomit-frame-pointer2019082520190816

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