Implementation notes: x86, gpu, crypto_aead/minalpherv11

Computer: gpu
Architecture: x86
CPU ID: GenuineIntel-000206d7-bfebfbff
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: minalpherv11
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
500886815074 0 033664 396 832refgcc_-funroll-loops_-m32_-march=i486_-O_-fomit-frame-pointer2019082720190816
614828816952 0 036915 400 832refgcc_-funroll-loops_-m32_-march=nocona_-O3_-fomit-frame-pointer2019082720190816
637678014236 0 033813 400 832refgcc_-funroll-loops_-m32_-O2_-fomit-frame-pointer2019082720190816
646656016539 0 035988 408 832refgcc_-funroll-loops_-m32_-march=k6_-O3_-fomit-frame-pointer2019082720190816
650696014763 0 033304 404 832refgcc_-m32_-march=athlon_-O3_-fomit-frame-pointer2019082720190816
651930416587 0 037320 404 832refgcc_-funroll-loops_-m32_-march=athlon_-O3_-fomit-frame-pointer2019082720190816
667992016539 0 036596 408 832refgcc_-funroll-loops_-m32_-march=k6-3_-O3_-fomit-frame-pointer2019082720190816
681488017943 0 039527 400 832refgcc_-funroll-loops_-m32_-march=k8_-O3_-fomit-frame-pointer2019082720190816
683791618484 0 039547 404 832refgcc_-funroll-loops_-m32_-march=barcelona_-O3_-fomit-frame-pointer2019082720190816
687476016952 0 036915 400 832refgcc_-funroll-loops_-m32_-march=prescott_-O3_-fomit-frame-pointer2019082720190816
702996015460 0 034288 408 832refgcc_-m32_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019082720190816
713969216415 0 036339 400 832refgcc_-funroll-loops_-m32_-march=pentium4_-O3_-fomit-frame-pointer2019082720190816
719052012572 0 031744 408 832refgcc_-m32_-march=core-avx-i_-O3_-fomit-frame-pointer2019082720190816
719529215196 0 033647 400 832refgcc_-m32_-march=nocona_-O3_-fomit-frame-pointer2019082720190816
735487218020 0 038672 408 832refgcc_-funroll-loops_-m32_-O3_-fomit-frame-pointer2019082720190816
740201214327 0 033286 400 832refgcc_-funroll-loops_-m32_-march=i386_-O3_-fomit-frame-pointer2019082720190816
756153215987 0 035423 400 832refgcc_-m32_-march=k8_-O3_-fomit-frame-pointer2019082720190816
765442815196 0 033647 400 832refgcc_-m32_-march=prescott_-O3_-fomit-frame-pointer2019082720190816
765508416539 0 036596 408 832refgcc_-funroll-loops_-m32_-march=k6-2_-O3_-fomit-frame-pointer2019082720190816
770078815460 0 034368 408 832refgcc_-m32_-march=corei7_-O3_-fomit-frame-pointer2019082720190816
771663614741 0 033095 400 832refgcc_-m32_-march=pentium4_-O3_-fomit-frame-pointer2019082720190816
775483215460 0 034352 408 832refgcc_-m32_-march=core2_-O3_-fomit-frame-pointer2019082720190816
778786813951 0 033197 396 832refgcc_-funroll-loops_-m32_-march=athlon_-O2_-fomit-frame-pointer2019082720190816
783824433272 0 035307 404 832refgcc_-m32_-march=barcelona_-O3_-fomit-frame-pointer2019082720190816
785234416105 0 035872 392 832refgcc_-funroll-loops_-m32_-march=prescott_-O_-fomit-frame-pointer2019082720190816
788512415888 0 035394 396 832refgcc_-funroll-loops_-m32_-march=i486_-O3_-fomit-frame-pointer2019082720190816
797686415870 0 035516 392 832refgcc_-funroll-loops_-m32_-march=k8_-O_-fomit-frame-pointer2019082720190816
798054814243 0 033792 392 832refgcc_-funroll-loops_-m32_-march=k8_-O2_-fomit-frame-pointer2019082720190816
800606415033 0 034344 396 832refgcc_-funroll-loops_-m32_-march=i386_-O_-fomit-frame-pointer2019082720190816
802700015737 0 035356 392 832refgcc_-funroll-loops_-m32_-march=pentiumpro_-O_-fomit-frame-pointer2019082720190816
805707619531 0 040838 396 832refgcc_-funroll-loops_-m32_-march=pentiumpro_-O3_-fomit-frame-pointer2019082720190816
806300813964 0 033304 392 832refgcc_-funroll-loops_-m32_-march=prescott_-O2_-fomit-frame-pointer2019082720190816
806645212572 0 031744 408 832refgcc_-m32_-march=corei7-avx_-O3_-fomit-frame-pointer2019082720190816
808358415460 0 034368 408 832refgcc_-m32_-march=core2_-msse4_-O3_-fomit-frame-pointer2019082720190816
812504013964 0 033304 392 832refgcc_-funroll-loops_-m32_-march=nocona_-O2_-fomit-frame-pointer2019082720190816
814139215218 0 033821 400 832refgcc_-funroll-loops_-m32_-march=k6-2_-O_-fomit-frame-pointer2019082720190816
815940014912 0 033656 408 832refgcc_-m32_-O3_-fomit-frame-pointer2019082720190816
819496012572 0 031744 408 832refgcc_-m32_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019082720190816
819832415204 0 034236 396 832refgcc_-funroll-loops_-m32_-march=barcelona_-O2_-fomit-frame-pointer2019082720190816
820525615947 0 035513 400 832refgcc_-funroll-loops_-m32_-O_-fomit-frame-pointer2019082720190816
825959616223 0 035858 396 832refgcc_-m32_-march=pentium-m_-O3_-fomit-frame-pointer2019082720190816
840042815218 0 033821 400 832refgcc_-funroll-loops_-m32_-march=k6-3_-O_-fomit-frame-pointer2019082720190816
841238416105 0 035872 392 832refgcc_-funroll-loops_-m32_-march=nocona_-O_-fomit-frame-pointer2019082720190816
841300415968 0 035317 396 832refgcc_-funroll-loops_-m32_-march=athlon_-O_-fomit-frame-pointer2019082720190816
841453215781 0 035520 392 832refgcc_-funroll-loops_-m32_-march=pentium-m_-O_-fomit-frame-pointer2019082720190816
843027614723 0 033129 400 832refgcc_-funroll-loops_-m32_-march=k6-2_-O2_-fomit-frame-pointer2019082720190816
846064815737 0 035356 392 832refgcc_-funroll-loops_-m32_-march=pentium2_-O_-fomit-frame-pointer2019082720190816
848994415737 0 035356 392 832refgcc_-funroll-loops_-m32_-march=pentium3_-O_-fomit-frame-pointer2019082720190816
859244414016 0 033228 392 832refgcc_-funroll-loops_-m32_-march=pentium4_-O2_-fomit-frame-pointer2019082720190816
861045619531 0 040838 396 832refgcc_-funroll-loops_-m32_-march=pentium2_-O3_-fomit-frame-pointer2019082720190816
863852016016 0 035752 392 832refgcc_-funroll-loops_-m32_-march=pentium4_-O_-fomit-frame-pointer2019082720190816
871636014024 0 033008 392 832refgcc_-funroll-loops_-m32_-march=i486_-O2_-fomit-frame-pointer2019082720190816
871879215099 0 034082 396 832refgcc_-m32_-march=pentium2_-O3_-fomit-frame-pointer2019082720190816
875044414723 0 033129 400 832refgcc_-funroll-loops_-m32_-march=k6_-O2_-fomit-frame-pointer2019082720190816
876934815752 0 034500 396 832refgcc_-funroll-loops_-m32_-march=barcelona_-O_-fomit-frame-pointer2019082720190816
883145219863 0 041526 396 832refgcc_-funroll-loops_-m32_-march=pentium-m_-O3_-fomit-frame-pointer2019082720190816
886636812503 0 030014 400 832refgcc_-m32_-march=i386_-O3_-fomit-frame-pointer2019082720190816
898994814723 0 033129 400 832refgcc_-funroll-loops_-m32_-march=k6-3_-O2_-fomit-frame-pointer2019082720190816
908446815099 0 034082 396 832refgcc_-m32_-march=pentiumpro_-O3_-fomit-frame-pointer2019082720190816
909635615025 0 034593 400 832refgcc_-funroll-loops_-m32_-march=pentium-mmx_-O_-fomit-frame-pointer2019082720190816
912519218931 0 040446 396 832refgcc_-funroll-loops_-m32_-march=pentium3_-O3_-fomit-frame-pointer2019082720190816
912660815218 0 033821 400 832refgcc_-funroll-loops_-m32_-march=k6_-O_-fomit-frame-pointer2019082720190816
915650414211 0 033552 392 832refgcc_-funroll-loops_-m32_-march=pentium2_-O2_-fomit-frame-pointer2019082720190816
926312813579 0 032540 396 832refgcc_-funroll-loops_-m32_-march=i386_-O2_-fomit-frame-pointer2019082720190816
931576814615 0 032940 408 832refgcc_-m32_-march=k6-2_-O3_-fomit-frame-pointer2019082720190816
939439613323 0 032510 396 832refgcc_-m32_-march=pentium3_-O3_-fomit-frame-pointer2019082720190816
942034014211 0 033552 392 832refgcc_-funroll-loops_-m32_-march=pentium3_-O2_-fomit-frame-pointer2019082720190816
946977614211 0 033552 392 832refgcc_-funroll-loops_-m32_-march=pentiumpro_-O2_-fomit-frame-pointer2019082720190816
951999214735 0 035160 392 832refgcc_-funroll-loops_-m32_-march=pentium-m_-O2_-fomit-frame-pointer2019082720190816
957566414615 0 032940 408 832refgcc_-m32_-march=k6-3_-O3_-fomit-frame-pointer2019082720190816
963035215652 0 035003 400 832refgcc_-m32_-march=pentium-mmx_-O3_-fomit-frame-pointer2019082720190816
966369614615 0 032748 408 832refgcc_-m32_-march=k6_-O3_-fomit-frame-pointer2019082720190816
978317215025 0 034593 400 832refgcc_-funroll-loops_-m32_-march=pentium_-O_-fomit-frame-pointer2019082720190816
988366414044 0 032050 396 832refgcc_-m32_-march=i486_-O3_-fomit-frame-pointer2019082720190816
994612815652 0 035003 400 832refgcc_-m32_-march=pentium_-O3_-fomit-frame-pointer2019082720190816
995868417816 0 038703 400 832refgcc_-funroll-loops_-m32_-march=pentium_-O3_-fomit-frame-pointer2019082720190816
1017056017816 0 038703 400 832refgcc_-funroll-loops_-m32_-march=pentium-mmx_-O3_-fomit-frame-pointer2019082720190816
106362368349 0 024569 400 832refgcc_-m32_-march=core2_-msse4_-O2_-fomit-frame-pointer2019082720190816
109451128349 0 024585 400 832refgcc_-m32_-march=core2_-O2_-fomit-frame-pointer2019082720190816
109889208349 0 024553 400 832refgcc_-m32_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019082720190816
110472447859 0 023633 396 832refgcc_-m32_-march=athlon_-O2_-fomit-frame-pointer2019082720190816
111559127976 0 023541 396 832refgcc_-m32_-march=athlon_-O_-fomit-frame-pointer2019082720190816
111862607655 0 023384 392 832refgcc_-m32_-march=pentium4_-O2_-fomit-frame-pointer2019082720190816
1125616416090 0 022976 396 832refgcc_-m32_-march=barcelona_-O_-fomit-frame-pointer2019082720190816
112853448349 0 024569 400 832refgcc_-m32_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019082720190816
1131902814628 0 034481 396 832refgcc_-funroll-loops_-m32_-march=pentium_-O2_-fomit-frame-pointer2019082720190816
113191528349 0 024569 400 832refgcc_-m32_-march=corei7_-O2_-fomit-frame-pointer2019082720190816
113475327675 0 023412 392 832refgcc_-m32_-march=nocona_-O2_-fomit-frame-pointer2019082720190816
1140392018658 0 025088 396 832refgcc_-m32_-march=barcelona_-O2_-fomit-frame-pointer2019082720190816
114518447675 0 023412 392 832refgcc_-m32_-march=prescott_-O2_-fomit-frame-pointer2019082720190816
115746288349 0 024553 400 832refgcc_-m32_-march=core-avx-i_-O2_-fomit-frame-pointer2019082720190816
1159736014628 0 034481 396 832refgcc_-funroll-loops_-m32_-march=pentium-mmx_-O2_-fomit-frame-pointer2019082720190816
116292888153 0 024021 400 832refgcc_-m32_-O_-fomit-frame-pointer2019082720190816
117573886757 0 021680 388 832refgcc_-funroll-loops_-m32_-march=i386_-Os_-fomit-frame-pointer2019082720190816
118316688070 0 024384 392 832refgcc_-m32_-march=k8_-O2_-fomit-frame-pointer2019082720190816
119345527577 0 023200 396 832refgcc_-m32_-march=i386_-O2_-fomit-frame-pointer2019082720190816
119576208349 0 024553 400 832refgcc_-m32_-march=corei7-avx_-O2_-fomit-frame-pointer2019082720190816
119954607951 0 023716 392 832refgcc_-m32_-march=k8_-O_-fomit-frame-pointer2019082720190816
120113766748 0 021664 388 832refgcc_-funroll-loops_-m32_-march=athlon_-Os_-fomit-frame-pointer2019082720190816
120795006764 0 021696 388 832refgcc_-m32_-Os_-fomit-frame-pointer2019082720190816
120972248180 0 024228 392 832refgcc_-m32_-march=pentium3_-O2_-fomit-frame-pointer2019082720190816
121269767249 0 022228 388 832refgcc_-funroll-loops_-m32_-march=k6-3_-Os_-fomit-frame-pointer2019082720190816
121775087135 0 022052 388 832refgcc_-m32_-march=corei7_-Os_-fomit-frame-pointer2019082720190816
121836567129 0 022036 388 832refgcc_-m32_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019082720190816
122605166764 0 021696 388 832refgcc_-m32_-march=athlon_-Os_-fomit-frame-pointer2019082720190816
122640168180 0 024228 392 832refgcc_-m32_-march=pentium2_-O2_-fomit-frame-pointer2019082720190816
122765766773 0 021712 388 832refgcc_-m32_-march=i386_-Os_-fomit-frame-pointer2019082720190816
122879368604 0 025260 392 832refgcc_-m32_-march=pentium-m_-O2_-fomit-frame-pointer2019082720190816
123798248050 0 023904 392 832refgcc_-m32_-march=nocona_-O_-fomit-frame-pointer2019082720190816
124146526748 0 021664 388 832refgcc_-funroll-loops_-m32_-Os_-fomit-frame-pointer2019082720190816
124273568498 0 023817 400 832refgcc_-m32_-march=k6-2_-O2_-fomit-frame-pointer2019082720190816
124505767249 0 022228 388 832refgcc_-funroll-loops_-m32_-march=k6_-Os_-fomit-frame-pointer2019082720190816
125235167252 0 022124 388 832refgcc_-funroll-loops_-m32_-march=nocona_-Os_-fomit-frame-pointer2019082720190816
125239848283 0 024453 400 832refgcc_-m32_-O2_-fomit-frame-pointer2019082720190816
125410927227 0 022124 388 832refgcc_-funroll-loops_-m32_-march=barcelona_-Os_-fomit-frame-pointer2019082720190816
125534928126 0 024028 392 832refgcc_-m32_-march=pentium4_-O_-fomit-frame-pointer2019082720190816
125865767129 0 022036 388 832refgcc_-m32_-march=corei7-avx_-Os_-fomit-frame-pointer2019082720190816
126500047937 0 023796 392 832refgcc_-m32_-march=pentium-m_-O_-fomit-frame-pointer2019082720190816
126574728176 0 024121 400 832refgcc_-m32_-march=core-avx-i_-O_-fomit-frame-pointer2019082720190816
126819368180 0 024228 392 832refgcc_-m32_-march=pentiumpro_-O2_-fomit-frame-pointer2019082720190816
127064168176 0 024121 400 832refgcc_-m32_-march=corei7_-O_-fomit-frame-pointer2019082720190816
127129287249 0 022228 388 832refgcc_-funroll-loops_-m32_-march=k6-2_-Os_-fomit-frame-pointer2019082720190816
128118488176 0 024121 400 832refgcc_-m32_-march=native_-mtune=native_-O_-fomit-frame-pointer2019082720190816
129081487268 0 022156 388 832refgcc_-m32_-march=nocona_-Os_-fomit-frame-pointer2019082720190816
129494367249 0 022172 388 832refgcc_-funroll-loops_-m32_-march=k8_-Os_-fomit-frame-pointer2019082720190816
129495247135 0 022052 388 832refgcc_-m32_-march=core2_-msse4_-Os_-fomit-frame-pointer2019082720190816
129710206769 0 021696 388 832refgcc_-m32_-march=pentium_-Os_-fomit-frame-pointer2019082720190816
129772287252 0 022124 388 832refgcc_-funroll-loops_-m32_-march=prescott_-Os_-fomit-frame-pointer2019082720190816
130236248176 0 024121 400 832refgcc_-m32_-march=core2_-O_-fomit-frame-pointer2019082720190816
130605847234 0 022140 388 832refgcc_-m32_-march=pentium4_-Os_-fomit-frame-pointer2019082720190816
130840567135 0 022052 388 832refgcc_-m32_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019082720190816
130946886757 0 021680 388 832refgcc_-funroll-loops_-m32_-march=i486_-Os_-fomit-frame-pointer2019082720190816
130977768050 0 023904 392 832refgcc_-m32_-march=prescott_-O_-fomit-frame-pointer2019082720190816
131246967943 0 022860 396 832refgcc_-m32_-march=i486_-O_-fomit-frame-pointer2019082720190816
132005328176 0 024121 400 832refgcc_-m32_-march=core2_-msse4_-O_-fomit-frame-pointer2019082720190816
132709328176 0 024121 400 832refgcc_-m32_-march=corei7-avx_-O_-fomit-frame-pointer2019082720190816
132849007238 0 022140 388 832refgcc_-m32_-march=core2_-Os_-fomit-frame-pointer2019082720190816
132973087268 0 022156 388 832refgcc_-m32_-march=prescott_-Os_-fomit-frame-pointer2019082720190816
134479086769 0 021696 388 832refgcc_-m32_-march=pentium-mmx_-Os_-fomit-frame-pointer2019082720190816
134585767129 0 022036 388 832refgcc_-m32_-march=core-avx-i_-Os_-fomit-frame-pointer2019082720190816
134825486773 0 021712 388 832refgcc_-m32_-march=i486_-Os_-fomit-frame-pointer2019082720190816
135425606751 0 021664 388 832refgcc_-funroll-loops_-m32_-march=pentium-mmx_-Os_-fomit-frame-pointer2019082720190816
135967887217 0 022108 388 832refgcc_-funroll-loops_-m32_-march=pentium4_-Os_-fomit-frame-pointer2019082720190816
135975007254 0 022248 388 832refgcc_-m32_-march=k6_-Os_-fomit-frame-pointer2019082720190816
136074328498 0 023817 400 832refgcc_-m32_-march=k6-3_-O2_-fomit-frame-pointer2019082720190816
136243246751 0 021664 388 832refgcc_-funroll-loops_-m32_-march=pentium_-Os_-fomit-frame-pointer2019082720190816
136777848176 0 024121 400 832refgcc_-m32_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019082720190816
136905488276 0 023277 400 832refgcc_-m32_-march=k6-2_-O_-fomit-frame-pointer2019082720190816
137221608147 0 024469 396 832refgcc_-m32_-march=pentium-mmx_-O2_-fomit-frame-pointer2019082720190816
137609808498 0 023817 400 832refgcc_-m32_-march=k6_-O2_-fomit-frame-pointer2019082720190816
137944607941 0 023821 400 832refgcc_-m32_-march=pentium_-O_-fomit-frame-pointer2019082720190816
1385415214490 0 022156 388 832refgcc_-m32_-march=barcelona_-Os_-fomit-frame-pointer2019082720190816
139262367941 0 023821 400 832refgcc_-m32_-march=pentium-mmx_-O_-fomit-frame-pointer2019082720190816
139779327962 0 023772 392 832refgcc_-m32_-march=pentiumpro_-O_-fomit-frame-pointer2019082720190816
140427447262 0 022204 388 832refgcc_-m32_-march=k8_-Os_-fomit-frame-pointer2019082720190816
140557847254 0 022248 388 832refgcc_-m32_-march=k6-3_-Os_-fomit-frame-pointer2019082720190816
140598647962 0 023772 392 832refgcc_-m32_-march=pentium3_-O_-fomit-frame-pointer2019082720190816
140713726750 0 021620 388 832refgcc_-funroll-loops_-m32_-march=pentiumpro_-Os_-fomit-frame-pointer2019082720190816
141541368147 0 024469 396 832refgcc_-m32_-march=pentium_-O2_-fomit-frame-pointer2019082720190816
141545806750 0 021620 388 832refgcc_-funroll-loops_-m32_-march=pentium3_-Os_-fomit-frame-pointer2019082720190816
141553407962 0 023772 392 832refgcc_-m32_-march=pentium2_-O_-fomit-frame-pointer2019082720190816
142671367222 0 022064 388 832refgcc_-funroll-loops_-m32_-march=pentium-m_-Os_-fomit-frame-pointer2019082720190816
143937847254 0 022248 388 832refgcc_-m32_-march=k6-2_-Os_-fomit-frame-pointer2019082720190816
144036448290 0 023796 392 832refgcc_-m32_-march=i486_-O2_-fomit-frame-pointer2019082720190816
144301086750 0 021620 388 832refgcc_-funroll-loops_-m32_-march=pentium2_-Os_-fomit-frame-pointer2019082720190816
144481528276 0 023277 400 832refgcc_-m32_-march=k6-3_-O_-fomit-frame-pointer2019082720190816
146576406752 0 021636 388 832refgcc_-m32_-march=pentiumpro_-Os_-fomit-frame-pointer2019082720190816
146998007226 0 022096 388 832refgcc_-m32_-march=pentium-m_-Os_-fomit-frame-pointer2019082720190816
148308567932 0 023616 396 832refgcc_-m32_-march=i386_-O_-fomit-frame-pointer2019082720190816
148995128276 0 023277 400 832refgcc_-m32_-march=k6_-O_-fomit-frame-pointer2019082720190816
154219166752 0 021636 388 832refgcc_-m32_-march=pentium3_-Os_-fomit-frame-pointer2019082720190816
155856646752 0 021636 388 832refgcc_-m32_-march=pentium2_-Os_-fomit-frame-pointer2019082720190816

Test failure

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

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
g++ -m32 -march=core-avx2 -O2 -fomit-frame-pointer avx2
g++ -m32 -march=core-avx2 -O -fomit-frame-pointer avx2
g++ -m32 -march=core-avx2 -Os -fomit-frame-pointer avx2
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

Compiler output

Implementation: avx2
Security model: unknown
Compiler: g++ -m32 -O2 -fomit-frame-pointer
MinalpherCore.cpp: MinalpherCore.cpp: In function 'void minalpher_core_single_block(const __m256i&, __m256i&, __m256i&)':
MinalpherCore.cpp: MinalpherCore.cpp:85:138: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
MinalpherCore.cpp: const __m256i ymmMask = _mm256_set_epi32(0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F);
MinalpherCore.cpp: ^
MinalpherCore.cpp: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
MinalpherCore.cpp: from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:48,
MinalpherCore.cpp: from define.h:47,
MinalpherCore.cpp: from MinalpherCore.cpp:33:
MinalpherCore.cpp: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h: In function 'void __static_initialization_and_destruction_0(int, int)':
MinalpherCore.cpp: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:1277:1: error: inlining failed in call to always_inline '__m256i _mm256_set_epi8(char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char)': target specific option mismatch
MinalpherCore.cpp: _mm256_set_epi8 (char __q31, char __q30, char __q29, char __q28,
MinalpherCore.cpp: ^~~~~~~~~~~~~~~
MinalpherCore.cpp: MinalpherCore.cpp:705:55: note: called from here
MinalpherCore.cpp: const __m256i ShuffleQuadrupleBlock3 = _mm256_set_epi8(0xc, 0xd, 0x9, 0x8, 0xf, 0xe, 0xb, 0xa, 0x4, 0x5, 0x1, 0x0, 0x7, 0x6, 0x3, 0x2, 0xc, 0xd, 0x9, 0x8, 0xf, 0xe, 0xb, 0xa, 0x4, 0x5, 0x1, 0x0, 0x7, 0x6, 0x3, 0x2);
MinalpherCore.cpp: ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MinalpherCore.cpp: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
MinalpherCore.cpp: from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:48,
MinalpherCore.cpp: from define.h:47,
MinalpherCore.cpp: from MinalpherCore.cpp:33:
MinalpherCore.cpp: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:1277:1: error: inlining failed in call to always_inline '__m256i _mm256_set_epi8(char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char)': target specific option mismatch
MinalpherCore.cpp: _mm256_set_epi8 (char __q31, char __q30, char __q29, char __q28,
MinalpherCore.cpp: ^~~~~~~~~~~~~~~
MinalpherCore.cpp: MinalpherCore.cpp:704:55: note: called from here
MinalpherCore.cpp: const __m256i ShuffleQuadrupleBlock2 = _mm256_set_epi8(0x9, 0x8, 0xf, 0xe, 0xd, 0xc, 0xa, 0xb, 0x1, 0x0, 0x7, 0x6, 0x5, 0x4, 0x2, 0x3, 0x9, 0x8, 0xf, 0xe, 0xd, 0xc, 0xa, 0xb, 0x1, 0x0, 0x7, 0x6, 0x5, 0x4, 0x2, 0x3);
MinalpherCore.cpp: ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MinalpherCore.cpp: ...

Number of similar (compiler,implementation) pairs: 84, namely:
CompilerImplementations
g++ -m32 -O2 -fomit-frame-pointer avx2
g++ -m32 -O3 -fomit-frame-pointer avx2
g++ -m32 -O -fomit-frame-pointer avx2
g++ -m32 -Os -fomit-frame-pointer avx2
g++ -m32 -march=athlon -O2 -fomit-frame-pointer avx2
g++ -m32 -march=athlon -O3 -fomit-frame-pointer avx2
g++ -m32 -march=athlon -O -fomit-frame-pointer avx2
g++ -m32 -march=athlon -Os -fomit-frame-pointer avx2
g++ -m32 -march=core2 -O2 -fomit-frame-pointer avx2
g++ -m32 -march=core2 -O3 -fomit-frame-pointer avx2
g++ -m32 -march=core2 -O -fomit-frame-pointer avx2
g++ -m32 -march=core2 -Os -fomit-frame-pointer avx2
g++ -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer avx2
g++ -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer avx2
g++ -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer avx2
g++ -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer avx2
g++ -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer avx2
g++ -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer avx2
g++ -m32 -march=core2 -msse4 -O -fomit-frame-pointer avx2
g++ -m32 -march=core2 -msse4 -Os -fomit-frame-pointer avx2
g++ -m32 -march=corei7 -O2 -fomit-frame-pointer avx2
g++ -m32 -march=corei7 -O3 -fomit-frame-pointer avx2
g++ -m32 -march=corei7 -O -fomit-frame-pointer avx2
g++ -m32 -march=corei7 -Os -fomit-frame-pointer avx2
g++ -m32 -march=i386 -O2 -fomit-frame-pointer avx2
g++ -m32 -march=i386 -O3 -fomit-frame-pointer avx2
g++ -m32 -march=i386 -O -fomit-frame-pointer avx2
g++ -m32 -march=i386 -Os -fomit-frame-pointer avx2
g++ -m32 -march=i486 -O2 -fomit-frame-pointer avx2
g++ -m32 -march=i486 -O3 -fomit-frame-pointer avx2
g++ -m32 -march=i486 -O -fomit-frame-pointer avx2
g++ -m32 -march=i486 -Os -fomit-frame-pointer avx2
g++ -m32 -march=k6-2 -O2 -fomit-frame-pointer avx2
g++ -m32 -march=k6-2 -O3 -fomit-frame-pointer avx2
g++ -m32 -march=k6-2 -O -fomit-frame-pointer avx2
g++ -m32 -march=k6-2 -Os -fomit-frame-pointer avx2
g++ -m32 -march=k6-3 -O2 -fomit-frame-pointer avx2
g++ -m32 -march=k6-3 -O3 -fomit-frame-pointer avx2
g++ -m32 -march=k6-3 -O -fomit-frame-pointer avx2
g++ -m32 -march=k6-3 -Os -fomit-frame-pointer avx2
g++ -m32 -march=k6 -O2 -fomit-frame-pointer avx2
g++ -m32 -march=k6 -O3 -fomit-frame-pointer avx2
g++ -m32 -march=k6 -O -fomit-frame-pointer avx2
g++ -m32 -march=k6 -Os -fomit-frame-pointer avx2
g++ -m32 -march=k8 -O2 -fomit-frame-pointer avx2
g++ -m32 -march=k8 -O3 -fomit-frame-pointer avx2
g++ -m32 -march=k8 -O -fomit-frame-pointer avx2
g++ -m32 -march=k8 -Os -fomit-frame-pointer avx2
g++ -m32 -march=nocona -O2 -fomit-frame-pointer avx2
g++ -m32 -march=nocona -O3 -fomit-frame-pointer avx2
g++ -m32 -march=nocona -O -fomit-frame-pointer avx2
g++ -m32 -march=nocona -Os -fomit-frame-pointer avx2
g++ -m32 -march=pentium-m -O2 -fomit-frame-pointer avx2
g++ -m32 -march=pentium-m -O3 -fomit-frame-pointer avx2
g++ -m32 -march=pentium-m -O -fomit-frame-pointer avx2
g++ -m32 -march=pentium-m -Os -fomit-frame-pointer avx2
g++ -m32 -march=pentium-mmx -O2 -fomit-frame-pointer avx2
g++ -m32 -march=pentium-mmx -O3 -fomit-frame-pointer avx2
g++ -m32 -march=pentium-mmx -O -fomit-frame-pointer avx2
g++ -m32 -march=pentium-mmx -Os -fomit-frame-pointer avx2
g++ -m32 -march=pentium2 -O2 -fomit-frame-pointer avx2
g++ -m32 -march=pentium2 -O3 -fomit-frame-pointer avx2
g++ -m32 -march=pentium2 -O -fomit-frame-pointer avx2
g++ -m32 -march=pentium2 -Os -fomit-frame-pointer avx2
g++ -m32 -march=pentium3 -O2 -fomit-frame-pointer avx2
g++ -m32 -march=pentium3 -O3 -fomit-frame-pointer avx2
g++ -m32 -march=pentium3 -O -fomit-frame-pointer avx2
g++ -m32 -march=pentium3 -Os -fomit-frame-pointer avx2
g++ -m32 -march=pentium4 -O2 -fomit-frame-pointer avx2
g++ -m32 -march=pentium4 -O3 -fomit-frame-pointer avx2
g++ -m32 -march=pentium4 -O -fomit-frame-pointer avx2
g++ -m32 -march=pentium4 -Os -fomit-frame-pointer avx2
g++ -m32 -march=pentium -O2 -fomit-frame-pointer avx2
g++ -m32 -march=pentium -O3 -fomit-frame-pointer avx2
g++ -m32 -march=pentium -O -fomit-frame-pointer avx2
g++ -m32 -march=pentium -Os -fomit-frame-pointer avx2
g++ -m32 -march=pentiumpro -O2 -fomit-frame-pointer avx2
g++ -m32 -march=pentiumpro -O3 -fomit-frame-pointer avx2
g++ -m32 -march=pentiumpro -O -fomit-frame-pointer avx2
g++ -m32 -march=pentiumpro -Os -fomit-frame-pointer avx2
g++ -m32 -march=prescott -O2 -fomit-frame-pointer avx2
g++ -m32 -march=prescott -O3 -fomit-frame-pointer avx2
g++ -m32 -march=prescott -O -fomit-frame-pointer avx2
g++ -m32 -march=prescott -Os -fomit-frame-pointer avx2

Compiler output

Implementation: avx2
Security model: unknown
Compiler: g++ -m32 -march=barcelona -O2 -fomit-frame-pointer
MinalpherCore.cpp: MinalpherCore.cpp: In function 'void minalpher_core_single_block(const __m256i&, __m256i&, __m256i&)':
MinalpherCore.cpp: MinalpherCore.cpp:85:138: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
MinalpherCore.cpp: const __m256i ymmMask = _mm256_set_epi32(0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F);
MinalpherCore.cpp: ^
MinalpherCore.cpp: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
MinalpherCore.cpp: from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:48,
MinalpherCore.cpp: from define.h:47,
MinalpherCore.cpp: from MinalpherCore.cpp:33:
MinalpherCore.cpp: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h: In function 'void __static_initialization_and_destruction_0(int, int)':
MinalpherCore.cpp: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:1277:1: error: inlining failed in call to always_inline '__m256i _mm256_set_epi8(char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char)': target specific option mismatch
MinalpherCore.cpp: _mm256_set_epi8 (char __q31, char __q30, char __q29, char __q28,
MinalpherCore.cpp: ^~~~~~~~~~~~~~~
MinalpherCore.cpp: MinalpherCore.cpp:705:55: note: called from here
MinalpherCore.cpp: const __m256i ShuffleQuadrupleBlock3 = _mm256_set_epi8(0xc, 0xd, 0x9, 0x8, 0xf, 0xe, 0xb, 0xa, 0x4, 0x5, 0x1, 0x0, 0x7, 0x6, 0x3, 0x2, 0xc, 0xd, 0x9, 0x8, 0xf, 0xe, 0xb, 0xa, 0x4, 0x5, 0x1, 0x0, 0x7, 0x6, 0x3, 0x2);
MinalpherCore.cpp: ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MinalpherCore.cpp: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
MinalpherCore.cpp: from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:48,
MinalpherCore.cpp: from define.h:47,
MinalpherCore.cpp: from MinalpherCore.cpp:33:
MinalpherCore.cpp: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:1277:1: error: inlining failed in call to always_inline '__m256i _mm256_set_epi8(char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char)': target specific option mismatch
MinalpherCore.cpp: _mm256_set_epi8 (char __q31, char __q30, char __q29, char __q28,
MinalpherCore.cpp: ^~~~~~~~~~~~~~~
MinalpherCore.cpp: MinalpherCore.cpp:704:55: note: called from here
MinalpherCore.cpp: const __m256i ShuffleQuadrupleBlock2 = _mm256_set_epi8(0x9, 0x8, 0xf, 0xe, 0xd, 0xc, 0xa, 0xb, 0x1, 0x0, 0x7, 0x6, 0x5, 0x4, 0x2, 0x3, 0x9, 0x8, 0xf, 0xe, 0xd, 0xc, 0xa, 0xb, 0x1, 0x0, 0x7, 0x6, 0x5, 0x4, 0x2, 0x3);
MinalpherCore.cpp: ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MinalpherCore.cpp: ...
MinalpherCore.cpp: MinalpherCore.cpp: In function 'void minalpher_core_single_block(const __m256i&, __m256i&, __m256i&)':
MinalpherCore.cpp: MinalpherCore.cpp:85:138: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
MinalpherCore.cpp: const __m256i ymmMask = _mm256_set_epi32(0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F);
MinalpherCore.cpp: ^
MinalpherCore.cpp: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
MinalpherCore.cpp: from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:48,
MinalpherCore.cpp: from define.h:47,
MinalpherCore.cpp: from MinalpherCore.cpp:33:
MinalpherCore.cpp: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h: In function 'void __static_initialization_and_destruction_0(int, int)':
MinalpherCore.cpp: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:1277:1: error: inlining failed in call to always_inline '__m256i _mm256_set_epi8(char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char)': target specific option mismatch
MinalpherCore.cpp: _mm256_set_epi8 (char __q31, char __q30, char __q29, char __q28,
MinalpherCore.cpp: ^~~~~~~~~~~~~~~
MinalpherCore.cpp: MinalpherCore.cpp:705:55: note: called from here
MinalpherCore.cpp: const __m256i ShuffleQuadrupleBlock3 = _mm256_set_epi8(0xc, 0xd, 0x9, 0x8, 0xf, 0xe, 0xb, 0xa, 0x4, 0x5, 0x1, 0x0, 0x7, 0x6, 0x3, 0x2, 0xc, 0xd, 0x9, 0x8, 0xf, 0xe, 0xb, 0xa, 0x4, 0x5, 0x1, 0x0, 0x7, 0x6, 0x3, 0x2);
MinalpherCore.cpp: ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MinalpherCore.cpp: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
MinalpherCore.cpp: from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:48,
MinalpherCore.cpp: from define.h:47,
MinalpherCore.cpp: from MinalpherCore.cpp:33:
MinalpherCore.cpp: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:1277:1: error: inlining failed in call to always_inline '__m256i _mm256_set_epi8(char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char)': target specific option mismatch
MinalpherCore.cpp: _mm256_set_epi8 (char __q31, char __q30, char __q29, char __q28,
MinalpherCore.cpp: ^~~~~~~~~~~~~~~
MinalpherCore.cpp: MinalpherCore.cpp:704:55: note: called from here
MinalpherCore.cpp: const __m256i ShuffleQuadrupleBlock2 = _mm256_set_epi8(0x9, 0x8, 0xf, 0xe, 0xd, 0xc, 0xa, 0xb, 0x1, 0x0, 0x7, 0x6, 0x5, 0x4, 0x2, 0x3, 0x9, 0x8, 0xf, 0xe, 0xd, 0xc, 0xa, 0xb, 0x1, 0x0, 0x7, 0x6, 0x5, 0x4, 0x2, 0x3);
MinalpherCore.cpp: ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MinalpherCore.cpp: ...

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

Compiler output

Implementation: avx2
Security model: unknown
Compiler: g++ -m32 -march=core-avx-i -O2 -fomit-frame-pointer
MinalpherCore.cpp: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
MinalpherCore.cpp: from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:48,
MinalpherCore.cpp: from define.h:47,
MinalpherCore.cpp: from MinalpherCore.cpp:33:
MinalpherCore.cpp: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h: In function 'void minalpher_core_single_block(const __m256i&, __m256i&, __m256i&)':
MinalpherCore.cpp: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:588:1: error: inlining failed in call to always_inline '__m256i _mm256_shuffle_epi8(__m256i, __m256i)': target specific option mismatch
MinalpherCore.cpp: _mm256_shuffle_epi8 (__m256i __X, __m256i __Y)
MinalpherCore.cpp: ^~~~~~~~~~~~~~~~~~~
MinalpherCore.cpp: MinalpherCore.cpp:150:30: note: called from here
MinalpherCore.cpp: ymm1_ = _mm256_shuffle_epi8(ymm1, ShuffleSingleBlock1);
MinalpherCore.cpp: ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
MinalpherCore.cpp: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
MinalpherCore.cpp: from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:48,
MinalpherCore.cpp: from define.h:47,
MinalpherCore.cpp: from MinalpherCore.cpp:33:
MinalpherCore.cpp: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:588:1: error: inlining failed in call to always_inline '__m256i _mm256_shuffle_epi8(__m256i, __m256i)': target specific option mismatch
MinalpherCore.cpp: _mm256_shuffle_epi8 (__m256i __X, __m256i __Y)
MinalpherCore.cpp: ^~~~~~~~~~~~~~~~~~~
MinalpherCore.cpp: MinalpherCore.cpp:149:9: note: called from here
MinalpherCore.cpp: ymm1 = _mm256_shuffle_epi8(ymmSbox, ymm1);
MinalpherCore.cpp: ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MinalpherCore.cpp: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
MinalpherCore.cpp: from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:48,
MinalpherCore.cpp: from define.h:47,
MinalpherCore.cpp: from MinalpherCore.cpp:33:
MinalpherCore.cpp: ...

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