Implementation notes: x86, gpu, crypto_aead/norx6444v3

Computer: gpu
Architecture: x86
CPU ID: GenuineIntel-000206d7-bfebfbff
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: norx6444v3
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2175607380 8 026808 400 832refgcc_-m32_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019082720190816
2175807380 8 026808 400 832refgcc_-m32_-march=corei7_-Os_-fomit-frame-pointer2019082720190816
21875262091 8 083197 416 832refgcc_-m32_-march=corei7_-O_-fomit-frame-pointer2019082720190816
2190687343 8 026760 400 832refgcc_-m32_-march=corei7-avx_-Os_-fomit-frame-pointer2019082720190816
22008452630 8 077964 404 832refgcc_-funroll-loops_-m32_-march=pentium4_-O_-fomit-frame-pointer2019082720190816
22010062091 8 083197 416 832refgcc_-m32_-march=core2_-msse4_-O_-fomit-frame-pointer2019082720190816
22162867765 8 092824 408 832refgcc_-funroll-loops_-m32_-march=prescott_-O3_-fomit-frame-pointer2019082720190816
22458455373 8 078504 412 832refgcc_-funroll-loops_-m32_-march=barcelona_-O_-fomit-frame-pointer2019082720190816
22489663476 8 084544 404 832refgcc_-m32_-march=nocona_-O_-fomit-frame-pointer2019082720190816
2250327531 8 026968 400 832refgcc_-funroll-loops_-m32_-march=nocona_-Os_-fomit-frame-pointer2019082720190816
22582057525 8 081976 404 832refgcc_-funroll-loops_-m32_-march=nocona_-O2_-fomit-frame-pointer2019082720190816
2270887343 8 026760 400 832refgcc_-m32_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019082720190816
2279767343 8 026760 400 832refgcc_-m32_-march=core-avx-i_-Os_-fomit-frame-pointer2019082720190816
2290127583 8 027016 400 832refgcc_-m32_-march=prescott_-Os_-fomit-frame-pointer2019082720190816
22921257525 8 081976 404 832refgcc_-funroll-loops_-m32_-march=prescott_-O2_-fomit-frame-pointer2019082720190816
22934069173 8 092712 408 832refgcc_-m32_-march=prescott_-O3_-fomit-frame-pointer2019082720190816
22990462091 8 083197 416 832refgcc_-m32_-march=core-avx-i_-O_-fomit-frame-pointer2019082720190816
23164062905 8 083804 404 832refgcc_-m32_-march=prescott_-O2_-fomit-frame-pointer2019082720190816
23174054785 8 081960 404 832refgcc_-funroll-loops_-m32_-march=pentium-m_-O_-fomit-frame-pointer2019082720190816
23179260775 8 082208 404 832refgcc_-m32_-march=pentium4_-O_-fomit-frame-pointer2019082720190816
2333287583 8 027016 400 832refgcc_-m32_-march=core2_-Os_-fomit-frame-pointer2019082720190816
23390053121 8 077896 404 832refgcc_-funroll-loops_-m32_-march=pentium4_-O2_-fomit-frame-pointer2019082720190816
23474862091 8 083197 416 832refgcc_-m32_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019082720190816
2353727531 8 026968 400 832refgcc_-funroll-loops_-m32_-march=prescott_-Os_-fomit-frame-pointer2019082720190816
23612054089 8 078696 404 832refgcc_-funroll-loops_-m32_-march=k8_-O_-fomit-frame-pointer2019082720190816
23721262091 8 083197 416 832refgcc_-m32_-march=corei7-avx_-O_-fomit-frame-pointer2019082720190816
240284124362 16 081500 412 832refgcc_-m32_-march=barcelona_-O_-fomit-frame-pointer2019082720190816
24183262091 8 083197 416 832refgcc_-m32_-march=native_-mtune=native_-O_-fomit-frame-pointer2019082720190816
2420607583 8 026968 400 832refgcc_-m32_-march=pentium-m_-Os_-fomit-frame-pointer2019082720190816
2435367380 8 026808 400 832refgcc_-m32_-march=core2_-msse4_-Os_-fomit-frame-pointer2019082720190816
2453887583 8 027016 400 832refgcc_-m32_-march=nocona_-Os_-fomit-frame-pointer2019082720190816
24548863416 8 085084 404 832refgcc_-m32_-march=pentium-m_-O_-fomit-frame-pointer2019082720190816
2470086838 8 026252 400 832refgcc_-m32_-march=pentium_-Os_-fomit-frame-pointer2019082720190816
24754867765 8 092824 408 832refgcc_-funroll-loops_-m32_-march=nocona_-O3_-fomit-frame-pointer2019082720190816
2478927583 8 027016 400 832refgcc_-m32_-march=pentium4_-Os_-fomit-frame-pointer2019082720190816
2480007531 8 026968 400 832refgcc_-funroll-loops_-m32_-march=pentium4_-Os_-fomit-frame-pointer2019082720190816
2480326756 8 026124 400 832refgcc_-funroll-loops_-m32_-march=i386_-Os_-fomit-frame-pointer2019082720190816
24804469173 8 092712 408 832refgcc_-m32_-march=nocona_-O3_-fomit-frame-pointer2019082720190816
2484006827 8 026296 400 832refgcc_-funroll-loops_-m32_-march=k6_-Os_-fomit-frame-pointer2019082720190816
2496487531 8 026920 400 832refgcc_-funroll-loops_-m32_-march=pentium-m_-Os_-fomit-frame-pointer2019082720190816
25210062905 8 083804 404 832refgcc_-m32_-march=nocona_-O2_-fomit-frame-pointer2019082720190816
2522446756 8 026076 400 832refgcc_-funroll-loops_-m32_-march=pentium2_-Os_-fomit-frame-pointer2019082720190816
25253665477 8 089396 408 832refgcc_-m32_-march=pentium4_-O3_-fomit-frame-pointer2019082720190816
25396875877 8 0100233 416 832refgcc_-m32_-march=core-avx-i_-O3_-fomit-frame-pointer2019082720190816
25550454216 8 079196 404 832refgcc_-funroll-loops_-m32_-march=prescott_-O_-fomit-frame-pointer2019082720190816
25651261593 8 082952 404 832refgcc_-m32_-march=pentium4_-O2_-fomit-frame-pointer2019082720190816
2565766756 8 026076 400 832refgcc_-funroll-loops_-m32_-march=pentium3_-Os_-fomit-frame-pointer2019082720190816
25842063476 8 084544 404 832refgcc_-m32_-march=prescott_-O_-fomit-frame-pointer2019082720190816
26034875877 8 0100233 416 832refgcc_-m32_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019082720190816
2623926838 8 026188 400 832refgcc_-m32_-march=pentiumpro_-Os_-fomit-frame-pointer2019082720190816
2626646756 8 026124 400 832refgcc_-funroll-loops_-m32_-march=pentium-mmx_-Os_-fomit-frame-pointer2019082720190816
2647006827 8 026296 400 832refgcc_-funroll-loops_-m32_-march=k6-3_-Os_-fomit-frame-pointer2019082720190816
2647806838 8 026252 400 832refgcc_-m32_-march=pentium-mmx_-Os_-fomit-frame-pointer2019082720190816
26500864073 8 089540 408 832refgcc_-funroll-loops_-m32_-march=pentium4_-O3_-fomit-frame-pointer2019082720190816
2651006756 8 026124 400 832refgcc_-funroll-loops_-m32_-march=athlon_-Os_-fomit-frame-pointer2019082720190816
26633854216 8 079196 404 832refgcc_-funroll-loops_-m32_-march=nocona_-O_-fomit-frame-pointer2019082720190816
2682166838 8 026252 400 832refgcc_-m32_-march=i486_-Os_-fomit-frame-pointer2019082720190816
2701166838 8 026188 400 832refgcc_-m32_-march=pentium3_-Os_-fomit-frame-pointer2019082720190816
27018491452 8 0121132 404 832refgcc_-funroll-loops_-m32_-march=pentium-m_-O3_-fomit-frame-pointer2019082720190816
27187273544 8 0101956 404 832refgcc_-funroll-loops_-m32_-march=pentium-m_-O2_-fomit-frame-pointer2019082720190816
27210463166 8 083884 404 832refgcc_-m32_-march=k8_-O_-fomit-frame-pointer2019082720190816
27450885017 8 0109105 416 832refgcc_-m32_-march=core2_-O3_-fomit-frame-pointer2019082720190816
2746886827 8 026296 400 832refgcc_-funroll-loops_-m32_-march=k6-2_-Os_-fomit-frame-pointer2019082720190816
27500480977 8 0102445 412 832refgcc_-m32_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019082720190816
27589962091 8 083197 416 832refgcc_-m32_-march=core2_-O_-fomit-frame-pointer2019082720190816
27665285120 8 0108256 404 832refgcc_-m32_-march=pentium-m_-O2_-fomit-frame-pointer2019082720190816
2785366838 8 026188 400 832refgcc_-m32_-march=pentium2_-Os_-fomit-frame-pointer2019082720190816
2842826756 8 026124 400 832refgcc_-funroll-loops_-m32_-march=pentium_-Os_-fomit-frame-pointer2019082720190816
28581681801 8 0105825 416 832refgcc_-m32_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019082720190816
28732475877 8 0100233 416 832refgcc_-m32_-march=corei7-avx_-O3_-fomit-frame-pointer2019082720190816
2882246909 8 026408 400 832refgcc_-m32_-march=k6_-Os_-fomit-frame-pointer2019082720190816
2882646756 8 026124 400 832refgcc_-funroll-loops_-m32_-march=i486_-Os_-fomit-frame-pointer2019082720190816
2919456756 8 026076 400 832refgcc_-funroll-loops_-m32_-march=pentiumpro_-Os_-fomit-frame-pointer2019082720190816
29198481801 8 0105877 416 832refgcc_-m32_-march=core2_-msse4_-O3_-fomit-frame-pointer2019082720190816
29302481817 8 0105893 416 832refgcc_-m32_-march=corei7_-O3_-fomit-frame-pointer2019082720190816
29351675217 8 096669 412 832refgcc_-m32_-march=core-avx-i_-O2_-fomit-frame-pointer2019082720190816
29414091484 8 0117596 404 832refgcc_-m32_-march=pentium-m_-O3_-fomit-frame-pointer2019082720190816
29529283833 8 0105293 412 832refgcc_-m32_-march=core2_-O2_-fomit-frame-pointer2019082720190816
2981286838 8 026252 400 832refgcc_-m32_-march=i386_-Os_-fomit-frame-pointer2019082720190816
2983886756 8 026124 400 832refgcc_-funroll-loops_-m32_-Os_-fomit-frame-pointer2019082720190816
30187275217 8 096669 412 832refgcc_-m32_-march=corei7-avx_-O2_-fomit-frame-pointer2019082720190816
30269280977 8 0102445 412 832refgcc_-m32_-march=core2_-msse4_-O2_-fomit-frame-pointer2019082720190816
3046886909 8 026408 400 832refgcc_-m32_-march=k6-3_-Os_-fomit-frame-pointer2019082720190816
31137280977 8 0102445 412 832refgcc_-m32_-march=corei7_-O2_-fomit-frame-pointer2019082720190816
31210095429 8 0116865 412 832refgcc_-m32_-O2_-fomit-frame-pointer2019082720190816
31880875217 8 096669 412 832refgcc_-m32_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019082720190816
32198484836 8 0108813 408 832refgcc_-funroll-loops_-m32_-march=athlon_-O2_-fomit-frame-pointer2019082720190816
33042886305 8 0110036 408 832refgcc_-funroll-loops_-m32_-march=i386_-O3_-fomit-frame-pointer2019082720190816
33199287774 8 0112145 408 832refgcc_-funroll-loops_-m32_-march=pentium-mmx_-O3_-fomit-frame-pointer2019082720190816
3348106909 8 026408 400 832refgcc_-m32_-march=k6-2_-Os_-fomit-frame-pointer2019082720190816
33481288321 8 0111013 412 832refgcc_-funroll-loops_-m32_-march=k6-2_-O2_-fomit-frame-pointer2019082720190816
33605686909 8 0110672 408 832refgcc_-funroll-loops_-m32_-march=i386_-O2_-fomit-frame-pointer2019082720190816
33636486485 8 0110413 416 832refgcc_-m32_-O3_-fomit-frame-pointer2019082720190816
3364106838 8 026236 400 832refgcc_-m32_-Os_-fomit-frame-pointer2019082720190816
34269689504 8 0118512 404 832refgcc_-funroll-loops_-m32_-march=pentiumpro_-O3_-fomit-frame-pointer2019082720190816
34637686093 8 0109001 416 832refgcc_-funroll-loops_-m32_-march=pentium_-O_-fomit-frame-pointer2019082720190816
34641288727 8 0111537 408 832refgcc_-m32_-march=pentium-mmx_-O3_-fomit-frame-pointer2019082720190816
34646490017 8 0115132 404 832refgcc_-m32_-march=pentium2_-O3_-fomit-frame-pointer2019082720190816
34653688321 8 0111013 412 832refgcc_-funroll-loops_-m32_-march=k6_-O2_-fomit-frame-pointer2019082720190816
35039285573 8 0111405 416 832refgcc_-funroll-loops_-m32_-O3_-fomit-frame-pointer2019082720190816
35136089864 8 0116968 404 832refgcc_-funroll-loops_-m32_-march=pentium3_-O2_-fomit-frame-pointer2019082720190816
35217291137 8 0116460 404 832refgcc_-m32_-march=pentium3_-O3_-fomit-frame-pointer2019082720190816
35264095633 8 0115909 408 832refgcc_-m32_-march=athlon_-O_-fomit-frame-pointer2019082720190816
35456887864 8 0111948 404 832refgcc_-funroll-loops_-m32_-march=i486_-O3_-fomit-frame-pointer2019082720190816
35485287062 8 0114192 404 832refgcc_-funroll-loops_-m32_-march=pentium3_-O_-fomit-frame-pointer2019082720190816
3555776838 8 026236 400 832refgcc_-m32_-march=athlon_-Os_-fomit-frame-pointer2019082720190816
35582087794 8 0111173 408 832refgcc_-funroll-loops_-m32_-march=pentium-mmx_-O2_-fomit-frame-pointer2019082720190816
35632887774 8 0112145 408 832refgcc_-funroll-loops_-m32_-march=pentium_-O3_-fomit-frame-pointer2019082720190816
35820485929 8 0110697 412 832refgcc_-funroll-loops_-m32_-O2_-fomit-frame-pointer2019082720190816
35849691280 8 0120496 404 832refgcc_-funroll-loops_-m32_-march=pentium3_-O3_-fomit-frame-pointer2019082720190816
36086089864 8 0116968 404 832refgcc_-funroll-loops_-m32_-march=pentiumpro_-O2_-fomit-frame-pointer2019082720190816
36215287794 8 0111173 408 832refgcc_-funroll-loops_-m32_-march=pentium_-O2_-fomit-frame-pointer2019082720190816
36269288429 8 0111349 416 832refgcc_-funroll-loops_-m32_-march=k6-3_-O_-fomit-frame-pointer2019082720190816
36310087805 8 0111525 416 832refgcc_-funroll-loops_-m32_-march=k6_-O3_-fomit-frame-pointer2019082720190816
36371297694 8 0116913 416 832refgcc_-m32_-march=pentium-mmx_-O_-fomit-frame-pointer2019082720190816
36566487563 8 0111644 412 832refgcc_-funroll-loops_-m32_-march=i386_-O_-fomit-frame-pointer2019082720190816
36624098411 8 0118237 408 832refgcc_-m32_-march=pentium-mmx_-O2_-fomit-frame-pointer2019082720190816
36662083629 8 0108353 416 832refgcc_-funroll-loops_-m32_-O_-fomit-frame-pointer2019082720190816
36723684209 8 0108273 408 832refgcc_-funroll-loops_-m32_-march=athlon_-O_-fomit-frame-pointer2019082720190816
36893289189 8 0111813 416 832refgcc_-m32_-march=k6-2_-O3_-fomit-frame-pointer2019082720190816
37037288321 8 0111013 412 832refgcc_-funroll-loops_-m32_-march=k6-3_-O2_-fomit-frame-pointer2019082720190816
37053689864 8 0116968 404 832refgcc_-funroll-loops_-m32_-march=pentium2_-O2_-fomit-frame-pointer2019082720190816
371124100704 8 0122972 404 832refgcc_-m32_-march=pentium2_-O2_-fomit-frame-pointer2019082720190816
37267686146 8 0109397 412 832refgcc_-m32_-march=athlon_-O3_-fomit-frame-pointer2019082720190816
37526088164 8 0111760 404 832refgcc_-funroll-loops_-m32_-march=i486_-O2_-fomit-frame-pointer2019082720190816
37569695032 8 0116073 416 832refgcc_-m32_-O_-fomit-frame-pointer2019082720190816
37824487485 8 0109792 408 832refgcc_-m32_-march=i386_-O3_-fomit-frame-pointer2019082720190816
37846488157 8 0112485 416 832refgcc_-funroll-loops_-m32_-march=k6-2_-O3_-fomit-frame-pointer2019082720190816
37873685004 8 0110433 412 832refgcc_-funroll-loops_-m32_-march=athlon_-O3_-fomit-frame-pointer2019082720190816
37946089189 8 0111813 416 832refgcc_-m32_-march=k6-3_-O3_-fomit-frame-pointer2019082720190816
38023689504 8 0118512 404 832refgcc_-funroll-loops_-m32_-march=pentium2_-O3_-fomit-frame-pointer2019082720190816
38118487062 8 0114192 404 832refgcc_-funroll-loops_-m32_-march=pentiumpro_-O_-fomit-frame-pointer2019082720190816
38188087062 8 0114192 404 832refgcc_-funroll-loops_-m32_-march=pentium2_-O_-fomit-frame-pointer2019082720190816
38307197694 8 0116913 416 832refgcc_-m32_-march=pentium_-O_-fomit-frame-pointer2019082720190816
38614099585 8 0119221 412 832refgcc_-m32_-march=k6-3_-O2_-fomit-frame-pointer2019082720190816
38712088157 8 0112485 416 832refgcc_-funroll-loops_-m32_-march=k6-3_-O3_-fomit-frame-pointer2019082720190816
38807288652 8 0111496 412 832refgcc_-funroll-loops_-m32_-march=i486_-O_-fomit-frame-pointer2019082720190816
38828899585 8 0119221 412 832refgcc_-m32_-march=k6-2_-O2_-fomit-frame-pointer2019082720190816
388904100704 8 0122972 404 832refgcc_-m32_-march=pentium3_-O2_-fomit-frame-pointer2019082720190816
39212898411 8 0118237 408 832refgcc_-m32_-march=pentium_-O2_-fomit-frame-pointer2019082720190816
39366490017 8 0115132 404 832refgcc_-m32_-march=pentiumpro_-O3_-fomit-frame-pointer2019082720190816
394560100937 8 0120277 416 832refgcc_-m32_-march=k6-3_-O_-fomit-frame-pointer2019082720190816
39542498825 8 0120532 404 832refgcc_-m32_-march=pentium2_-O_-fomit-frame-pointer2019082720190816
40292488429 8 0111349 416 832refgcc_-funroll-loops_-m32_-march=k6_-O_-fomit-frame-pointer2019082720190816
40392899585 8 0119221 412 832refgcc_-m32_-march=k6_-O2_-fomit-frame-pointer2019082720190816
40697688727 8 0111537 408 832refgcc_-m32_-march=pentium_-O3_-fomit-frame-pointer2019082720190816
4095007951 8 027384 400 832refgcc_-funroll-loops_-m32_-march=barcelona_-Os_-fomit-frame-pointer2019082720190816
410452100937 8 0120277 416 832refgcc_-m32_-march=k6_-O_-fomit-frame-pointer2019082720190816
41324096106 8 0116629 408 832refgcc_-m32_-march=athlon_-O2_-fomit-frame-pointer2019082720190816
41336886093 8 0109001 416 832refgcc_-funroll-loops_-m32_-march=pentium-mmx_-O_-fomit-frame-pointer2019082720190816
41571289601 8 0112196 404 832refgcc_-m32_-march=i486_-O3_-fomit-frame-pointer2019082720190816
41758098496 8 0118972 412 832refgcc_-m32_-march=i386_-O_-fomit-frame-pointer2019082720190816
41837297081 8 0117524 408 832refgcc_-m32_-march=i386_-O2_-fomit-frame-pointer2019082720190816
420492100937 8 0120277 416 832refgcc_-m32_-march=k6-2_-O_-fomit-frame-pointer2019082720190816
42457988429 8 0111349 416 832refgcc_-funroll-loops_-m32_-march=k6-2_-O_-fomit-frame-pointer2019082720190816
43267498273 8 0118348 404 832refgcc_-m32_-march=i486_-O2_-fomit-frame-pointer2019082720190816
438172100704 8 0122972 404 832refgcc_-m32_-march=pentiumpro_-O2_-fomit-frame-pointer2019082720190816
44539616012 16 027448 400 832refgcc_-m32_-march=barcelona_-Os_-fomit-frame-pointer2019082720190816
44767689061 8 0111493 416 832refgcc_-m32_-march=k6_-O3_-fomit-frame-pointer2019082720190816
45344698430 8 0117620 412 832refgcc_-m32_-march=i486_-O_-fomit-frame-pointer2019082720190816
45428498825 8 0120532 404 832refgcc_-m32_-march=pentium3_-O_-fomit-frame-pointer2019082720190816
45937598825 8 0120532 404 832refgcc_-m32_-march=pentiumpro_-O_-fomit-frame-pointer2019082720190816
47412887537 8 0111020 408 832refgcc_-funroll-loops_-m32_-march=barcelona_-O2_-fomit-frame-pointer2019082720190816
4792488373 8 027816 400 832refgcc_-funroll-loops_-m32_-march=k8_-Os_-fomit-frame-pointer2019082720190816
4847648440 8 027880 400 832refgcc_-m32_-march=k8_-Os_-fomit-frame-pointer2019082720190816
500816107549 8 0132988 412 832refgcc_-funroll-loops_-m32_-march=barcelona_-O3_-fomit-frame-pointer2019082720190816
504944217210 16 0131656 412 832refgcc_-m32_-march=barcelona_-O3_-fomit-frame-pointer2019082720190816
539032206938 16 0123704 408 832refgcc_-m32_-march=barcelona_-O2_-fomit-frame-pointer2019082720190816
565012115314 8 0140072 408 832refgcc_-m32_-march=k8_-O3_-fomit-frame-pointer2019082720190816
56912889458 8 0114440 404 832refgcc_-funroll-loops_-m32_-march=k8_-O2_-fomit-frame-pointer2019082720190816
582128114372 8 0141336 408 832refgcc_-funroll-loops_-m32_-march=k8_-O3_-fomit-frame-pointer2019082720190816
583852105114 8 0126860 404 832refgcc_-m32_-march=k8_-O2_-fomit-frame-pointer2019082720190816

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: 6, 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
gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer ymm
gcc -m32 -march=core-avx2 -O -fomit-frame-pointer ymm
gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer ymm

Compiler output

Implementation: ymm
Security model: unknown
Compiler: gcc -funroll-loops -m32 -O2 -fomit-frame-pointer
norx.c: norx.c: In function 'norx_aead_encrypt':
norx.c: norx.c:653:17: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
norx.c: const __m256i K = LOADU(key);
norx.c: ^
norx.c: norx.c:542:11: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
norx.c: S[ 0] = _mm256_broadcastq_epi64(_mm256_castsi256_si128(A)); \
norx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
norx.c: norx.c:584:5: note: in expansion of macro 'BRANCH_V4'
norx.c: BRANCH_V4(S, A, B, C, D); \
norx.c: ^~~~~~~~~
norx.c: norx.c:659:3: note: in expansion of macro 'ENCRYPT_DATA_V4'
norx.c: ENCRYPT_DATA_V4(A, B, C, D, c, m, mlen);
norx.c: ^~~~~~~~~~~~~~~
norx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
norx.c: from norx.c:19:
norx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
norx.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
norx.c: ^~~~~~~~~~~~~~~~
norx.c: norx.c:258:5: note: called from here
norx.c: D = XOR(D, _mm256_set_epi64x(NORX_T, NORX_P, NORX_L, NORX_W)); \
norx.c: ^
norx.c: norx.c:657:3: note: in expansion of macro 'INITIALISE'
norx.c: INITIALISE(A, B, C, D, nonce, K);
norx.c: ^~~~~~~~~~
norx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
norx.c: ...

Number of similar (compiler,implementation) pairs: 88, namely:
CompilerImplementations
gcc -funroll-loops -m32 -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -O -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer ymm
gcc -m32 -O2 -fomit-frame-pointer ymm
gcc -m32 -O3 -fomit-frame-pointer ymm
gcc -m32 -O -fomit-frame-pointer ymm
gcc -m32 -Os -fomit-frame-pointer ymm
gcc -m32 -march=athlon -O2 -fomit-frame-pointer ymm
gcc -m32 -march=athlon -O3 -fomit-frame-pointer ymm
gcc -m32 -march=athlon -O -fomit-frame-pointer ymm
gcc -m32 -march=athlon -Os -fomit-frame-pointer ymm
gcc -m32 -march=i386 -O2 -fomit-frame-pointer ymm
gcc -m32 -march=i386 -O3 -fomit-frame-pointer ymm
gcc -m32 -march=i386 -O -fomit-frame-pointer ymm
gcc -m32 -march=i386 -Os -fomit-frame-pointer ymm
gcc -m32 -march=i486 -O2 -fomit-frame-pointer ymm
gcc -m32 -march=i486 -O3 -fomit-frame-pointer ymm
gcc -m32 -march=i486 -O -fomit-frame-pointer ymm
gcc -m32 -march=i486 -Os -fomit-frame-pointer ymm
gcc -m32 -march=k6-2 -O2 -fomit-frame-pointer ymm
gcc -m32 -march=k6-2 -O3 -fomit-frame-pointer ymm
gcc -m32 -march=k6-2 -O -fomit-frame-pointer ymm
gcc -m32 -march=k6-2 -Os -fomit-frame-pointer ymm
gcc -m32 -march=k6-3 -O2 -fomit-frame-pointer ymm
gcc -m32 -march=k6-3 -O3 -fomit-frame-pointer ymm
gcc -m32 -march=k6-3 -O -fomit-frame-pointer ymm
gcc -m32 -march=k6-3 -Os -fomit-frame-pointer ymm
gcc -m32 -march=k6 -O2 -fomit-frame-pointer ymm
gcc -m32 -march=k6 -O3 -fomit-frame-pointer ymm
gcc -m32 -march=k6 -O -fomit-frame-pointer ymm
gcc -m32 -march=k6 -Os -fomit-frame-pointer ymm
gcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer ymm
gcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer ymm
gcc -m32 -march=pentium-mmx -O -fomit-frame-pointer ymm
gcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer ymm
gcc -m32 -march=pentium2 -O2 -fomit-frame-pointer ymm
gcc -m32 -march=pentium2 -O3 -fomit-frame-pointer ymm
gcc -m32 -march=pentium2 -O -fomit-frame-pointer ymm
gcc -m32 -march=pentium2 -Os -fomit-frame-pointer ymm
gcc -m32 -march=pentium -O2 -fomit-frame-pointer ymm
gcc -m32 -march=pentium -O3 -fomit-frame-pointer ymm
gcc -m32 -march=pentium -O -fomit-frame-pointer ymm
gcc -m32 -march=pentium -Os -fomit-frame-pointer ymm
gcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer ymm
gcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer ymm
gcc -m32 -march=pentiumpro -O -fomit-frame-pointer ymm
gcc -m32 -march=pentiumpro -Os -fomit-frame-pointer ymm

Compiler output

Implementation: ymm
Security model: unknown
Compiler: gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer
norx.c: norx.c: In function 'norx_aead_encrypt':
norx.c: norx.c:653:17: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
norx.c: const __m256i K = LOADU(key);
norx.c: ^
norx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
norx.c: from norx.c:19:
norx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
norx.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
norx.c: ^~~~~~~~~~~~~~~~
norx.c: norx.c:258:5: note: called from here
norx.c: D = XOR(D, _mm256_set_epi64x(NORX_T, NORX_P, NORX_L, NORX_W)); \
norx.c: ^
norx.c: norx.c:657:3: note: in expansion of macro 'INITIALISE'
norx.c: INITIALISE(A, B, C, D, nonce, K);
norx.c: ^~~~~~~~~~
norx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
norx.c: from norx.c:19:
norx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:1295:1: error: inlining failed in call to always_inline '_mm256_set_epi64x': target specific option mismatch
norx.c: _mm256_set_epi64x (long long __A, long long __B, long long __C,
norx.c: ^~~~~~~~~~~~~~~~~
norx.c: norx.c:63:19: note: called from here
norx.c: #define XOR(A, B) _mm256_xor_si256((A), (B))
norx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~
norx.c: norx.c:258:7: note: in expansion of macro 'XOR'
norx.c: D = XOR(D, _mm256_set_epi64x(NORX_T, NORX_P, NORX_L, NORX_W)); \
norx.c: ...

Number of similar (compiler,implementation) pairs: 68, namely:
CompilerImplementations
gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer ymm
gcc -m32 -march=core2 -O2 -fomit-frame-pointer ymm
gcc -m32 -march=core2 -O3 -fomit-frame-pointer ymm
gcc -m32 -march=core2 -O -fomit-frame-pointer ymm
gcc -m32 -march=core2 -Os -fomit-frame-pointer ymm
gcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer ymm
gcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer ymm
gcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer ymm
gcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer ymm
gcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer ymm
gcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer ymm
gcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer ymm
gcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer ymm
gcc -m32 -march=corei7 -O2 -fomit-frame-pointer ymm
gcc -m32 -march=corei7 -O3 -fomit-frame-pointer ymm
gcc -m32 -march=corei7 -O -fomit-frame-pointer ymm
gcc -m32 -march=corei7 -Os -fomit-frame-pointer ymm
gcc -m32 -march=k8 -O2 -fomit-frame-pointer ymm
gcc -m32 -march=k8 -O3 -fomit-frame-pointer ymm
gcc -m32 -march=k8 -O -fomit-frame-pointer ymm
gcc -m32 -march=k8 -Os -fomit-frame-pointer ymm
gcc -m32 -march=nocona -O2 -fomit-frame-pointer ymm
gcc -m32 -march=nocona -O3 -fomit-frame-pointer ymm
gcc -m32 -march=nocona -O -fomit-frame-pointer ymm
gcc -m32 -march=nocona -Os -fomit-frame-pointer ymm
gcc -m32 -march=pentium-m -O2 -fomit-frame-pointer ymm
gcc -m32 -march=pentium-m -O3 -fomit-frame-pointer ymm
gcc -m32 -march=pentium-m -O -fomit-frame-pointer ymm
gcc -m32 -march=pentium-m -Os -fomit-frame-pointer ymm
gcc -m32 -march=pentium3 -O2 -fomit-frame-pointer ymm
gcc -m32 -march=pentium3 -O3 -fomit-frame-pointer ymm
gcc -m32 -march=pentium3 -O -fomit-frame-pointer ymm
gcc -m32 -march=pentium3 -Os -fomit-frame-pointer ymm
gcc -m32 -march=pentium4 -O2 -fomit-frame-pointer ymm
gcc -m32 -march=pentium4 -O3 -fomit-frame-pointer ymm
gcc -m32 -march=pentium4 -O -fomit-frame-pointer ymm
gcc -m32 -march=pentium4 -Os -fomit-frame-pointer ymm
gcc -m32 -march=prescott -O2 -fomit-frame-pointer ymm
gcc -m32 -march=prescott -O3 -fomit-frame-pointer ymm
gcc -m32 -march=prescott -O -fomit-frame-pointer ymm
gcc -m32 -march=prescott -Os -fomit-frame-pointer ymm

Compiler output

Implementation: ymm
Security model: unknown
Compiler: gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
norx.c: norx.c: In function 'norx_aead_encrypt':
norx.c: norx.c:653:17: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
norx.c: const __m256i K = LOADU(key);
norx.c: ^
norx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
norx.c: from norx.c:19:
norx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
norx.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
norx.c: ^~~~~~~~~~~~~~~~
norx.c: norx.c:258:5: note: called from here
norx.c: D = XOR(D, _mm256_set_epi64x(NORX_T, NORX_P, NORX_L, NORX_W)); \
norx.c: ^
norx.c: norx.c:657:3: note: in expansion of macro 'INITIALISE'
norx.c: INITIALISE(A, B, C, D, nonce, K);
norx.c: ^~~~~~~~~~
norx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
norx.c: from norx.c:19:
norx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:1295:1: error: inlining failed in call to always_inline '_mm256_set_epi64x': target specific option mismatch
norx.c: _mm256_set_epi64x (long long __A, long long __B, long long __C,
norx.c: ^~~~~~~~~~~~~~~~~
norx.c: norx.c:63:19: note: called from here
norx.c: #define XOR(A, B) _mm256_xor_si256((A), (B))
norx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~
norx.c: norx.c:258:7: note: in expansion of macro 'XOR'
norx.c: D = XOR(D, _mm256_set_epi64x(NORX_T, NORX_P, NORX_L, NORX_W)); \
norx.c: ...
norx.c: norx.c: In function 'norx_aead_encrypt':
norx.c: norx.c:653:17: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
norx.c: const __m256i K = LOADU(key);
norx.c: ^
norx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
norx.c: from norx.c:19:
norx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
norx.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
norx.c: ^~~~~~~~~~~~~~~~
norx.c: norx.c:258:5: note: called from here
norx.c: D = XOR(D, _mm256_set_epi64x(NORX_T, NORX_P, NORX_L, NORX_W)); \
norx.c: ^
norx.c: norx.c:657:3: note: in expansion of macro 'INITIALISE'
norx.c: INITIALISE(A, B, C, D, nonce, K);
norx.c: ^~~~~~~~~~
norx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
norx.c: from norx.c:19:
norx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:1295:1: error: inlining failed in call to always_inline '_mm256_set_epi64x': target specific option mismatch
norx.c: _mm256_set_epi64x (long long __A, long long __B, long long __C,
norx.c: ^~~~~~~~~~~~~~~~~
norx.c: norx.c:63:19: note: called from here
norx.c: #define XOR(A, B) _mm256_xor_si256((A), (B))
norx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~
norx.c: norx.c:258:7: note: in expansion of macro 'XOR'
norx.c: D = XOR(D, _mm256_set_epi64x(NORX_T, NORX_P, NORX_L, NORX_W)); \
norx.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m32 -march=barcelona -O2 -fomit-frame-pointer ymm
gcc -m32 -march=barcelona -O3 -fomit-frame-pointer ymm
gcc -m32 -march=barcelona -O -fomit-frame-pointer ymm
gcc -m32 -march=barcelona -Os -fomit-frame-pointer ymm

Compiler output

Implementation: ymm
Security model: unknown
Compiler: gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer
norx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
norx.c: from norx.c:19:
norx.c: norx.c: In function 'norx_aead_encrypt':
norx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
norx.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
norx.c: ^~~~~~~~~~~~~~~~
norx.c: norx.c:258:5: note: called from here
norx.c: D = XOR(D, _mm256_set_epi64x(NORX_T, NORX_P, NORX_L, NORX_W)); \
norx.c: ^
norx.c: norx.c:657:3: note: in expansion of macro 'INITIALISE'
norx.c: INITIALISE(A, B, C, D, nonce, K);
norx.c: ^~~~~~~~~~
norx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
norx.c: from norx.c:19:
norx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
norx.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
norx.c: ^~~~~~~~~~~~~~~~
norx.c: norx.c:258:5: note: called from here
norx.c: D = XOR(D, _mm256_set_epi64x(NORX_T, NORX_P, NORX_L, NORX_W)); \
norx.c: ^
norx.c: norx.c:657:3: note: in expansion of macro 'INITIALISE'
norx.c: INITIALISE(A, B, C, D, nonce, K);
norx.c: ^~~~~~~~~~
norx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
norx.c: from norx.c:19:
norx.c: ...

Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer ymm
gcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer ymm
gcc -m32 -march=core-avx-i -O -fomit-frame-pointer ymm
gcc -m32 -march=core-avx-i -Os -fomit-frame-pointer ymm
gcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer ymm
gcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer ymm
gcc -m32 -march=corei7-avx -O -fomit-frame-pointer ymm
gcc -m32 -march=corei7-avx -Os -fomit-frame-pointer ymm
gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer ymm
gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer ymm
gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer ymm
gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer ymm