Implementation notes: x86, gpu, crypto_core/invsntrup761

Computer: gpu
Architecture: x86
CPU ID: GenuineIntel-000206d7-bfebfbff
SUPERCOP version: 20190816
Operation: crypto_core
Primitive: invsntrup761
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
141070242442 0 018508 404 768refgcc_-m32_-march=core-avx-i_-O3_-fomit-frame-pointer2019082120190816
142190642442 0 018508 404 768refgcc_-m32_-march=corei7-avx_-O3_-fomit-frame-pointer2019082120190816
144509262442 0 018508 404 768refgcc_-m32_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019082120190816
162296482565 0 018368 404 768refgcc_-m32_-march=core2_-msse4_-O3_-fomit-frame-pointer2019082120190816
164593202565 0 018368 404 768refgcc_-m32_-march=corei7_-O3_-fomit-frame-pointer2019082120190816
165965522565 0 018316 404 768refgcc_-m32_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019082120190816
224439493023 0 018828 404 768refgcc_-m32_-march=core2_-O3_-fomit-frame-pointer2019082120190816
226279927347 0 026404 404 768refgcc_-funroll-loops_-m32_-march=barcelona_-O3_-fomit-frame-pointer2019082220190816
228566976477 0 022648 404 768refgcc_-m32_-march=k8_-O3_-fomit-frame-pointer2019082120190816
229905077246 0 025592 404 768refgcc_-funroll-loops_-m32_-march=k8_-O3_-fomit-frame-pointer2019082220190816
2313214413172 0 023220 404 768refgcc_-m32_-march=barcelona_-O3_-fomit-frame-pointer2019082120190816
241167582774 0 018244 404 768refgcc_-m32_-march=prescott_-O3_-fomit-frame-pointer2019082120190816
243010643376 0 020248 404 768refgcc_-funroll-loops_-m32_-march=prescott_-O3_-fomit-frame-pointer2019082220190816
244125953376 0 020248 404 768refgcc_-funroll-loops_-m32_-march=nocona_-O3_-fomit-frame-pointer2019082220190816
248303743562 0 022383 400 768refgcc_-funroll-loops_-m32_-march=pentium-m_-O3_-fomit-frame-pointer2019082220190816
252865032774 0 018244 404 768refgcc_-m32_-march=nocona_-O3_-fomit-frame-pointer2019082120190816
262398542556 0 018915 400 768refgcc_-m32_-march=pentium-m_-O3_-fomit-frame-pointer2019082120190816
263636632812 0 018224 404 768refgcc_-m32_-march=pentium4_-O3_-fomit-frame-pointer2019082120190816
268663263718 0 020548 404 768refgcc_-funroll-loops_-m32_-march=pentium4_-O3_-fomit-frame-pointer2019082220190816
462559641122 0 016824 404 768refgcc_-m32_-O3_-fomit-frame-pointer2019082120190816
490239081216 0 017348 404 768refgcc_-m32_-march=k6_-O3_-fomit-frame-pointer2019082120190816
495411531424 0 017748 404 768refgcc_-m32_-march=k6-2_-O3_-fomit-frame-pointer2019082120190816
499334522700 0 020300 404 768refgcc_-funroll-loops_-m32_-O3_-fomit-frame-pointer2019082220190816
509042333306 0 021352 404 768refgcc_-funroll-loops_-m32_-march=k6-2_-O3_-fomit-frame-pointer2019082220190816
521500771084 0 016672 404 768refgcc_-m32_-march=athlon_-O3_-fomit-frame-pointer2019082120190816
524529241424 0 017748 404 768refgcc_-m32_-march=k6-3_-O3_-fomit-frame-pointer2019082120190816
532074271264 0 017411 400 768refgcc_-m32_-march=pentium3_-O3_-fomit-frame-pointer2019082120190816
532555381264 0 017203 400 768refgcc_-m32_-march=pentium2_-O3_-fomit-frame-pointer2019082120190816
534464631174 0 014349 396 768refgcc_-m32_-march=core2_-O2_-fomit-frame-pointer2019082120190816
536485181174 0 014333 396 768refgcc_-m32_-march=core2_-msse4_-O2_-fomit-frame-pointer2019082120190816
537241353564 0 019817 396 768refgcc_-funroll-loops_-m32_-march=k8_-O2_-fomit-frame-pointer2019082220190816
537638453306 0 021352 404 768refgcc_-funroll-loops_-m32_-march=k6-3_-O3_-fomit-frame-pointer2019082220190816
537866472355 0 020144 404 768refgcc_-funroll-loops_-m32_-march=athlon_-O3_-fomit-frame-pointer2019082220190816
538489261174 0 014317 396 768refgcc_-m32_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019082120190816
538997552367 0 021075 400 768refgcc_-funroll-loops_-m32_-march=pentium2_-O3_-fomit-frame-pointer2019082220190816
541104251174 0 014333 396 768refgcc_-m32_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019082120190816
542403441174 0 014317 396 768refgcc_-m32_-march=corei7-avx_-O2_-fomit-frame-pointer2019082120190816
543095191174 0 014317 396 768refgcc_-m32_-march=core-avx-i_-O2_-fomit-frame-pointer2019082120190816
545432402367 0 021075 400 768refgcc_-funroll-loops_-m32_-march=pentiumpro_-O3_-fomit-frame-pointer2019082220190816
547844521174 0 014333 396 768refgcc_-m32_-march=corei7_-O2_-fomit-frame-pointer2019082120190816
548929623505 0 019993 396 768refgcc_-funroll-loops_-m32_-O2_-fomit-frame-pointer2019082220190816
554110121133 0 014185 396 768refgcc_-m32_-march=k8_-O2_-fomit-frame-pointer2019082120190816
554328442508 0 015025 396 768refgcc_-m32_-march=barcelona_-O2_-fomit-frame-pointer2019082120190816
557448041174 0 014329 396 768refgcc_-m32_-O2_-fomit-frame-pointer2019082120190816
563835092367 0 021283 400 768refgcc_-funroll-loops_-m32_-march=pentium3_-O3_-fomit-frame-pointer2019082220190816
566224161000 0 013765 396 768refgcc_-m32_-march=corei7_-O_-fomit-frame-pointer2019082120190816
568666671000 0 013765 396 768refgcc_-m32_-march=core2_-msse4_-O_-fomit-frame-pointer2019082120190816
569362441000 0 013741 396 768refgcc_-m32_-O_-fomit-frame-pointer2019082120190816
571009722619 0 019041 396 768refgcc_-funroll-loops_-m32_-march=k6-2_-O_-fomit-frame-pointer2019082220190816
575361653613 0 020621 396 768refgcc_-funroll-loops_-m32_-march=barcelona_-O2_-fomit-frame-pointer2019082220190816
576089811264 0 017203 400 768refgcc_-m32_-march=pentiumpro_-O3_-fomit-frame-pointer2019082220190816
581225462619 0 019041 396 768refgcc_-funroll-loops_-m32_-march=k6_-O_-fomit-frame-pointer2019082220190816
581561461000 0 013765 396 768refgcc_-m32_-march=core-avx-i_-O_-fomit-frame-pointer2019082120190816
582475741000 0 013765 396 768refgcc_-m32_-march=native_-mtune=native_-O_-fomit-frame-pointer2019082120190816
584669362878 0 020324 404 768refgcc_-funroll-loops_-m32_-march=k6_-O3_-fomit-frame-pointer2019082220190816
585068801000 0 013765 396 768refgcc_-m32_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019082120190816
585552331212 0 014245 396 768refgcc_-m32_-march=pentiumpro_-O2_-fomit-frame-pointer2019082220190816
586016923435 0 019693 396 768refgcc_-funroll-loops_-m32_-march=athlon_-O2_-fomit-frame-pointer2019082220190816
587033581212 0 014245 396 768refgcc_-m32_-march=pentium2_-O2_-fomit-frame-pointer2019082220190816
587919201000 0 013765 396 768refgcc_-m32_-march=corei7-avx_-O_-fomit-frame-pointer2019082120190816
588280321164 0 013997 396 768refgcc_-m32_-march=athlon_-O2_-fomit-frame-pointer2019082120190816
590179682563 0 019061 396 768refgcc_-funroll-loops_-m32_-march=k8_-O_-fomit-frame-pointer2019082220190816
590566791000 0 013765 396 768refgcc_-m32_-march=core2_-O_-fomit-frame-pointer2019082120190816
59300862968 0 013621 396 768refgcc_-m32_-march=k8_-O_-fomit-frame-pointer2019082120190816
59303370996 0 013853 396 768refgcc_-m32_-march=k6-2_-O_-fomit-frame-pointer2019082120190816
595280162599 0 019009 396 768refgcc_-funroll-loops_-m32_-O_-fomit-frame-pointer2019082220190816
59580504977 0 013485 396 768refgcc_-m32_-march=athlon_-O_-fomit-frame-pointer2019082120190816
595806723362 0 020081 396 768refgcc_-funroll-loops_-m32_-march=pentium2_-O2_-fomit-frame-pointer2019082220190816
596589733358 0 019697 396 768refgcc_-funroll-loops_-m32_-march=k6_-O2_-fomit-frame-pointer2019082220190816
597671012446 0 019525 396 768refgcc_-funroll-loops_-m32_-march=pentium-m_-O_-fomit-frame-pointer2019082220190816
599473083358 0 019697 396 768refgcc_-funroll-loops_-m32_-march=k6-2_-O2_-fomit-frame-pointer2019082220190816
600384403358 0 019697 396 768refgcc_-funroll-loops_-m32_-march=k6-3_-O2_-fomit-frame-pointer2019082220190816
600796201970 0 013845 396 768refgcc_-m32_-march=barcelona_-O_-fomit-frame-pointer2019082120190816
602068953362 0 020893 396 768refgcc_-funroll-loops_-m32_-march=pentium-m_-O2_-fomit-frame-pointer2019082220190816
604477522619 0 019041 396 768refgcc_-funroll-loops_-m32_-march=k6-3_-O_-fomit-frame-pointer2019082220190816
607907443362 0 020081 396 768refgcc_-funroll-loops_-m32_-march=pentium3_-O2_-fomit-frame-pointer2019082220190816
610543711212 0 014601 396 768refgcc_-m32_-march=pentium-m_-O2_-fomit-frame-pointer2019082120190816
611261702446 0 019405 396 768refgcc_-funroll-loops_-m32_-march=pentium3_-O_-fomit-frame-pointer2019082220190816
612407401180 0 014461 396 768refgcc_-m32_-march=k6-3_-O2_-fomit-frame-pointer2019082120190816
61314686984 0 013813 396 768refgcc_-m32_-march=pentium-m_-O_-fomit-frame-pointer2019082120190816
61650589996 0 013853 396 768refgcc_-m32_-march=k6-3_-O_-fomit-frame-pointer2019082120190816
616658482573 0 018861 396 768refgcc_-funroll-loops_-m32_-march=athlon_-O_-fomit-frame-pointer2019082220190816
616972321180 0 014461 396 768refgcc_-m32_-march=k6-2_-O2_-fomit-frame-pointer2019082120190816
619060321212 0 014245 396 768refgcc_-m32_-march=pentium3_-O2_-fomit-frame-pointer2019082120190816
62026808984 0 013773 396 768refgcc_-m32_-march=pentium2_-O_-fomit-frame-pointer2019082220190816
62378508972 0 012889 388 768refgcc_-m32_-march=k6_-Os_-fomit-frame-pointer2019082120190816
62794146921 0 012729 388 768refgcc_-m32_-march=pentium-m_-Os_-fomit-frame-pointer2019082120190816
631694362584 0 019241 396 768refgcc_-funroll-loops_-m32_-march=barcelona_-O_-fomit-frame-pointer2019082220190816
63414224972 0 012889 388 768refgcc_-m32_-march=k6-2_-Os_-fomit-frame-pointer2019082120190816
636601381180 0 014461 396 768refgcc_-m32_-march=k6_-O2_-fomit-frame-pointer2019082120190816
646177083362 0 020081 396 768refgcc_-funroll-loops_-m32_-march=pentiumpro_-O2_-fomit-frame-pointer2019082220190816
649113932446 0 019405 396 768refgcc_-funroll-loops_-m32_-march=pentiumpro_-O_-fomit-frame-pointer2019082220190816
649408001814 0 012761 388 768refgcc_-m32_-march=barcelona_-Os_-fomit-frame-pointer2019082120190816
65836411907 0 012745 388 768refgcc_-m32_-march=corei7_-Os_-fomit-frame-pointer2019082120190816
65983510937 0 012681 388 768refgcc_-funroll-loops_-m32_-march=pentiumpro_-Os_-fomit-frame-pointer2019082220190816
66168644996 0 013853 396 768refgcc_-m32_-march=k6_-O_-fomit-frame-pointer2019082120190816
66322785907 0 012729 388 768refgcc_-m32_-march=i386_-Os_-fomit-frame-pointer2019082220190816
66455116907 0 012745 388 768refgcc_-m32_-march=corei7-avx_-Os_-fomit-frame-pointer2019082120190816
66656848907 0 012745 388 768refgcc_-m32_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019082120190816
66687465907 0 012745 388 768refgcc_-m32_-march=core-avx-i_-Os_-fomit-frame-pointer2019082120190816
66694328907 0 012745 388 768refgcc_-m32_-march=core2_-msse4_-Os_-fomit-frame-pointer2019082120190816
66828920907 0 012761 388 768refgcc_-m32_-march=core2_-Os_-fomit-frame-pointer2019082120190816
66910779907 0 012745 388 768refgcc_-m32_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019082120190816
67176844927 0 012729 388 768refgcc_-funroll-loops_-m32_-march=pentium_-Os_-fomit-frame-pointer2019082220190816
67403004972 0 012889 388 768refgcc_-m32_-march=k6-3_-Os_-fomit-frame-pointer2019082120190816
67511586921 0 012697 388 768refgcc_-m32_-march=pentium3_-Os_-fomit-frame-pointer2019082120190816
67554351907 0 012761 388 768refgcc_-m32_-march=pentium4_-Os_-fomit-frame-pointer2019082120190816
68000493907 0 012729 388 768refgcc_-m32_-march=athlon_-Os_-fomit-frame-pointer2019082120190816
68037099984 0 013773 396 768refgcc_-m32_-march=pentium3_-O_-fomit-frame-pointer2019082120190816
680444972408 0 019197 396 768refgcc_-funroll-loops_-m32_-march=i486_-O2_-fomit-frame-pointer2019082220190816
68341755937 0 012729 388 768refgcc_-funroll-loops_-m32_-march=pentium-m_-Os_-fomit-frame-pointer2019082220190816
68362554986 0 012873 388 768refgcc_-funroll-loops_-m32_-march=k6-3_-Os_-fomit-frame-pointer2019082220190816
683708612446 0 019405 396 768refgcc_-funroll-loops_-m32_-march=pentium2_-O_-fomit-frame-pointer2019082220190816
68453296907 0 012729 388 768refgcc_-m32_-Os_-fomit-frame-pointer2019082120190816
68571772937 0 012681 388 768refgcc_-funroll-loops_-m32_-march=pentium2_-Os_-fomit-frame-pointer2019082220190816
68682112907 0 012761 388 768refgcc_-m32_-march=k8_-Os_-fomit-frame-pointer2019082120190816
68797483984 0 013773 396 768refgcc_-m32_-march=pentiumpro_-O_-fomit-frame-pointer2019082220190816
68867651907 0 012761 388 768refgcc_-m32_-march=prescott_-Os_-fomit-frame-pointer2019082120190816
69499993921 0 012697 388 768refgcc_-m32_-march=pentium2_-Os_-fomit-frame-pointer2019082220190816
69504726921 0 012697 388 768refgcc_-m32_-march=pentiumpro_-Os_-fomit-frame-pointer2019082220190816
69768081927 0 012761 388 768refgcc_-funroll-loops_-m32_-march=pentium4_-Os_-fomit-frame-pointer2019082220190816
69922378927 0 012761 388 768refgcc_-funroll-loops_-m32_-march=nocona_-Os_-fomit-frame-pointer2019082220190816
70057192986 0 012873 388 768refgcc_-funroll-loops_-m32_-march=k6_-Os_-fomit-frame-pointer2019082220190816
70554524907 0 012761 388 768refgcc_-m32_-march=nocona_-Os_-fomit-frame-pointer2019082120190816
70787007937 0 012681 388 768refgcc_-funroll-loops_-m32_-march=pentium3_-Os_-fomit-frame-pointer2019082220190816
71031255986 0 012873 388 768refgcc_-funroll-loops_-m32_-march=k6-2_-Os_-fomit-frame-pointer2019082220190816
71080281927 0 012729 388 768refgcc_-funroll-loops_-m32_-march=i386_-Os_-fomit-frame-pointer2019082220190816
71710419907 0 012729 388 768refgcc_-m32_-march=pentium_-Os_-fomit-frame-pointer2019082220190816
71910040927 0 012729 388 768refgcc_-funroll-loops_-m32_-march=athlon_-Os_-fomit-frame-pointer2019082220190816
72427030907 0 012729 388 768refgcc_-m32_-march=pentium-mmx_-Os_-fomit-frame-pointer2019082220190816
72945588927 0 012729 388 768refgcc_-funroll-loops_-m32_-Os_-fomit-frame-pointer2019082220190816
73317957907 0 012729 388 768refgcc_-m32_-march=i486_-Os_-fomit-frame-pointer2019082220190816
74277531927 0 012777 388 768refgcc_-funroll-loops_-m32_-march=k8_-Os_-fomit-frame-pointer2019082220190816
75024717927 0 012761 388 768refgcc_-funroll-loops_-m32_-march=prescott_-Os_-fomit-frame-pointer2019082220190816
76307112927 0 012729 388 768refgcc_-funroll-loops_-m32_-march=pentium-mmx_-Os_-fomit-frame-pointer2019082220190816
76609440927 0 012729 388 768refgcc_-funroll-loops_-m32_-march=i486_-Os_-fomit-frame-pointer2019082220190816
76712252927 0 012777 388 768refgcc_-funroll-loops_-m32_-march=barcelona_-Os_-fomit-frame-pointer2019082220190816
869096081755 0 019403 400 768refgcc_-funroll-loops_-m32_-march=pentium-mmx_-O3_-fomit-frame-pointer2019082220190816
869149441323 0 017463 400 768refgcc_-m32_-march=pentium_-O3_-fomit-frame-pointer2019082220190816
870701081299 0 014069 396 768refgcc_-m32_-march=nocona_-O2_-fomit-frame-pointer2019082120190816
883702141755 0 019403 400 768refgcc_-funroll-loops_-m32_-march=pentium_-O3_-fomit-frame-pointer2019082220190816
884595101299 0 014069 396 768refgcc_-m32_-march=prescott_-O2_-fomit-frame-pointer2019082120190816
914881771341 0 014445 396 768refgcc_-m32_-march=pentium_-O2_-fomit-frame-pointer2019082220190816
922435111323 0 017463 400 768refgcc_-m32_-march=pentium-mmx_-O3_-fomit-frame-pointer2019082220190816
927650461341 0 014445 396 768refgcc_-m32_-march=pentium-mmx_-O2_-fomit-frame-pointer2019082220190816
927939692632 0 019313 396 768refgcc_-funroll-loops_-m32_-march=prescott_-O_-fomit-frame-pointer2019082220190816
932712802456 0 018697 396 768refgcc_-funroll-loops_-m32_-march=prescott_-O2_-fomit-frame-pointer2019082220190816
939156332632 0 019313 396 768refgcc_-funroll-loops_-m32_-march=nocona_-O_-fomit-frame-pointer2019082220190816
958227722456 0 018697 396 768refgcc_-funroll-loops_-m32_-march=nocona_-O2_-fomit-frame-pointer2019082220190816
982916641378 0 017263 400 768refgcc_-m32_-march=i486_-O3_-fomit-frame-pointer2019082220190816
988115282551 0 019165 396 768refgcc_-funroll-loops_-m32_-march=pentium_-O2_-fomit-frame-pointer2019082220190816
988137451033 0 013809 396 768refgcc_-m32_-march=nocona_-O_-fomit-frame-pointer2019082120190816
988996831041 0 013777 396 768refgcc_-m32_-march=pentium_-O_-fomit-frame-pointer2019082220190816
996797971319 0 015875 400 768refgcc_-m32_-march=i386_-O3_-fomit-frame-pointer2019082220190816
1003686572636 0 019029 396 768refgcc_-funroll-loops_-m32_-march=pentium-mmx_-O_-fomit-frame-pointer2019082220190816
1012545122551 0 019165 396 768refgcc_-funroll-loops_-m32_-march=pentium-mmx_-O2_-fomit-frame-pointer2019082220190816
1022392111326 0 013989 396 768refgcc_-m32_-march=i386_-O2_-fomit-frame-pointer2019082220190816
1042605991033 0 013809 396 768refgcc_-m32_-march=prescott_-O_-fomit-frame-pointer2019082120190816
1045700521587 0 017591 400 768refgcc_-funroll-loops_-m32_-march=i386_-O3_-fomit-frame-pointer2019082220190816
1057354412345 0 018337 396 768refgcc_-funroll-loops_-m32_-march=i386_-O2_-fomit-frame-pointer2019082220190816
1072997121317 0 014069 396 768refgcc_-m32_-march=pentium4_-O2_-fomit-frame-pointer2019082120190816
1073637542756 0 018869 396 768refgcc_-funroll-loops_-m32_-march=pentium4_-O2_-fomit-frame-pointer2019082220190816
1081462261041 0 013777 396 768refgcc_-m32_-march=pentium-mmx_-O_-fomit-frame-pointer2019082220190816
1114003802636 0 019029 396 768refgcc_-funroll-loops_-m32_-march=pentium_-O_-fomit-frame-pointer2019082220190816
1121160121634 0 018959 400 768refgcc_-funroll-loops_-m32_-march=i486_-O3_-fomit-frame-pointer2019082220190816
1134527512663 0 019329 396 768refgcc_-funroll-loops_-m32_-march=pentium4_-O_-fomit-frame-pointer2019082220190816
1142622691396 0 014765 396 768refgcc_-m32_-march=i486_-O2_-fomit-frame-pointer2019082220190816
1150441921043 0 013637 396 768refgcc_-m32_-march=i386_-O_-fomit-frame-pointer2019082220190816
1162836212656 0 018873 396 768refgcc_-funroll-loops_-m32_-march=i386_-O_-fomit-frame-pointer2019082220190816
1199238212663 0 019161 396 768refgcc_-funroll-loops_-m32_-march=i486_-O_-fomit-frame-pointer2019082220190816
1226342951050 0 013909 396 768refgcc_-m32_-march=i486_-O_-fomit-frame-pointer2019082220190816
1231547461044 0 013825 396 768refgcc_-m32_-march=pentium4_-O_-fomit-frame-pointer2019082120190816

Test failure

Implementation: avx
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 avx
gcc -m32 -march=core-avx2 -O -fomit-frame-pointer avx
gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer avx
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: avx
Security model: unknown
Compiler: gcc -funroll-loops -m32 -O2 -fomit-frame-pointer
recip.c: recip.c: In function 'montproduct':
recip.c: recip.c:72:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
recip.c: {
recip.c: ^
recip.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
recip.c: from recip.c:1:
recip.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:808:1: error: inlining failed in call to always_inline '_mm256_sub_epi16': target specific option mismatch
recip.c: _mm256_sub_epi16 (__m256i __A, __m256i __B)
recip.c: ^~~~~~~~~~~~~~~~
recip.c: recip.c:78:10: note: called from here
recip.c: return _mm256_sub_epi16(hi,e);
recip.c: ^~~~~~~~~~~~~~~~~~~~~~
recip.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
recip.c: from recip.c:1:
recip.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:546:1: error: inlining failed in call to always_inline '_mm256_mulhi_epi16': target specific option mismatch
recip.c: _mm256_mulhi_epi16 (__m256i __A, __m256i __B)
recip.c: ^~~~~~~~~~~~~~~~~~
recip.c: recip.c:77:5: note: called from here
recip.c: e = _mm256_mulhi_epi16(d,qvec);
recip.c: ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
recip.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
recip.c: from recip.c:1:
recip.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:1325:1: error: inlining failed in call to always_inline '_mm256_set1_epi16': target specific option mismatch
recip.c: _mm256_set1_epi16 (short __A)
recip.c: ^~~~~~~~~~~~~~~~~
recip.c: ...

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

Compiler output

Implementation: avx
Security model: unknown
Compiler: gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
recip.c: recip.c: In function 'montproduct':
recip.c: recip.c:72:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
recip.c: {
recip.c: ^
recip.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
recip.c: from recip.c:1:
recip.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:808:1: error: inlining failed in call to always_inline '_mm256_sub_epi16': target specific option mismatch
recip.c: _mm256_sub_epi16 (__m256i __A, __m256i __B)
recip.c: ^~~~~~~~~~~~~~~~
recip.c: recip.c:78:10: note: called from here
recip.c: return _mm256_sub_epi16(hi,e);
recip.c: ^~~~~~~~~~~~~~~~~~~~~~
recip.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
recip.c: from recip.c:1:
recip.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:546:1: error: inlining failed in call to always_inline '_mm256_mulhi_epi16': target specific option mismatch
recip.c: _mm256_mulhi_epi16 (__m256i __A, __m256i __B)
recip.c: ^~~~~~~~~~~~~~~~~~
recip.c: recip.c:77:5: note: called from here
recip.c: e = _mm256_mulhi_epi16(d,qvec);
recip.c: ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
recip.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
recip.c: from recip.c:1:
recip.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:1325:1: error: inlining failed in call to always_inline '_mm256_set1_epi16': target specific option mismatch
recip.c: _mm256_set1_epi16 (short __A)
recip.c: ^~~~~~~~~~~~~~~~~
recip.c: ...
recip.c: recip.c: In function 'montproduct':
recip.c: recip.c:72:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
recip.c: {
recip.c: ^
recip.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
recip.c: from recip.c:1:
recip.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:808:1: error: inlining failed in call to always_inline '_mm256_sub_epi16': target specific option mismatch
recip.c: _mm256_sub_epi16 (__m256i __A, __m256i __B)
recip.c: ^~~~~~~~~~~~~~~~
recip.c: recip.c:78:10: note: called from here
recip.c: return _mm256_sub_epi16(hi,e);
recip.c: ^~~~~~~~~~~~~~~~~~~~~~
recip.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
recip.c: from recip.c:1:
recip.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:546:1: error: inlining failed in call to always_inline '_mm256_mulhi_epi16': target specific option mismatch
recip.c: _mm256_mulhi_epi16 (__m256i __A, __m256i __B)
recip.c: ^~~~~~~~~~~~~~~~~~
recip.c: recip.c:77:5: note: called from here
recip.c: e = _mm256_mulhi_epi16(d,qvec);
recip.c: ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
recip.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
recip.c: from recip.c:1:
recip.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:1325:1: error: inlining failed in call to always_inline '_mm256_set1_epi16': target specific option mismatch
recip.c: _mm256_set1_epi16 (short __A)
recip.c: ^~~~~~~~~~~~~~~~~
recip.c: ...

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

Compiler output

Implementation: avx
Security model: unknown
Compiler: gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer
recip.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
recip.c: from recip.c:1:
recip.c: recip.c: In function 'montproduct':
recip.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:808:1: error: inlining failed in call to always_inline '_mm256_sub_epi16': target specific option mismatch
recip.c: _mm256_sub_epi16 (__m256i __A, __m256i __B)
recip.c: ^~~~~~~~~~~~~~~~
recip.c: recip.c:78:10: note: called from here
recip.c: return _mm256_sub_epi16(hi,e);
recip.c: ^~~~~~~~~~~~~~~~~~~~~~
recip.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
recip.c: from recip.c:1:
recip.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:546:1: error: inlining failed in call to always_inline '_mm256_mulhi_epi16': target specific option mismatch
recip.c: _mm256_mulhi_epi16 (__m256i __A, __m256i __B)
recip.c: ^~~~~~~~~~~~~~~~~~
recip.c: recip.c:77:5: note: called from here
recip.c: e = _mm256_mulhi_epi16(d,qvec);
recip.c: ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
recip.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
recip.c: from recip.c:1:
recip.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:546:1: error: inlining failed in call to always_inline '_mm256_mulhi_epi16': target specific option mismatch
recip.c: _mm256_mulhi_epi16 (__m256i __A, __m256i __B)
recip.c: ^~~~~~~~~~~~~~~~~~
recip.c: recip.c:76:6: note: called from here
recip.c: hi = _mm256_mulhi_epi16(x,y);
recip.c: ~~~^~~~~~~~~~~~~~~~~~~~~~~~~
recip.c: ...

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