Implementation notes: x86, gpu, crypto_core/mult3sntrup761

Computer: gpu
Architecture: x86
CPU ID: GenuineIntel-000206d7-bfebfbff
SUPERCOP version: 20190816
Operation: crypto_core
Primitive: mult3sntrup761
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
13693763006 0 019789 396 768refgcc_-funroll-loops_-m32_-march=prescott_-O3_-fomit-frame-pointer2019082220190816
14178183006 0 019789 396 768refgcc_-funroll-loops_-m32_-march=nocona_-O3_-fomit-frame-pointer2019082220190816
14409062900 0 019669 396 768refgcc_-funroll-loops_-m32_-march=pentium4_-O3_-fomit-frame-pointer2019082220190816
14582791711 0 018157 396 768refgcc_-funroll-loops_-m32_-O2_-fomit-frame-pointer2019082220190816
14673091618 0 017856 392 768refgcc_-funroll-loops_-m32_-march=nocona_-O2_-fomit-frame-pointer2019082220190816
14932441618 0 017856 392 768refgcc_-funroll-loops_-m32_-march=prescott_-O2_-fomit-frame-pointer2019082220190816
14990401680 0 017856 392 768refgcc_-funroll-loops_-m32_-march=k8_-O2_-fomit-frame-pointer2019082220190816
15003921743 0 017973 396 768refgcc_-funroll-loops_-m32_-march=athlon_-O2_-fomit-frame-pointer2019082220190816
15073801666 0 018696 392 768refgcc_-funroll-loops_-m32_-march=pentiumpro_-O2_-fomit-frame-pointer2019082220190816
15141923680 0 021881 396 768refgcc_-funroll-loops_-m32_-march=k8_-O3_-fomit-frame-pointer2019082220190816
15216181641 0 017724 392 768refgcc_-funroll-loops_-m32_-march=pentium4_-O2_-fomit-frame-pointer2019082220190816
15379653695 0 022617 396 768refgcc_-funroll-loops_-m32_-march=barcelona_-O3_-fomit-frame-pointer2019082220190816
15550591666 0 018696 392 768refgcc_-funroll-loops_-m32_-march=pentium3_-O2_-fomit-frame-pointer2019082220190816
15553201776 0 019282 400 768refgcc_-funroll-loops_-m32_-O3_-fomit-frame-pointer2019082220190816
15558482346 0 021484 392 768refgcc_-funroll-loops_-m32_-march=pentium3_-O3_-fomit-frame-pointer2019082220190816
15581191744 0 018692 392 768refgcc_-funroll-loops_-m32_-march=barcelona_-O2_-fomit-frame-pointer2019082220190816
15682261666 0 019508 392 768refgcc_-funroll-loops_-m32_-march=pentium-m_-O2_-fomit-frame-pointer2019082220190816
15845851798 0 019494 400 768refgcc_-funroll-loops_-m32_-march=athlon_-O3_-fomit-frame-pointer2019082220190816
15919622346 0 021276 392 768refgcc_-funroll-loops_-m32_-march=pentiumpro_-O3_-fomit-frame-pointer2019082220190816
15940292346 0 021276 392 768refgcc_-funroll-loops_-m32_-march=pentium2_-O3_-fomit-frame-pointer2019082220190816
16094311666 0 018696 392 768refgcc_-funroll-loops_-m32_-march=pentium2_-O2_-fomit-frame-pointer2019082220190816
16228623404 0 022408 392 768refgcc_-funroll-loops_-m32_-march=pentium-m_-O3_-fomit-frame-pointer2019082220190816
20114281714 0 017820 392 768refgcc_-funroll-loops_-m32_-march=i386_-O_-fomit-frame-pointer2019082220190816
20696761966 0 018305 396 768refgcc_-funroll-loops_-m32_-O_-fomit-frame-pointer2019082220190816
2201415592 0 013713 396 768refgcc_-m32_-O2_-fomit-frame-pointer2019082220190816
23207762572 0 018234 400 768refgcc_-m32_-march=core2_-msse4_-O3_-fomit-frame-pointer2019082220190816
2329986590 0 013397 396 768refgcc_-m32_-march=athlon_-O2_-fomit-frame-pointer2019082220190816
23484332467 0 018434 400 768refgcc_-m32_-march=corei7-avx_-O3_-fomit-frame-pointer2019082220190816
2367762582 0 013552 392 768refgcc_-m32_-march=k8_-O2_-fomit-frame-pointer2019082220190816
2372844620 0 013340 392 768refgcc_-m32_-march=nocona_-O2_-fomit-frame-pointer2019082220190816
23830112467 0 018434 400 768refgcc_-m32_-march=core-avx-i_-O3_-fomit-frame-pointer2019082220190816
2385552592 0 013701 396 768refgcc_-m32_-march=corei7_-O2_-fomit-frame-pointer2019082220190816
23905326734 0 019853 396 768refgcc_-m32_-march=barcelona_-O3_-fomit-frame-pointer2019082220190816
2396439592 0 013701 396 768refgcc_-m32_-march=core2_-msse4_-O2_-fomit-frame-pointer2019082220190816
2397216592 0 013701 396 768refgcc_-m32_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019082220190816
23994163231 0 019229 396 768refgcc_-m32_-march=k8_-O3_-fomit-frame-pointer2019082220190816
24139532467 0 018434 400 768refgcc_-m32_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019082220190816
2415468856 0 016358 400 768refgcc_-m32_-march=athlon_-O3_-fomit-frame-pointer2019082220190816
2418552592 0 013685 396 768refgcc_-m32_-march=corei7-avx_-O2_-fomit-frame-pointer2019082220190816
24245101941 0 018285 396 768refgcc_-funroll-loops_-m32_-march=k6-2_-O_-fomit-frame-pointer2019082220190816
2432817592 0 013685 396 768refgcc_-m32_-march=core-avx-i_-O2_-fomit-frame-pointer2019082220190816
24339241979 0 018173 396 768refgcc_-funroll-loops_-m32_-march=athlon_-O_-fomit-frame-pointer2019082220190816
24386242572 0 018234 400 768refgcc_-m32_-march=corei7_-O3_-fomit-frame-pointer2019082220190816
24532501711 0 017013 396 768refgcc_-m32_-march=pentium4_-O3_-fomit-frame-pointer2019082220190816
24616842767 0 018422 400 768refgcc_-m32_-march=core2_-O3_-fomit-frame-pointer2019082220190816
24667201927 0 018320 392 768refgcc_-funroll-loops_-m32_-march=k8_-O_-fomit-frame-pointer2019082220190816
24690931814 0 017161 396 768refgcc_-m32_-march=nocona_-O3_-fomit-frame-pointer2019082220190816
24696781792 0 018105 396 768refgcc_-funroll-loops_-m32_-march=pentium-mmx_-O_-fomit-frame-pointer2019082220190816
2470239819 0 016434 400 768refgcc_-m32_-O3_-fomit-frame-pointer2019082220190816
2478399558 0 013292 392 768refgcc_-m32_-march=pentium4_-O2_-fomit-frame-pointer2019082220190816
24829051918 0 018548 392 768refgcc_-funroll-loops_-m32_-march=prescott_-O_-fomit-frame-pointer2019082220190816
2482947620 0 013340 392 768refgcc_-m32_-march=prescott_-O2_-fomit-frame-pointer2019082220190816
24888362572 0 018182 400 768refgcc_-m32_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019082220190816
24888961918 0 018548 392 768refgcc_-funroll-loops_-m32_-march=nocona_-O_-fomit-frame-pointer2019082220190816
24906601714 0 018140 392 768refgcc_-funroll-loops_-m32_-march=i486_-O_-fomit-frame-pointer2019082220190816
25127131308 0 014360 392 768refgcc_-m32_-march=barcelona_-O2_-fomit-frame-pointer2019082220190816
25150561941 0 018285 396 768refgcc_-funroll-loops_-m32_-march=k6-3_-O_-fomit-frame-pointer2019082220190816
25211521792 0 018105 396 768refgcc_-funroll-loops_-m32_-march=pentium_-O_-fomit-frame-pointer2019082220190816
25277251927 0 018500 392 768refgcc_-funroll-loops_-m32_-march=barcelona_-O_-fomit-frame-pointer2019082220190816
25470841977 0 018596 392 768refgcc_-funroll-loops_-m32_-march=pentium4_-O_-fomit-frame-pointer2019082220190816
2554002917 0 016680 392 768refgcc_-m32_-march=i486_-O3_-fomit-frame-pointer2019082220190816
2574116592 0 013685 396 768refgcc_-m32_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019082220190816
25789381941 0 018285 396 768refgcc_-funroll-loops_-m32_-march=k6_-O_-fomit-frame-pointer2019082220190816
26072221634 0 017937 396 768refgcc_-funroll-loops_-m32_-march=k6-2_-O2_-fomit-frame-pointer2019082220190816
26091241810 0 019746 400 768refgcc_-funroll-loops_-m32_-march=k6-3_-O3_-fomit-frame-pointer2019082220190816
26234821814 0 017161 396 768refgcc_-m32_-march=prescott_-O3_-fomit-frame-pointer2019082220190816
26307661433 0 018148 392 768refgcc_-funroll-loops_-m32_-march=i486_-O2_-fomit-frame-pointer2019082220190816
26384761634 0 017937 396 768refgcc_-funroll-loops_-m32_-march=k6_-O2_-fomit-frame-pointer2019082220190816
26551351810 0 019138 400 768refgcc_-funroll-loops_-m32_-march=k6_-O3_-fomit-frame-pointer2019082220190816
26597101520 0 018093 396 768refgcc_-funroll-loops_-m32_-march=pentium-mmx_-O2_-fomit-frame-pointer2019082220190816
2690313592 0 013717 396 768refgcc_-m32_-march=core2_-O2_-fomit-frame-pointer2019082220190816
27034201897 0 019441 396 768refgcc_-funroll-loops_-m32_-march=pentium_-O3_-fomit-frame-pointer2019082220190816
27051121835 0 019112 392 768refgcc_-funroll-loops_-m32_-march=pentiumpro_-O_-fomit-frame-pointer2019082220190816
27171421897 0 019441 396 768refgcc_-funroll-loops_-m32_-march=pentium-mmx_-O3_-fomit-frame-pointer2019082220190816
27259621810 0 019746 400 768refgcc_-funroll-loops_-m32_-march=k6-2_-O3_-fomit-frame-pointer2019082220190816
27332191520 0 018093 396 768refgcc_-funroll-loops_-m32_-march=pentium_-O2_-fomit-frame-pointer2019082220190816
27456511634 0 017937 396 768refgcc_-funroll-loops_-m32_-march=k6-3_-O2_-fomit-frame-pointer2019082220190816
27743071373 0 017256 392 768refgcc_-funroll-loops_-m32_-march=i386_-O2_-fomit-frame-pointer2019082220190816
27854881550 0 017392 392 768refgcc_-funroll-loops_-m32_-march=i386_-O3_-fomit-frame-pointer2019082220190816
28007101587 0 018792 392 768refgcc_-funroll-loops_-m32_-march=i486_-O3_-fomit-frame-pointer2019082220190816
28198081835 0 019112 392 768refgcc_-funroll-loops_-m32_-march=pentium2_-O_-fomit-frame-pointer2019082220190816
2879721593 0 013164 392 768refgcc_-m32_-march=i386_-O2_-fomit-frame-pointer2019082220190816
28889251835 0 019112 392 768refgcc_-funroll-loops_-m32_-march=pentium3_-O_-fomit-frame-pointer2019082220190816
29147641835 0 019232 392 768refgcc_-funroll-loops_-m32_-march=pentium-m_-O_-fomit-frame-pointer2019082220190816
2926458629 0 013693 396 768refgcc_-m32_-march=pentium_-O2_-fomit-frame-pointer2019082220190816
2935815538 0 012228 384 768refgcc_-funroll-loops_-m32_-march=pentium4_-Os_-fomit-frame-pointer2019082220190816
2943291601 0 013837 396 768refgcc_-m32_-march=k6-3_-O2_-fomit-frame-pointer2019082220190816
2957073875 0 016898 400 768refgcc_-m32_-march=k6_-O3_-fomit-frame-pointer2019082220190816
2973624621 0 013924 392 768refgcc_-m32_-march=i486_-O2_-fomit-frame-pointer2019082220190816
3003927532 0 012196 384 768refgcc_-funroll-loops_-m32_-march=i386_-Os_-fomit-frame-pointer2019082220190816
3019338627 0 013417 396 768refgcc_-m32_-march=k6-2_-O_-fomit-frame-pointer2019082220190816
30287671230 0 013408 392 768refgcc_-m32_-march=barcelona_-O_-fomit-frame-pointer2019082220190816
3029532627 0 013417 396 768refgcc_-m32_-march=k6_-O_-fomit-frame-pointer2019082220190816
3031104601 0 013837 396 768refgcc_-m32_-march=k6-2_-O2_-fomit-frame-pointer2019082220190816
3037530675 0 013412 392 768refgcc_-m32_-march=prescott_-O_-fomit-frame-pointer2019082220190816
3043812591 0 012372 384 768refgcc_-m32_-march=k6-2_-Os_-fomit-frame-pointer2019082220190816
3049632629 0 013693 396 768refgcc_-m32_-march=pentium-mmx_-O2_-fomit-frame-pointer2019082220190816
3055696619 0 013301 396 768refgcc_-m32_-march=corei7_-O_-fomit-frame-pointer2019082220190816
3056775540 0 012260 384 768refgcc_-m32_-march=core2_-Os_-fomit-frame-pointer2019082220190816
3056871834 0 015244 392 768refgcc_-m32_-march=i386_-O3_-fomit-frame-pointer2019082220190816
3067401540 0 012244 384 768refgcc_-m32_-march=core2_-msse4_-Os_-fomit-frame-pointer2019082220190816
3079434601 0 013837 396 768refgcc_-m32_-march=k6_-O2_-fomit-frame-pointer2019082220190816
3080319927 0 016957 396 768refgcc_-m32_-march=pentium_-O3_-fomit-frame-pointer2019082220190816
3091332627 0 013417 396 768refgcc_-m32_-march=k6-3_-O_-fomit-frame-pointer2019082220190816
3102633585 0 012340 384 768refgcc_-funroll-loops_-m32_-march=k6-2_-Os_-fomit-frame-pointer2019082220190816
3103170875 0 017090 400 768refgcc_-m32_-march=k6-3_-O3_-fomit-frame-pointer2019082220190816
3106725619 0 013301 396 768refgcc_-m32_-march=corei7-avx_-O_-fomit-frame-pointer2019082220190816
3115844619 0 013293 396 768refgcc_-m32_-O_-fomit-frame-pointer2019082220190816
3123696591 0 012372 384 768refgcc_-m32_-march=k6-3_-Os_-fomit-frame-pointer2019082220190816
3128404540 0 012244 384 768refgcc_-m32_-march=corei7_-Os_-fomit-frame-pointer2019082220190816
3131436619 0 013301 396 768refgcc_-m32_-march=core2_-O_-fomit-frame-pointer2019082220190816
3135570540 0 012228 384 768refgcc_-m32_-march=pentium_-Os_-fomit-frame-pointer2019082220190816
3149337617 0 013037 396 768refgcc_-m32_-march=athlon_-O_-fomit-frame-pointer2019082220190816
3151104650 0 013317 396 768refgcc_-m32_-march=pentium-mmx_-O_-fomit-frame-pointer2019082220190816
3153920540 0 012244 384 768refgcc_-m32_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019082220190816
3154407538 0 012196 384 768refgcc_-funroll-loops_-m32_-march=pentium-mmx_-Os_-fomit-frame-pointer2019082220190816
3161964650 0 013317 396 768refgcc_-m32_-march=pentium_-O_-fomit-frame-pointer2019082220190816
3164184619 0 013301 396 768refgcc_-m32_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019082220190816
3190564591 0 012372 384 768refgcc_-m32_-march=k6_-Os_-fomit-frame-pointer2019082220190816
3194442606 0 013724 392 768refgcc_-m32_-march=pentiumpro_-O2_-fomit-frame-pointer2019082220190816
3194845619 0 013301 396 768refgcc_-m32_-march=native_-mtune=native_-O_-fomit-frame-pointer2019082220190816
3195768538 0 012196 384 768refgcc_-funroll-loops_-m32_-march=pentium_-Os_-fomit-frame-pointer2019082220190816
3198687875 0 017090 400 768refgcc_-m32_-march=k6-2_-O3_-fomit-frame-pointer2019082220190816
3202980540 0 012228 384 768refgcc_-m32_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019082220190816
3211128652 0 013416 392 768refgcc_-m32_-march=i486_-O_-fomit-frame-pointer2019082220190816
3219603540 0 012228 384 768refgcc_-m32_-march=core-avx-i_-Os_-fomit-frame-pointer2019082220190816
3219666585 0 012340 384 768refgcc_-funroll-loops_-m32_-march=k6-3_-Os_-fomit-frame-pointer2019082220190816
3219699540 0 012228 384 768refgcc_-m32_-march=corei7-avx_-Os_-fomit-frame-pointer2019082220190816
3221286652 0 013144 392 768refgcc_-m32_-march=i386_-O_-fomit-frame-pointer2019082220190816
3223652540 0 012228 384 768refgcc_-m32_-march=pentium-mmx_-Os_-fomit-frame-pointer2019082220190816
3230640619 0 013301 396 768refgcc_-m32_-march=core-avx-i_-O_-fomit-frame-pointer2019082220190816
3234243619 0 013301 396 768refgcc_-m32_-march=core2_-msse4_-O_-fomit-frame-pointer2019082220190816
3251982675 0 013412 392 768refgcc_-m32_-march=nocona_-O_-fomit-frame-pointer2019082220190816
3252989585 0 012340 384 768refgcc_-funroll-loops_-m32_-march=k6_-Os_-fomit-frame-pointer2019082220190816
3259086927 0 016957 396 768refgcc_-m32_-march=pentium-mmx_-O3_-fomit-frame-pointer2019082220190816
3263844540 0 012260 384 768refgcc_-m32_-march=pentium4_-Os_-fomit-frame-pointer2019082220190816
3275448540 0 012260 384 768refgcc_-m32_-march=prescott_-Os_-fomit-frame-pointer2019082220190816
3280572540 0 012212 384 768refgcc_-m32_-march=athlon_-Os_-fomit-frame-pointer2019082220190816
3283434540 0 012260 384 768refgcc_-m32_-march=nocona_-Os_-fomit-frame-pointer2019082220190816
3302748540 0 012260 384 768refgcc_-m32_-march=k8_-Os_-fomit-frame-pointer2019082220190816
3304077538 0 012244 384 768refgcc_-funroll-loops_-m32_-march=barcelona_-Os_-fomit-frame-pointer2019082220190816
3314502538 0 012228 384 768refgcc_-funroll-loops_-m32_-march=prescott_-Os_-fomit-frame-pointer2019082220190816
3325803615 0 013152 392 768refgcc_-m32_-march=k8_-O_-fomit-frame-pointer2019082220190816
3330459536 0 012212 384 768refgcc_-m32_-march=i486_-Os_-fomit-frame-pointer2019082220190816
33737881080 0 012260 384 768refgcc_-m32_-march=barcelona_-Os_-fomit-frame-pointer2019082220190816
3398604538 0 012196 384 768refgcc_-funroll-loops_-m32_-Os_-fomit-frame-pointer2019082220190816
3401496538 0 012228 384 768refgcc_-funroll-loops_-m32_-march=nocona_-Os_-fomit-frame-pointer2019082220190816
3414744538 0 012196 384 768refgcc_-funroll-loops_-m32_-march=athlon_-Os_-fomit-frame-pointer2019082220190816
3414798617 0 013364 392 768refgcc_-m32_-march=pentium4_-O_-fomit-frame-pointer2019082220190816
3416032540 0 012212 384 768refgcc_-m32_-Os_-fomit-frame-pointer2019082220190816
3419070532 0 012196 384 768refgcc_-funroll-loops_-m32_-march=i486_-Os_-fomit-frame-pointer2019082220190816
3435690536 0 012212 384 768refgcc_-m32_-march=i386_-Os_-fomit-frame-pointer2019082220190816
3445653538 0 012244 384 768refgcc_-funroll-loops_-m32_-march=k8_-Os_-fomit-frame-pointer2019082220190816
3519477961 0 016936 392 768refgcc_-m32_-march=pentiumpro_-O3_-fomit-frame-pointer2019082220190816
3520530606 0 014080 392 768refgcc_-m32_-march=pentium-m_-O2_-fomit-frame-pointer2019082220190816
36481291879 0 018232 392 768refgcc_-m32_-march=pentium-m_-O3_-fomit-frame-pointer2019082220190816
3674529606 0 013724 392 768refgcc_-m32_-march=pentium3_-O2_-fomit-frame-pointer2019082220190816
3697278606 0 013724 392 768refgcc_-m32_-march=pentium2_-O2_-fomit-frame-pointer2019082220190816
3751323961 0 017144 392 768refgcc_-m32_-march=pentium3_-O3_-fomit-frame-pointer2019082220190816
3753255961 0 016936 392 768refgcc_-m32_-march=pentium2_-O3_-fomit-frame-pointer2019082220190816
3814872606 0 013400 392 768refgcc_-m32_-march=pentium3_-O_-fomit-frame-pointer2019082220190816
3822459606 0 013400 392 768refgcc_-m32_-march=pentiumpro_-O_-fomit-frame-pointer2019082220190816
4093071606 0 013440 392 768refgcc_-m32_-march=pentium-m_-O_-fomit-frame-pointer2019082220190816
4109376606 0 013400 392 768refgcc_-m32_-march=pentium2_-O_-fomit-frame-pointer2019082220190816
4177752521 0 012132 384 768refgcc_-funroll-loops_-m32_-march=pentium2_-Os_-fomit-frame-pointer2019082220190816
4245135521 0 012132 384 768refgcc_-funroll-loops_-m32_-march=pentiumpro_-Os_-fomit-frame-pointer2019082220190816
4318776518 0 012148 384 768refgcc_-m32_-march=pentiumpro_-Os_-fomit-frame-pointer2019082220190816
4412727518 0 012148 384 768refgcc_-m32_-march=pentium2_-Os_-fomit-frame-pointer2019082220190816
4505862518 0 012180 384 768refgcc_-m32_-march=pentium-m_-Os_-fomit-frame-pointer2019082220190816
4511751518 0 012148 384 768refgcc_-m32_-march=pentium3_-Os_-fomit-frame-pointer2019082220190816
4582953521 0 012132 384 768refgcc_-funroll-loops_-m32_-march=pentium3_-Os_-fomit-frame-pointer2019082220190816
4594434521 0 012164 384 768refgcc_-funroll-loops_-m32_-march=pentium-m_-Os_-fomit-frame-pointer2019082220190816

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
mult768.c: mult768.c: In function 'squeeze_3_x16':
mult768.c: mult768.c:19:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
mult768.c: {
mult768.c: ^
mult768.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
mult768.c: from mult768.c:2:
mult768.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
mult768.c: _mm256_sub_epi16 (__m256i __A, __m256i __B)
mult768.c: ^~~~~~~~~~~~~~~~
mult768.c: mult768.c:12:17: note: called from here
mult768.c: #define sub_x16 _mm256_sub_epi16
mult768.c: ^
mult768.c: mult768.c:20:10: note: in expansion of macro 'sub_x16'
mult768.c: return sub_x16(x,mullo_x16(mulhrs_x16(x,const_x16(10923)),const_x16(3)));
mult768.c: ^~~~~~~
mult768.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
mult768.c: from mult768.c:2:
mult768.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:553:1: error: inlining failed in call to always_inline '_mm256_mullo_epi16': target specific option mismatch
mult768.c: _mm256_mullo_epi16 (__m256i __A, __m256i __B)
mult768.c: ^~~~~~~~~~~~~~~~~~
mult768.c: mult768.c:12:17: note: called from here
mult768.c: #define sub_x16 _mm256_sub_epi16
mult768.c: ^
mult768.c: mult768.c:20:10: note: in expansion of macro 'sub_x16'
mult768.c: return sub_x16(x,mullo_x16(mulhrs_x16(x,const_x16(10923)),const_x16(3)));
mult768.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
mult768.c: mult768.c: In function 'squeeze_3_x16':
mult768.c: mult768.c:19:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
mult768.c: {
mult768.c: ^
mult768.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
mult768.c: from mult768.c:2:
mult768.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
mult768.c: _mm256_sub_epi16 (__m256i __A, __m256i __B)
mult768.c: ^~~~~~~~~~~~~~~~
mult768.c: mult768.c:12:17: note: called from here
mult768.c: #define sub_x16 _mm256_sub_epi16
mult768.c: ^
mult768.c: mult768.c:20:10: note: in expansion of macro 'sub_x16'
mult768.c: return sub_x16(x,mullo_x16(mulhrs_x16(x,const_x16(10923)),const_x16(3)));
mult768.c: ^~~~~~~
mult768.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
mult768.c: from mult768.c:2:
mult768.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:553:1: error: inlining failed in call to always_inline '_mm256_mullo_epi16': target specific option mismatch
mult768.c: _mm256_mullo_epi16 (__m256i __A, __m256i __B)
mult768.c: ^~~~~~~~~~~~~~~~~~
mult768.c: mult768.c:12:17: note: called from here
mult768.c: #define sub_x16 _mm256_sub_epi16
mult768.c: ^
mult768.c: mult768.c:20:10: note: in expansion of macro 'sub_x16'
mult768.c: return sub_x16(x,mullo_x16(mulhrs_x16(x,const_x16(10923)),const_x16(3)));
mult768.c: ...
mult768.c: mult768.c: In function 'squeeze_3_x16':
mult768.c: mult768.c:19:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
mult768.c: {
mult768.c: ^
mult768.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
mult768.c: from mult768.c:2:
mult768.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
mult768.c: _mm256_sub_epi16 (__m256i __A, __m256i __B)
mult768.c: ^~~~~~~~~~~~~~~~
mult768.c: mult768.c:12:17: note: called from here
mult768.c: #define sub_x16 _mm256_sub_epi16
mult768.c: ^
mult768.c: mult768.c:20:10: note: in expansion of macro 'sub_x16'
mult768.c: return sub_x16(x,mullo_x16(mulhrs_x16(x,const_x16(10923)),const_x16(3)));
mult768.c: ^~~~~~~
mult768.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
mult768.c: from mult768.c:2:
mult768.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:553:1: error: inlining failed in call to always_inline '_mm256_mullo_epi16': target specific option mismatch
mult768.c: _mm256_mullo_epi16 (__m256i __A, __m256i __B)
mult768.c: ^~~~~~~~~~~~~~~~~~
mult768.c: mult768.c:12:17: note: called from here
mult768.c: #define sub_x16 _mm256_sub_epi16
mult768.c: ^
mult768.c: mult768.c:20:10: note: in expansion of macro 'sub_x16'
mult768.c: return sub_x16(x,mullo_x16(mulhrs_x16(x,const_x16(10923)),const_x16(3)));
mult768.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
mult768.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
mult768.c: from mult768.c:2:
mult768.c: mult768.c: In function 'squeeze_3_x16':
mult768.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
mult768.c: _mm256_sub_epi16 (__m256i __A, __m256i __B)
mult768.c: ^~~~~~~~~~~~~~~~
mult768.c: mult768.c:12:17: note: called from here
mult768.c: #define sub_x16 _mm256_sub_epi16
mult768.c: ^
mult768.c: mult768.c:20:10: note: in expansion of macro 'sub_x16'
mult768.c: return sub_x16(x,mullo_x16(mulhrs_x16(x,const_x16(10923)),const_x16(3)));
mult768.c: ^~~~~~~
mult768.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
mult768.c: from mult768.c:2:
mult768.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:553:1: error: inlining failed in call to always_inline '_mm256_mullo_epi16': target specific option mismatch
mult768.c: _mm256_mullo_epi16 (__m256i __A, __m256i __B)
mult768.c: ^~~~~~~~~~~~~~~~~~
mult768.c: mult768.c:12:17: note: called from here
mult768.c: #define sub_x16 _mm256_sub_epi16
mult768.c: ^
mult768.c: mult768.c:20:10: note: in expansion of macro 'sub_x16'
mult768.c: return sub_x16(x,mullo_x16(mulhrs_x16(x,const_x16(10923)),const_x16(3)));
mult768.c: ^~~~~~~
mult768.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
mult768.c: from mult768.c:2:
mult768.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

Compiler output

Implementation: round1
Security model: unknown
Compiler: gcc -funroll-loops -m32 -O2 -fomit-frame-pointer
mult.c: mult.c: In function '_mm_load_cvtepi8_epi16':
mult.c: mult.c:58:1: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
mult.c: {
mult.c: ^
mult.c: mult.c: In function 'add':
mult.c: mult.c:81:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
mult.c: {
mult.c: ^
mult.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:85:0,
mult.c: from mult.c:2:
mult.c: mult.c: In function 'fastadd':
mult.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/fmaintrin.h:63:1: error: inlining failed in call to always_inline '_mm256_fmadd_ps': target specific option mismatch
mult.c: _mm256_fmadd_ps (__m256 __A, __m256 __B, __m256 __C)
mult.c: ^~~~~~~~~~~~~~~
mult.c: mult.c:87:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mult.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
mult.c: from mult.c:2:
mult.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:1310:1: error: inlining failed in call to always_inline '_mm256_set1_ps': target specific option mismatch
mult.c: _mm256_set1_ps (float __A)
mult.c: ^~~~~~~~~~~~~~
mult.c: mult.c:87:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

Compiler output

Implementation: round1
Security model: unknown
Compiler: gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer
mult.c: mult.c: In function 'add':
mult.c: mult.c:81:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
mult.c: {
mult.c: ^
mult.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:85:0,
mult.c: from mult.c:2:
mult.c: mult.c: In function 'fastadd':
mult.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/fmaintrin.h:63:1: error: inlining failed in call to always_inline '_mm256_fmadd_ps': target specific option mismatch
mult.c: _mm256_fmadd_ps (__m256 __A, __m256 __B, __m256 __C)
mult.c: ^~~~~~~~~~~~~~~
mult.c: mult.c:87:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mult.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
mult.c: from mult.c:2:
mult.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:1310:1: error: inlining failed in call to always_inline '_mm256_set1_ps': target specific option mismatch
mult.c: _mm256_set1_ps (float __A)
mult.c: ^~~~~~~~~~~~~~
mult.c: mult.c:87:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

Compiler output

Implementation: round1
Security model: unknown
Compiler: gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
mult.c: mult.c: In function 'add':
mult.c: mult.c:81:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
mult.c: {
mult.c: ^
mult.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:85:0,
mult.c: from mult.c:2:
mult.c: mult.c: In function 'fastadd':
mult.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/fmaintrin.h:63:1: error: inlining failed in call to always_inline '_mm256_fmadd_ps': target specific option mismatch
mult.c: _mm256_fmadd_ps (__m256 __A, __m256 __B, __m256 __C)
mult.c: ^~~~~~~~~~~~~~~
mult.c: mult.c:87:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mult.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
mult.c: from mult.c:2:
mult.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:1310:1: error: inlining failed in call to always_inline '_mm256_set1_ps': target specific option mismatch
mult.c: _mm256_set1_ps (float __A)
mult.c: ^~~~~~~~~~~~~~
mult.c: mult.c:87:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mult.c: mult.c: In function 'add':
mult.c: mult.c:81:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
mult.c: {
mult.c: ^
mult.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:85:0,
mult.c: from mult.c:2:
mult.c: mult.c: In function 'fastadd':
mult.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/fmaintrin.h:63:1: error: inlining failed in call to always_inline '_mm256_fmadd_ps': target specific option mismatch
mult.c: _mm256_fmadd_ps (__m256 __A, __m256 __B, __m256 __C)
mult.c: ^~~~~~~~~~~~~~~
mult.c: mult.c:87:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mult.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
mult.c: from mult.c:2:
mult.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:1310:1: error: inlining failed in call to always_inline '_mm256_set1_ps': target specific option mismatch
mult.c: _mm256_set1_ps (float __A)
mult.c: ^~~~~~~~~~~~~~
mult.c: mult.c:87:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

Compiler output

Implementation: round1
Security model: unknown
Compiler: gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer
mult.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:85:0,
mult.c: from mult.c:2:
mult.c: mult.c: In function 'fastadd':
mult.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/fmaintrin.h:63:1: error: inlining failed in call to always_inline '_mm256_fmadd_ps': target specific option mismatch
mult.c: _mm256_fmadd_ps (__m256 __A, __m256 __B, __m256 __C)
mult.c: ^~~~~~~~~~~~~~~
mult.c: mult.c:87:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mult.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:85:0,
mult.c: from mult.c:2:
mult.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/fmaintrin.h:63:1: error: inlining failed in call to always_inline '_mm256_fmadd_ps': target specific option mismatch
mult.c: _mm256_fmadd_ps (__m256 __A, __m256 __B, __m256 __C)
mult.c: ^~~~~~~~~~~~~~~
mult.c: mult.c:87:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

Compiler output

Implementation: round1
Security model: unknown
Compiler: gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer
mult.c: mult.c: In function 'mult24x8_float':
mult.c: mult.c:46:3: error: 'asm' operand has impossible constraints
mult.c: __asm__( \
mult.c: ^
mult.c: mult.c:146:3: note: in expansion of macro 'MULSTEP_fromzero'
mult.c: MULSTEP_fromzero(0,h0,h1,h2,h3,h4)
mult.c: ^~~~~~~~~~~~~~~~
mult.c: mult.c:33:3: error: 'asm' operand has impossible constraints
mult.c: __asm__( \
mult.c: ^
mult.c: mult.c:148:5: note: in expansion of macro 'MULSTEP_noload'
mult.c: MULSTEP_noload(j + 1,h1,h2,h3,h4,h0)
mult.c: ^~~~~~~~~~~~~~
mult.c: mult.c:33:3: error: 'asm' operand has impossible constraints
mult.c: __asm__( \
mult.c: ^
mult.c: mult.c:149:5: note: in expansion of macro 'MULSTEP_noload'
mult.c: MULSTEP_noload(j + 2,h2,h3,h4,h0,h1)
mult.c: ^~~~~~~~~~~~~~
mult.c: mult.c:33:3: error: 'asm' operand has impossible constraints
mult.c: __asm__( \
mult.c: ^
mult.c: mult.c:150:5: note: in expansion of macro 'MULSTEP_noload'
mult.c: MULSTEP_noload(j + 3,h3,h4,h0,h1,h2)
mult.c: ^~~~~~~~~~~~~~
mult.c: ...

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer round1
gcc -m32 -march=core-avx2 -O -fomit-frame-pointer round1
gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer round1