Implementation notes: x86, gpu, crypto_core/invsntrup653

Computer: gpu
Architecture: x86
CPU ID: GenuineIntel-000206d7-bfebfbff
SUPERCOP version: 20190816
Operation: crypto_core
Primitive: invsntrup653
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
102459403668 0 019756 404 768refgcc_-m32_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019082120190816
103141883668 0 019756 404 768refgcc_-m32_-march=core-avx-i_-O3_-fomit-frame-pointer2019082120190816
104218963668 0 019756 404 768refgcc_-m32_-march=corei7-avx_-O3_-fomit-frame-pointer2019082120190816
120007003767 0 019584 404 768refgcc_-m32_-march=corei7_-O3_-fomit-frame-pointer2019082120190816
121334403767 0 019532 404 768refgcc_-m32_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019082120190816
121722043767 0 019584 404 768refgcc_-m32_-march=core2_-msse4_-O3_-fomit-frame-pointer2019082120190816
178181804301 0 020108 404 768refgcc_-m32_-march=core2_-O3_-fomit-frame-pointer2019082120190816
188490208882 0 027956 404 768refgcc_-funroll-loops_-m32_-march=barcelona_-O3_-fomit-frame-pointer2019082120190816
192317454100 0 019588 404 768refgcc_-m32_-march=prescott_-O3_-fomit-frame-pointer2019082120190816
193018724778 0 023615 400 768refgcc_-funroll-loops_-m32_-march=pentium-m_-O3_-fomit-frame-pointer2019082120190816
194129444519 0 021400 404 768refgcc_-funroll-loops_-m32_-march=prescott_-O3_-fomit-frame-pointer2019082120190816
194173513628 0 020003 400 768refgcc_-m32_-march=pentium-m_-O3_-fomit-frame-pointer2019082120190816
194181887871 0 024056 404 768refgcc_-m32_-march=k8_-O3_-fomit-frame-pointer2019082120190816
1963941215974 0 024644 404 768refgcc_-m32_-march=barcelona_-O3_-fomit-frame-pointer2019082120190816
200313324691 0 021540 404 768refgcc_-funroll-loops_-m32_-march=pentium4_-O3_-fomit-frame-pointer2019082120190816
212624008814 0 027176 404 768refgcc_-funroll-loops_-m32_-march=k8_-O3_-fomit-frame-pointer2019082120190816
217732823694 0 019120 404 768refgcc_-m32_-march=pentium4_-O3_-fomit-frame-pointer2019082120190816
217933304100 0 019588 404 768refgcc_-m32_-march=nocona_-O3_-fomit-frame-pointer2019082120190816
228880594519 0 021400 404 768refgcc_-funroll-loops_-m32_-march=nocona_-O3_-fomit-frame-pointer2019082120190816
338524761122 0 016840 404 768refgcc_-m32_-O3_-fomit-frame-pointer2019082120190816
346413722854 0 020476 404 768refgcc_-funroll-loops_-m32_-O3_-fomit-frame-pointer2019082120190816
364939711424 0 017764 404 768refgcc_-m32_-march=k6-2_-O3_-fomit-frame-pointer2019082120190816
380723843024 0 020484 404 768refgcc_-funroll-loops_-m32_-march=k6_-O3_-fomit-frame-pointer2019082120190816
381797601084 0 016688 404 768refgcc_-m32_-march=athlon_-O3_-fomit-frame-pointer2019082120190816
382568851424 0 017764 404 768refgcc_-m32_-march=k6-3_-O3_-fomit-frame-pointer2019082120190816
393177941174 0 014365 396 768refgcc_-m32_-march=core2_-O2_-fomit-frame-pointer2019082120190816
394618051216 0 017364 404 768refgcc_-m32_-march=k6_-O3_-fomit-frame-pointer2019082120190816
396892321174 0 014333 396 768refgcc_-m32_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019082120190816
397812721264 0 017219 400 768refgcc_-m32_-march=pentiumpro_-O3_-fomit-frame-pointer2019082120190816
398142811133 0 014201 396 768refgcc_-m32_-march=k8_-O2_-fomit-frame-pointer2019082120190816
400133672498 0 021219 400 768refgcc_-funroll-loops_-m32_-march=pentiumpro_-O3_-fomit-frame-pointer2019082120190816
400151163708 0 019977 396 768refgcc_-funroll-loops_-m32_-march=k8_-O2_-fomit-frame-pointer2019082120190816
400858231174 0 014333 396 768refgcc_-m32_-march=corei7-avx_-O2_-fomit-frame-pointer2019082120190816
401049151174 0 014349 396 768refgcc_-m32_-march=corei7_-O2_-fomit-frame-pointer2019082120190816
401573651264 0 017427 400 768refgcc_-m32_-march=pentium3_-O3_-fomit-frame-pointer2019082120190816
401772762508 0 015041 396 768refgcc_-m32_-march=barcelona_-O2_-fomit-frame-pointer2019082120190816
403030401264 0 017219 400 768refgcc_-m32_-march=pentium2_-O3_-fomit-frame-pointer2019082120190816
404155213741 0 020765 396 768refgcc_-funroll-loops_-m32_-march=barcelona_-O2_-fomit-frame-pointer2019082120190816
407140321174 0 014349 396 768refgcc_-m32_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019082120190816
411257821174 0 014333 396 768refgcc_-m32_-march=core-avx-i_-O2_-fomit-frame-pointer2019082120190816
414686281174 0 014345 396 768refgcc_-m32_-O2_-fomit-frame-pointer2019082120190816
419945882704 0 019121 396 768refgcc_-funroll-loops_-m32_-O_-fomit-frame-pointer2019082120190816
420497411000 0 013781 396 768refgcc_-m32_-march=core2_-O_-fomit-frame-pointer2019082120190816
420579042498 0 021427 400 768refgcc_-funroll-loops_-m32_-march=pentium3_-O3_-fomit-frame-pointer2019082120190816
421943101000 0 013781 396 768refgcc_-m32_-march=corei7-avx_-O_-fomit-frame-pointer2019082120190816
425179562302 0 020096 404 768refgcc_-funroll-loops_-m32_-march=athlon_-O3_-fomit-frame-pointer2019082120190816
427409632778 0 019201 396 768refgcc_-funroll-loops_-m32_-march=k6-2_-O_-fomit-frame-pointer2019082120190816
428269522778 0 019201 396 768refgcc_-funroll-loops_-m32_-march=k6_-O_-fomit-frame-pointer2019082120190816
428676082498 0 021219 400 768refgcc_-funroll-loops_-m32_-march=pentium2_-O3_-fomit-frame-pointer2019082120190816
428980241000 0 013781 396 768refgcc_-m32_-march=native_-mtune=native_-O_-fomit-frame-pointer2019082120190816
429131431174 0 014349 396 768refgcc_-m32_-march=core2_-msse4_-O2_-fomit-frame-pointer2019082120190816
429737683474 0 019741 396 768refgcc_-funroll-loops_-m32_-march=athlon_-O2_-fomit-frame-pointer2019082120190816
430952201647 0 018975 400 768refgcc_-funroll-loops_-m32_-march=i486_-O3_-fomit-frame-pointer2019082120190816
43145000968 0 013637 396 768refgcc_-m32_-march=k8_-O_-fomit-frame-pointer2019082120190816
433585612778 0 019201 396 768refgcc_-funroll-loops_-m32_-march=k6-3_-O_-fomit-frame-pointer2019082120190816
434973433240 0 021300 404 768refgcc_-funroll-loops_-m32_-march=k6-2_-O3_-fomit-frame-pointer2019082120190816
435493732672 0 019189 396 768refgcc_-funroll-loops_-m32_-march=k8_-O_-fomit-frame-pointer2019082120190816
435932961180 0 014477 396 768refgcc_-m32_-march=k6-3_-O2_-fomit-frame-pointer2019082120190816
437058963649 0 020153 396 768refgcc_-funroll-loops_-m32_-O2_-fomit-frame-pointer2019082120190816
438668961000 0 013781 396 768refgcc_-m32_-march=corei7_-O_-fomit-frame-pointer2019082120190816
441509883240 0 021300 404 768refgcc_-funroll-loops_-m32_-march=k6-3_-O3_-fomit-frame-pointer2019082120190816
442499281164 0 014013 396 768refgcc_-m32_-march=athlon_-O2_-fomit-frame-pointer2019082120190816
443462111970 0 013861 396 768refgcc_-m32_-march=barcelona_-O_-fomit-frame-pointer2019082120190816
44504400996 0 013869 396 768refgcc_-m32_-march=k6-2_-O_-fomit-frame-pointer2019082120190816
446498523589 0 020337 396 768refgcc_-funroll-loops_-m32_-march=pentium3_-O2_-fomit-frame-pointer2019082120190816
447196981212 0 014617 396 768refgcc_-m32_-march=pentium-m_-O2_-fomit-frame-pointer2019082120190816
449547241000 0 013781 396 768refgcc_-m32_-march=core-avx-i_-O_-fomit-frame-pointer2019082120190816
450595283592 0 019937 396 768refgcc_-funroll-loops_-m32_-march=k6_-O2_-fomit-frame-pointer2019082120190816
451202261180 0 014477 396 768refgcc_-m32_-march=k6_-O2_-fomit-frame-pointer2019082120190816
451624361000 0 013781 396 768refgcc_-m32_-march=core2_-msse4_-O_-fomit-frame-pointer2019082120190816
452032041000 0 013781 396 768refgcc_-m32_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019082120190816
452743043589 0 021149 396 768refgcc_-funroll-loops_-m32_-march=pentium-m_-O2_-fomit-frame-pointer2019082120190816
45299632977 0 013501 396 768refgcc_-m32_-march=athlon_-O_-fomit-frame-pointer2019082120190816
456341481212 0 014261 396 768refgcc_-m32_-march=pentium3_-O2_-fomit-frame-pointer2019082120190816
457115481212 0 014261 396 768refgcc_-m32_-march=pentium2_-O2_-fomit-frame-pointer2019082120190816
457221661212 0 014261 396 768refgcc_-m32_-march=pentiumpro_-O2_-fomit-frame-pointer2019082120190816
45728961984 0 013789 396 768refgcc_-m32_-march=pentium2_-O_-fomit-frame-pointer2019082120190816
460067402681 0 018989 396 768refgcc_-funroll-loops_-m32_-march=athlon_-O_-fomit-frame-pointer2019082120190816
46269224972 0 012905 388 768refgcc_-m32_-march=k6-2_-Os_-fomit-frame-pointer2019082120190816
46589649984 0 013829 396 768refgcc_-m32_-march=pentium-m_-O_-fomit-frame-pointer2019082120190816
46845026972 0 012905 388 768refgcc_-m32_-march=k6_-Os_-fomit-frame-pointer2019082120190816
47001524996 0 013869 396 768refgcc_-m32_-march=k6-3_-O_-fomit-frame-pointer2019082120190816
47149425907 0 012745 388 768refgcc_-m32_-march=i486_-Os_-fomit-frame-pointer2019082120190816
472695321000 0 013757 396 768refgcc_-m32_-O_-fomit-frame-pointer2019082120190816
47301495927 0 012777 388 768refgcc_-funroll-loops_-m32_-march=barcelona_-Os_-fomit-frame-pointer2019082120190816
473443032568 0 019533 396 768refgcc_-funroll-loops_-m32_-march=pentium2_-O_-fomit-frame-pointer2019082120190816
47415892984 0 013789 396 768refgcc_-m32_-march=pentium3_-O_-fomit-frame-pointer2019082120190816
474442023592 0 019937 396 768refgcc_-funroll-loops_-m32_-march=k6-3_-O2_-fomit-frame-pointer2019082120190816
47760972972 0 012905 388 768refgcc_-m32_-march=k6-3_-Os_-fomit-frame-pointer2019082120190816
478126782688 0 019353 396 768refgcc_-funroll-loops_-m32_-march=barcelona_-O_-fomit-frame-pointer2019082120190816
47923499921 0 012697 388 768refgcc_-m32_-march=pentium2_-Os_-fomit-frame-pointer2019082120190816
479757683589 0 020337 396 768refgcc_-funroll-loops_-m32_-march=pentium2_-O2_-fomit-frame-pointer2019082120190816
480716792568 0 019533 396 768refgcc_-funroll-loops_-m32_-march=pentiumpro_-O_-fomit-frame-pointer2019082120190816
48097569907 0 012761 388 768refgcc_-m32_-march=core-avx-i_-Os_-fomit-frame-pointer2019082120190816
485421363589 0 020337 396 768refgcc_-funroll-loops_-m32_-march=pentiumpro_-O2_-fomit-frame-pointer2019082120190816
485863242568 0 019533 396 768refgcc_-funroll-loops_-m32_-march=pentium3_-O_-fomit-frame-pointer2019082120190816
48697572907 0 012761 388 768refgcc_-m32_-march=core2_-msse4_-Os_-fomit-frame-pointer2019082120190816
48898267921 0 012697 388 768refgcc_-m32_-march=pentium3_-Os_-fomit-frame-pointer2019082120190816
489335241814 0 012777 388 768refgcc_-m32_-march=barcelona_-Os_-fomit-frame-pointer2019082120190816
48942765996 0 013869 396 768refgcc_-m32_-march=k6_-O_-fomit-frame-pointer2019082120190816
489807292568 0 019653 396 768refgcc_-funroll-loops_-m32_-march=pentium-m_-O_-fomit-frame-pointer2019082120190816
490049961156 0 013909 396 768refgcc_-m32_-march=pentium4_-O2_-fomit-frame-pointer2019082120190816
492116443592 0 019937 396 768refgcc_-funroll-loops_-m32_-march=k6-2_-O2_-fomit-frame-pointer2019082120190816
49249472907 0 012777 388 768refgcc_-m32_-march=core2_-Os_-fomit-frame-pointer2019082120190816
49322420937 0 012745 388 768refgcc_-funroll-loops_-m32_-march=pentium-m_-Os_-fomit-frame-pointer2019082120190816
49373076907 0 012761 388 768refgcc_-m32_-march=corei7-avx_-Os_-fomit-frame-pointer2019082120190816
49663836907 0 012745 388 768refgcc_-m32_-Os_-fomit-frame-pointer2019082120190816
49703444907 0 012761 388 768refgcc_-m32_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019082120190816
49763172907 0 012777 388 768refgcc_-m32_-march=k8_-Os_-fomit-frame-pointer2019082120190816
49991352937 0 012697 388 768refgcc_-funroll-loops_-m32_-march=pentium2_-Os_-fomit-frame-pointer2019082120190816
50001348984 0 013789 396 768refgcc_-m32_-march=pentiumpro_-O_-fomit-frame-pointer2019082120190816
50056332921 0 012745 388 768refgcc_-m32_-march=pentium-m_-Os_-fomit-frame-pointer2019082120190816
50239272907 0 012761 388 768refgcc_-m32_-march=corei7_-Os_-fomit-frame-pointer2019082120190816
50308830927 0 012777 388 768refgcc_-funroll-loops_-m32_-march=nocona_-Os_-fomit-frame-pointer2019082120190816
50461716986 0 012889 388 768refgcc_-funroll-loops_-m32_-march=k6-3_-Os_-fomit-frame-pointer2019082120190816
505460563082 0 019205 396 768refgcc_-funroll-loops_-m32_-march=pentium4_-O2_-fomit-frame-pointer2019082120190816
50554176907 0 012777 388 768refgcc_-m32_-march=pentium4_-Os_-fomit-frame-pointer2019082120190816
50859707927 0 012745 388 768refgcc_-funroll-loops_-m32_-march=athlon_-Os_-fomit-frame-pointer2019082120190816
50869156907 0 012745 388 768refgcc_-m32_-march=athlon_-Os_-fomit-frame-pointer2019082120190816
50934369927 0 012745 388 768refgcc_-funroll-loops_-m32_-Os_-fomit-frame-pointer2019082120190816
50937700907 0 012745 388 768refgcc_-m32_-march=pentium-mmx_-Os_-fomit-frame-pointer2019082120190816
51018536937 0 012697 388 768refgcc_-funroll-loops_-m32_-march=pentium3_-Os_-fomit-frame-pointer2019082120190816
510488311180 0 014477 396 768refgcc_-m32_-march=k6-2_-O2_-fomit-frame-pointer2019082120190816
51282327907 0 012777 388 768refgcc_-m32_-march=nocona_-Os_-fomit-frame-pointer2019082120190816
51334665927 0 012793 388 768refgcc_-funroll-loops_-m32_-march=k8_-Os_-fomit-frame-pointer2019082120190816
51724160921 0 012697 388 768refgcc_-m32_-march=pentiumpro_-Os_-fomit-frame-pointer2019082120190816
51887244907 0 012761 388 768refgcc_-m32_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019082120190816
52182888927 0 012777 388 768refgcc_-funroll-loops_-m32_-march=pentium4_-Os_-fomit-frame-pointer2019082120190816
52542514907 0 012745 388 768refgcc_-m32_-march=i386_-Os_-fomit-frame-pointer2019082120190816
532197882710 0 019385 396 768refgcc_-funroll-loops_-m32_-march=pentium4_-O_-fomit-frame-pointer2019082120190816
53412048907 0 012745 388 768refgcc_-m32_-march=pentium_-Os_-fomit-frame-pointer2019082120190816
53598675927 0 012745 388 768refgcc_-funroll-loops_-m32_-march=pentium_-Os_-fomit-frame-pointer2019082120190816
53936121907 0 012777 388 768refgcc_-m32_-march=prescott_-Os_-fomit-frame-pointer2019082120190816
54194956927 0 012777 388 768refgcc_-funroll-loops_-m32_-march=prescott_-Os_-fomit-frame-pointer2019082120190816
54536998986 0 012889 388 768refgcc_-funroll-loops_-m32_-march=k6_-Os_-fomit-frame-pointer2019082120190816
54543645927 0 012745 388 768refgcc_-funroll-loops_-m32_-march=i386_-Os_-fomit-frame-pointer2019082120190816
54900927937 0 012697 388 768refgcc_-funroll-loops_-m32_-march=pentiumpro_-Os_-fomit-frame-pointer2019082120190816
55398669986 0 012889 388 768refgcc_-funroll-loops_-m32_-march=k6-2_-Os_-fomit-frame-pointer2019082120190816
555170521000 0 013801 396 768refgcc_-m32_-march=pentium4_-O_-fomit-frame-pointer2019082120190816
55612741927 0 012745 388 768refgcc_-funroll-loops_-m32_-march=pentium-mmx_-Os_-fomit-frame-pointer2019082120190816
56048406927 0 012745 388 768refgcc_-funroll-loops_-m32_-march=i486_-Os_-fomit-frame-pointer2019082120190816
594024661615 0 019275 400 768refgcc_-funroll-loops_-m32_-march=pentium_-O3_-fomit-frame-pointer2019082120190816
608894941615 0 019275 400 768refgcc_-funroll-loops_-m32_-march=pentium-mmx_-O3_-fomit-frame-pointer2019082120190816
634900191303 0 017463 400 768refgcc_-m32_-march=pentium-mmx_-O3_-fomit-frame-pointer2019082120190816
646600402405 0 018665 396 768refgcc_-funroll-loops_-m32_-march=prescott_-O2_-fomit-frame-pointer2019082120190816
656918611303 0 017463 400 768refgcc_-m32_-march=pentium_-O3_-fomit-frame-pointer2019082120190816
658586321274 0 014053 396 768refgcc_-m32_-march=prescott_-O2_-fomit-frame-pointer2019082120190816
660317391022 0 013817 396 768refgcc_-m32_-march=nocona_-O_-fomit-frame-pointer2019082120190816
660787441274 0 014053 396 768refgcc_-m32_-march=nocona_-O2_-fomit-frame-pointer2019082120190816
662873461323 0 014445 396 768refgcc_-m32_-march=pentium-mmx_-O2_-fomit-frame-pointer2019082120190816
669837041022 0 013817 396 768refgcc_-m32_-march=prescott_-O_-fomit-frame-pointer2019082120190816
672553722405 0 018665 396 768refgcc_-funroll-loops_-m32_-march=nocona_-O2_-fomit-frame-pointer2019082120190816
689891362727 0 019417 396 768refgcc_-funroll-loops_-m32_-march=nocona_-O_-fomit-frame-pointer2019082120190816
694612201030 0 013785 396 768refgcc_-m32_-march=pentium-mmx_-O_-fomit-frame-pointer2019082120190816
699376921341 0 017231 400 768refgcc_-m32_-march=i486_-O3_-fomit-frame-pointer2019082120190816
701899972481 0 019101 396 768refgcc_-funroll-loops_-m32_-march=pentium-mmx_-O2_-fomit-frame-pointer2019082120190816
718774772481 0 019101 396 768refgcc_-funroll-loops_-m32_-march=pentium_-O2_-fomit-frame-pointer2019082120190816
720144571315 0 013989 396 768refgcc_-m32_-march=i386_-O2_-fomit-frame-pointer2019082120190816
722705642727 0 019417 396 768refgcc_-funroll-loops_-m32_-march=prescott_-O_-fomit-frame-pointer2019082120190816
727255892732 0 019133 396 768refgcc_-funroll-loops_-m32_-march=pentium-mmx_-O_-fomit-frame-pointer2019082120190816
727306351323 0 014445 396 768refgcc_-m32_-march=pentium_-O2_-fomit-frame-pointer2019082120190816
732491431616 0 017623 400 768refgcc_-funroll-loops_-m32_-march=i386_-O3_-fomit-frame-pointer2019082120190816
735035311291 0 015859 400 768refgcc_-m32_-march=i386_-O3_-fomit-frame-pointer2019082120190816
762448321036 0 013901 396 768refgcc_-m32_-march=i486_-O_-fomit-frame-pointer2019082120190816
766713012459 0 018465 396 768refgcc_-funroll-loops_-m32_-march=i386_-O2_-fomit-frame-pointer2019082120190816
777119701030 0 013785 396 768refgcc_-m32_-march=pentium_-O_-fomit-frame-pointer2019082120190816
782805011393 0 014765 396 768refgcc_-m32_-march=i486_-O2_-fomit-frame-pointer2019082120190816
784205702732 0 019133 396 768refgcc_-funroll-loops_-m32_-march=pentium_-O_-fomit-frame-pointer2019082120190816
798640322513 0 019309 396 768refgcc_-funroll-loops_-m32_-march=i486_-O2_-fomit-frame-pointer2019082120190816
801113612743 0 019249 396 768refgcc_-funroll-loops_-m32_-march=i486_-O_-fomit-frame-pointer2019082120190816
824554651029 0 013645 396 768refgcc_-m32_-march=i386_-O_-fomit-frame-pointer2019082120190816
834082882736 0 018961 396 768refgcc_-funroll-loops_-m32_-march=i386_-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