Implementation notes: amd64, gpu, crypto_aead/hs1sivv2

Computer: gpu
Architecture: amd64
CPU ID: GenuineIntel-000206d7-bfebfbff
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: hs1sivv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1886412993 0 032382 792 928fastergcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019082620190816
1896412428 0 033061 776 1160dolbeau/amd64-sseclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019082620190816
1905912936 0 034357 776 1160dolbeau/amd64-sseclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2019082620190816
1966812936 0 034357 776 1160dolbeau/amd64-sseclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082620190816
1976812428 0 033061 776 1160dolbeau/amd64-sseclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019082620190816
2097911091 0 031109 784 928fastergcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019082620190816
2122212657 0 032078 792 928fastergcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019082620190816
2133611797 0 032181 784 928fastergcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019082620190816
2154620556 0 042758 792 928fastergcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019082620190816
216049312 0 024729 768 896dolbeau/amd64-ssegcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019082620190816
2180111797 0 032181 784 928fastergcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019082620190816
2188012609 0 031830 792 928fastergcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019082620190816
219889312 0 024729 768 896dolbeau/amd64-ssegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019082620190816
2200022246 0 038861 784 928dolbeau/amd64-ssegcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019082620190816
2214011091 0 031109 784 928fastergcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019082620190816
222049312 0 024729 768 896dolbeau/amd64-ssegcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019082620190816
2231612657 0 032014 792 928fastergcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019082620190816
2237411653 0 031989 784 928fastergcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082620190816
2259319134 0 040342 792 928fastergcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019082620190816
2272419291 0 041030 792 928fastergcc_-funroll-loops_-O3_-fomit-frame-pointer2019082620190816
228128884 0 025941 784 928fastergcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019082620190816
2283219291 0 041030 792 928fastergcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019082620190816
2285410919 0 030925 784 928fastergcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019082620190816
2286810850 0 030965 784 928fastergcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019082620190816
2309610850 0 030965 784 928fastergcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019082620190816
232299037 0 026109 784 928fastergcc_-m64_-O2_-fomit-frame-pointer2019082620190816
2334811128 0 031429 784 928fastergcc_-funroll-loops_-O_-fomit-frame-pointer2019082620190816
2339711355 0 031117 784 928fastergcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019082620190816
235487550 0 023065 768 896fastergcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019082620190816
236088892 0 025957 784 928fastergcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019082620190816
2362021228 0 043710 792 928fastergcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019082620190816
2369222246 0 038861 784 928dolbeau/amd64-ssegcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019082620190816
237208884 0 025933 784 928fastergcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019082620190816
237308461 0 024981 784 928fastergcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019082620190816
2389611429 0 031533 784 928fastergcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019082620190816
2408413986 0 033542 792 928fastergcc_-march=k8_-O3_-fomit-frame-pointer2019082620190816
2413622246 0 038861 784 928dolbeau/amd64-ssegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019082620190816
241479749 0 025161 768 896dolbeau/amd64-ssegcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019082620190816
2415213258 0 032646 792 928fastergcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082620190816
2416011355 0 031117 784 928fastergcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019082620190816
2420022246 0 038861 784 928dolbeau/amd64-ssegcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019082620190816
2422019134 0 040342 792 928fastergcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019082620190816
242318345 0 025117 784 928fastergcc_-m64_-march=core2_-O_-fomit-frame-pointer2019082620190816
2427211653 0 031989 784 928fastergcc_-funroll-loops_-O2_-fomit-frame-pointer2019082620190816
2432814442 0 034302 792 928fastergcc_-march=barcelona_-O3_-fomit-frame-pointer2019082620190816
243487978 0 023569 768 896fastergcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019082620190816
243607992 0 023577 768 896fastergcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082620190816
2443220556 0 042758 792 928fastergcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019082620190816
244889312 0 024729 768 896dolbeau/amd64-ssegcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019082620190816
2449613986 0 033542 792 928fastergcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019082620190816
245498480 0 025277 784 928fastergcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019082620190816
246008884 0 025933 784 928fastergcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019082620190816
2461211429 0 031533 784 928fastergcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019082620190816
2468425175 0 041789 784 928dolbeau/amd64-ssegcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019082620190816
2484411128 0 031429 784 928fastergcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019082620190816
2485824848 0 041469 784 928dolbeau/amd64-ssegcc_-m64_-march=core2_-O_-fomit-frame-pointer2019082620190816
2487610919 0 030925 784 928fastergcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019082620190816
2488413120 0 032022 792 928fastergcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019082620190816
2489619291 0 041030 792 928fastergcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082620190816
249247664 0 023201 768 896fastergcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019082620190816
2493211128 0 031429 784 928fastergcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019082620190816
249579037 0 026109 784 928fastergcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082620190816
2516813120 0 032022 792 928fastergcc_-march=nocona_-O3_-fomit-frame-pointer2019082620190816
251847978 0 023569 768 896fastergcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019082620190816
2518821228 0 043710 792 928fastergcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019082620190816
2530811653 0 031989 784 928fastergcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019082620190816
254687992 0 023585 768 896fastergcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019082620190816
255087992 0 023577 768 896fastergcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019082620190816
2557213258 0 032646 792 928fastergcc_-O3_-fomit-frame-pointer2019082620190816
255967793 0 023337 768 896fastergcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019082620190816
256408234 0 025045 784 928fastergcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019082620190816
257727814 0 023361 768 896fastergcc_-march=barcelona_-Os_-fomit-frame-pointer2019082620190816
258448234 0 025045 784 928fastergcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019082620190816
258727814 0 023353 768 896fastergcc_-m64_-Os_-fomit-frame-pointer2019082620190816
259127550 0 023065 768 896fastergcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019082620190816
259407814 0 023353 768 896fastergcc_-march=k8_-Os_-fomit-frame-pointer2019082620190816
260488461 0 024981 784 928fastergcc_-march=nocona_-O2_-fomit-frame-pointer2019082620190816
2607215628 0 023361 768 896fastergcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019082620190816
2616013258 0 032646 792 928fastergcc_-m64_-O3_-fomit-frame-pointer2019082620190816
2616828884 0 034302 792 928fastergcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019082620190816
2623624784 0 041405 784 928dolbeau/amd64-ssegcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019082620190816
264807992 0 023585 768 896fastergcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019082620190816
265328000 0 023585 768 896fastergcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019082620190816
266198481 0 025277 784 928fastergcc_-march=barcelona_-O_-fomit-frame-pointer2019082620190816
266328000 0 023585 768 896fastergcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019082620190816
266927550 0 023065 768 896fastergcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019082620190816
267729695 0 025129 768 896dolbeau/amd64-ssegcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019082620190816
268049687 0 025113 768 896dolbeau/amd64-ssegcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019082620190816
268167814 0 023353 768 896fastergcc_-Os_-fomit-frame-pointer2019082620190816
2688018362 0 026549 784 928fastergcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019082620190816
269688213 0 025045 784 928fastergcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019082620190816
2699624784 0 041405 784 928dolbeau/amd64-ssegcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019082620190816
270848629 0 025557 784 928fastergcc_-march=k8_-O2_-fomit-frame-pointer2019082620190816
272407793 0 023337 768 896fastergcc_-march=nocona_-Os_-fomit-frame-pointer2019082620190816
272798136 0 024829 784 928fastergcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019082620190816
274128629 0 025557 784 928fastergcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019082620190816
275088136 0 024829 784 928fastergcc_-march=nocona_-O_-fomit-frame-pointer2019082620190816
275688480 0 025277 784 928fastergcc_-m64_-O_-fomit-frame-pointer2019082620190816
276049181 0 026549 784 928fastergcc_-march=barcelona_-O2_-fomit-frame-pointer2019082620190816
276449687 0 025113 768 896dolbeau/amd64-ssegcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019082620190816
276447814 0 023353 768 896fastergcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082620190816
276689037 0 026109 784 928fastergcc_-O2_-fomit-frame-pointer2019082620190816
276728148 0 024853 784 928fastergcc_-march=k8_-O_-fomit-frame-pointer2019082620190816
277087814 0 023353 768 896fastergcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019082620190816
277367992 0 023577 768 896fastergcc_-funroll-loops_-Os_-fomit-frame-pointer2019082620190816
287528148 0 024853 784 928fastergcc_-m64_-march=k8_-O_-fomit-frame-pointer2019082620190816
295888480 0 025277 784 928fastergcc_-O_-fomit-frame-pointer2019082620190816
2997616962 0 025277 784 928fastergcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019082620190816
428807867 0 029253 776 1160refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082620190816
482437277 0 027877 776 1160refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019082620190816
499507515 0 031173 776 872refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082620190816
505767867 0 029253 776 1160refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2019082620190816
530967515 0 031173 776 872refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082620190816
537007277 0 027877 776 1160refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019082620190816
554327515 0 031173 776 872refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082620190816
561247515 0 029845 776 872refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019082620190816
625966231 0 025078 792 928refgcc_-march=nocona_-O3_-fomit-frame-pointer2019082620190816
642248055 0 029742 792 928refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082620190816
649727902 0 029046 792 928refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019082620190816
657007431 0 027701 784 928refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082620190816
668206407 0 025774 792 928refgcc_-m64_-O3_-fomit-frame-pointer2019082620190816
668766279 0 025702 792 928refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019082620190816
671886303 0 025678 792 928refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019082620190816
673647991 0 030406 792 928refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019082620190816
674527431 0 027701 784 928refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019082620190816
676606279 0 025702 792 928refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019082620190816
676967902 0 029046 792 928refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019082620190816
678326231 0 025078 792 928refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019082620190816
678766127 0 025334 792 928refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019082620190816
682248055 0 029742 792 928refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019082620190816
685927837 0 029998 792 928refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019082620190816
689406255 0 025630 792 928refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019082620190816
6910413358 0 026502 792 928refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019082620190816
692227527 0 027861 784 928refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019082620190816
693126255 0 025566 792 928refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019082620190816
698406407 0 025774 792 928refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082620190816
698686541 0 026062 792 928refgcc_-march=k8_-O3_-fomit-frame-pointer2019082620190816
701247837 0 029998 792 928refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019082620190816
705206279 0 025702 792 928refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019082620190816
705327304 0 026965 784 928refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019082620190816
707008055 0 029742 792 928refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019082620190816
714926279 0 025606 792 928refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019082620190816
719367991 0 030406 792 928refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019082620190816
726887527 0 027861 784 928refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019082620190816
733366541 0 026062 792 928refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019082620190816
739407461 0 027509 784 928refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019082620190816
742966407 0 025774 792 928refgcc_-O3_-fomit-frame-pointer2019082620190816
744687461 0 027509 784 928refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019082620190816
767727431 0 027701 784 928refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019082620190816
769726679 0 026502 792 928refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019082620190816
799207304 0 026965 784 928refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019082620190816
832008110 0 028406 792 928refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019082620190816
845795523 0 021981 784 928refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019082620190816
851845631 0 022621 784 928refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019082620190816
852525631 0 022621 784 928refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019082620190816
858045623 0 022613 784 928refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019082620190816
858325663 0 022653 784 928refgcc_-m64_-O2_-fomit-frame-pointer2019082620190816
859965679 0 022693 784 928refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019082620190816
862285733 0 022621 784 928refgcc_-march=k8_-O2_-fomit-frame-pointer2019082620190816
864765733 0 022621 784 928refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019082620190816
8708811534 0 023053 784 928refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019082620190816
873445679 0 022693 784 928refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019082620190816
879925523 0 021981 784 928refgcc_-march=nocona_-O2_-fomit-frame-pointer2019082620190816
881205767 0 023053 784 928refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019082620190816
881405631 0 022621 784 928refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019082620190816
897405679 0 022693 784 928refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019082620190816
903184608 0 020089 768 896refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019082620190816
904564612 0 020121 768 896refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019082620190816
908928096 0 028134 792 928refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019082620190816
913085663 0 022653 784 928refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082620190816
924884608 0 020089 768 896refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019082620190816
926168127 0 028238 792 928refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019082620190816
928744614 0 020121 768 896refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019082620190816
929224608 0 020089 768 896refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082620190816
931004539 0 019977 768 896refgcc_-m64_-Os_-fomit-frame-pointer2019082620190816
941084549 0 020001 768 896refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019082620190816
943965663 0 022653 784 928refgcc_-O2_-fomit-frame-pointer2019082620190816
944208048 0 028118 792 928refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019082620190816
948165631 0 022621 784 928refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019082620190816
962204539 0 019985 768 896refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019082620190816
969084544 0 020017 768 896refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019082620190816
974964614 0 020121 768 896refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019082620190816
979248127 0 028238 792 928refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019082620190816
980164544 0 020017 768 896refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019082620190816
980564539 0 019977 768 896refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082620190816
990168096 0 028134 792 928refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019082620190816
995804549 0 020001 768 896refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019082620190816
999768110 0 028406 792 928refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019082620190816
1000128110 0 028406 792 928refgcc_-funroll-loops_-O_-fomit-frame-pointer2019082620190816
1000449088 0 020017 768 896refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019082620190816
1002644549 0 020001 768 896refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019082620190816
1002764549 0 020001 768 896refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019082620190816
1007484614 0 020129 768 896refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019082620190816
1008246026 0 022726 792 928refgcc_-march=nocona_-O_-fomit-frame-pointer2019082620190816
1015084612 0 020121 768 896refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019082620190816
10221614967 0 033638 776 888fastergcc_-funroll-loops2019082620190816
1024564544 0 020017 768 896refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019082620190816
1032646037 0 022870 792 928refgcc_-O_-fomit-frame-pointer2019082620190816
1035646037 0 022870 792 928refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019082620190816
1035724544 0 020017 768 896refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019082620190816
1036844614 0 020129 768 896refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019082620190816
1037764542 0 020009 768 896refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019082620190816
10400414967 0 033638 776 888fastergcc2019082620190816
1043164544 0 020009 768 896refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019082620190816
1043766037 0 022870 792 928refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019082620190816
10440014967 0 033638 776 888fastercc2019082620190816
1044848048 0 028118 792 928refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019082620190816
1061524544 0 020009 768 896refgcc_-march=k8_-Os_-fomit-frame-pointer2019082620190816
1069804539 0 019977 768 896refgcc_-Os_-fomit-frame-pointer2019082620190816
1081006026 0 022726 792 928refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019082620190816
1088206037 0 022870 792 928refgcc_-m64_-O_-fomit-frame-pointer2019082620190816
1095326037 0 022870 792 928refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019082620190816
1117444542 0 020009 768 896refgcc_-march=nocona_-Os_-fomit-frame-pointer2019082620190816
11237612000 0 022822 792 928refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019082620190816
1148846037 0 022870 792 928refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019082620190816
1149566037 0 022870 792 928refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019082620190816
1150886000 0 022822 792 928refgcc_-march=barcelona_-O_-fomit-frame-pointer2019082620190816
1151366037 0 022870 792 928refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019082620190816
1154206037 0 022870 792 928refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019082620190816
1160046037 0 022870 792 928refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019082620190816
1161806081 0 022814 792 928refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019082620190816
1173926081 0 022814 792 928refgcc_-march=k8_-O_-fomit-frame-pointer2019082620190816
1187246037 0 022870 792 928refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019082620190816
5680608779 0 027471 784 888refgcc_-funroll-loops2019082620190816
5748728779 0 027471 784 888refcc2019082620190816
7018128779 0 027471 784 888refgcc2019082620190816

Test failure

Implementation: dolbeau/amd64-avx2
Security model: unknown
Compiler: gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer faster
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer faster
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer faster
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer ref

Test failure

Implementation: dolbeau/amd64-sse
Security model: unknown
Compiler: gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer
error 111
crypto_aead_decrypt returns nonzero

Number of similar (compiler,implementation) pairs: 16, namely:
CompilerImplementations
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=core2 -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=core2 -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv dolbeau/amd64-sse
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv dolbeau/amd64-sse

Compiler output

Implementation: dolbeau/amd64-avx2
Security model: unknown
Compiler: cc
encrypt.c: encrypt.c:90:2: error: #error "This code requires AVX2 to work"
encrypt.c: #error "This code requires AVX2 to work"
encrypt.c: ^~~~~
encrypt.c: encrypt.c: In function 'prf_hash2_2':
encrypt.c: encrypt.c:425:19: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
encrypt.c: __m256i kv0 = _mm256_loadu_si256((const __m256i*)(nhkey+ 0)); // 1
encrypt.c: ^~~

Number of similar (compiler,implementation) pairs: 87, namely:
CompilerImplementations
cc dolbeau/amd64-avx2
gcc dolbeau/amd64-avx2
gcc -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -fno-schedule-insns -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -fno-schedule-insns -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -fno-schedule-insns -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -fno-schedule-insns -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops dolbeau/amd64-avx2
gcc -funroll-loops -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core2 -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core2 -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core2 -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core2 -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=corei7 -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=corei7 -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=k8 -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=k8 -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=k8 -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=k8 -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=nocona -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=nocona -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=nocona -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=nocona -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=barcelona -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=barcelona -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=barcelona -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=barcelona -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=k8 -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=k8 -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=k8 -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=k8 -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=nocona -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=nocona -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=nocona -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=nocona -Os -fomit-frame-pointer dolbeau/amd64-avx2

Compiler output

Implementation: dolbeau/amd64-avx2
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
encrypt.c: encrypt.c:90:2: error: "This code requires AVX2 to work"
encrypt.c: #error "This code requires AVX2 to work"
encrypt.c: ^
encrypt.c: 1 error generated.

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments dolbeau/amd64-avx2
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments dolbeau/amd64-avx2
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments dolbeau/amd64-avx2
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments dolbeau/amd64-avx2
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-avx2
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-avx2
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-avx2
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-avx2

Compiler output

Implementation: dolbeau/amd64-avx2
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
encrypt.c: encrypt.c:90:2: error: #error "This code requires AVX2 to work"
encrypt.c: #error "This code requires AVX2 to work"
encrypt.c: ^~~~~
encrypt.c: encrypt.c: In function 'prf_hash2_2':
encrypt.c: encrypt.c:425:19: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
encrypt.c: __m256i kv0 = _mm256_loadu_si256((const __m256i*)(nhkey+ 0)); // 1
encrypt.c: ^~~
encrypt.c: encrypt.c:90:2: error: #error "This code requires AVX2 to work"
encrypt.c: #error "This code requires AVX2 to work"
encrypt.c: ^~~~~
encrypt.c: encrypt.c: In function 'prf_hash2_2':
encrypt.c: encrypt.c:425:19: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
encrypt.c: __m256i kv0 = _mm256_loadu_si256((const __m256i*)(nhkey+ 0)); // 1
encrypt.c: ^~~

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=barcelona -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=barcelona -Os -fomit-frame-pointer dolbeau/amd64-avx2

Compiler output

Implementation: dolbeau/amd64-avx2
Security model: unknown
Compiler: gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer
encrypt.c: encrypt.c:90:2: error: #error "This code requires AVX2 to work"
encrypt.c: #error "This code requires AVX2 to work"
encrypt.c: ^~~~~

Number of similar (compiler,implementation) pairs: 16, namely:
CompilerImplementations
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv dolbeau/amd64-avx2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv dolbeau/amd64-avx2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv dolbeau/amd64-avx2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv dolbeau/amd64-avx2

Compiler output

Implementation: dolbeau/amd64-avx512
Security model: unknown
Compiler: cc
encrypt.c: encrypt.c:90:2: error: #error "This code requires AVX512F to work"
encrypt.c: #error "This code requires AVX512F to work"
encrypt.c: ^~~~~
encrypt.c: encrypt.c:322:20: error: conflicting types for '_mm512_reduce_add_epi64'
encrypt.c: unsigned long long _mm512_reduce_add_epi64 (__m512i a) {
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:45:0,
encrypt.c: from encrypt.c:54:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h:13531:1: note: previous definition of '_mm512_reduce_add_epi64' was here
encrypt.c: _mm512_reduce_add_epi64 (__m512i __A)
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c: In function '_mm512_reduce_add_epi64':
encrypt.c: encrypt.c:322:20: note: The ABI for passing parameters with 64-byte alignment has changed in GCC 4.6
encrypt.c: unsigned long long _mm512_reduce_add_epi64 (__m512i a) {
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c: In function 'prf_hash2_2':
encrypt.c: encrypt.c:483:19: warning: AVX512F vector return without AVX512F enabled changes the ABI [-Wpsabi]
encrypt.c: __m512i kv0 = _mm512_loadu_si512((const __m512i*)(nhkey+ 0)); // 1
encrypt.c: ^~~
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
encrypt.c: from encrypt.c:54:
encrypt.c: encrypt.c:502:50: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
encrypt.c: __m256i inv0 = _mm256_inserti128_si256(_mm256_castsi128_si256(inv0lo), inv0lo, 1);
encrypt.c: ^

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
cc dolbeau/amd64-avx512
gcc dolbeau/amd64-avx512
gcc -funroll-loops dolbeau/amd64-avx512

Compiler output

Implementation: dolbeau/amd64-avx512
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
encrypt.c: encrypt.c:90:2: error: "This code requires AVX512F to work"
encrypt.c: #error "This code requires AVX512F to work"
encrypt.c: ^
encrypt.c: encrypt.c:322:20: error: conflicting types for '_mm512_reduce_add_epi64'
encrypt.c: unsigned long long _mm512_reduce_add_epi64 (__m512i a) {
encrypt.c: ^
encrypt.c: /usr/lib/llvm-6.0/lib/clang/6.0.0/include/avx512fintrin.h:9747:48: note: previous definition is here
encrypt.c: static __inline__ long long __DEFAULT_FN_ATTRS _mm512_reduce_add_epi64(__m512i __W) {
encrypt.c: ^
encrypt.c: encrypt.c:335:21: error: invalid input size for constraint 'Yz'
encrypt.c: : [a] "Yz" (a)
encrypt.c: ^
encrypt.c: 3 errors generated.

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments dolbeau/amd64-avx512
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments dolbeau/amd64-avx512
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments dolbeau/amd64-avx512
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments dolbeau/amd64-avx512
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-avx512
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-avx512
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-avx512
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-avx512

Compiler output

Implementation: dolbeau/amd64-avx512
Security model: unknown
Compiler: gcc -O2 -fomit-frame-pointer
encrypt.c: encrypt.c:90:2: error: #error "This code requires AVX512F to work"
encrypt.c: #error "This code requires AVX512F to work"
encrypt.c: ^~~~~
encrypt.c: encrypt.c:322:20: error: conflicting types for '_mm512_reduce_add_epi64'
encrypt.c: unsigned long long _mm512_reduce_add_epi64 (__m512i a) {
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:45:0,
encrypt.c: from encrypt.c:54:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h:13531:1: note: previous definition of '_mm512_reduce_add_epi64' was here
encrypt.c: _mm512_reduce_add_epi64 (__m512i __A)
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c: In function '_mm512_reduce_add_epi64':
encrypt.c: encrypt.c:322:20: note: The ABI for passing parameters with 64-byte alignment has changed in GCC 4.6
encrypt.c: unsigned long long _mm512_reduce_add_epi64 (__m512i a) {
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c: In function 'prf_hash2_2':
encrypt.c: encrypt.c:483:19: warning: AVX512F vector return without AVX512F enabled changes the ABI [-Wpsabi]
encrypt.c: __m512i kv0 = _mm512_loadu_si512((const __m512i*)(nhkey+ 0)); // 1
encrypt.c: ^~~
encrypt.c: encrypt.c:502:19: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
encrypt.c: __m256i inv0 = _mm256_inserti128_si256(_mm256_castsi128_si256(inv0lo), inv0lo, 1);
encrypt.c: ^~~~

Number of similar (compiler,implementation) pairs: 84, namely:
CompilerImplementations
gcc -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -fno-schedule-insns -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -fno-schedule-insns -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -fno-schedule-insns -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -fno-schedule-insns -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -m64 -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -m64 -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=core2 -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=core2 -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=core2 -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=core2 -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=corei7 -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=corei7 -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=k8 -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=k8 -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=k8 -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=k8 -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=nocona -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=nocona -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=nocona -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=nocona -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -march=barcelona -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -march=barcelona -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -march=barcelona -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -march=barcelona -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -march=k8 -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -march=k8 -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -march=k8 -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -march=k8 -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -march=nocona -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -march=nocona -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -march=nocona -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -march=nocona -Os -fomit-frame-pointer dolbeau/amd64-avx512

Compiler output

Implementation: dolbeau/amd64-avx512
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
encrypt.c: encrypt.c:90:2: error: #error "This code requires AVX512F to work"
encrypt.c: #error "This code requires AVX512F to work"
encrypt.c: ^~~~~
encrypt.c: encrypt.c:322:20: error: conflicting types for '_mm512_reduce_add_epi64'
encrypt.c: unsigned long long _mm512_reduce_add_epi64 (__m512i a) {
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:45:0,
encrypt.c: from encrypt.c:54:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h:13531:1: note: previous definition of '_mm512_reduce_add_epi64' was here
encrypt.c: _mm512_reduce_add_epi64 (__m512i __A)
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c: In function '_mm512_reduce_add_epi64':
encrypt.c: encrypt.c:322:20: note: The ABI for passing parameters with 64-byte alignment has changed in GCC 4.6
encrypt.c: unsigned long long _mm512_reduce_add_epi64 (__m512i a) {
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c: In function 'prf_hash2_2':
encrypt.c: encrypt.c:483:19: warning: AVX512F vector return without AVX512F enabled changes the ABI [-Wpsabi]
encrypt.c: __m512i kv0 = _mm512_loadu_si512((const __m512i*)(nhkey+ 0)); // 1
encrypt.c: ^~~
encrypt.c: encrypt.c:502:19: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
encrypt.c: __m256i inv0 = _mm256_inserti128_si256(_mm256_castsi128_si256(inv0lo), inv0lo, 1);
encrypt.c: ^~~~
encrypt.c: encrypt.c:90:2: error: #error "This code requires AVX512F to work"
encrypt.c: #error "This code requires AVX512F to work"
encrypt.c: ^~~~~
encrypt.c: encrypt.c:322:20: error: conflicting types for '_mm512_reduce_add_epi64'
encrypt.c: unsigned long long _mm512_reduce_add_epi64 (__m512i a) {
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:45:0,
encrypt.c: from encrypt.c:54:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h:13531:1: note: previous definition of '_mm512_reduce_add_epi64' was here
encrypt.c: _mm512_reduce_add_epi64 (__m512i __A)
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c: In function '_mm512_reduce_add_epi64':
encrypt.c: encrypt.c:322:20: note: The ABI for passing parameters with 64-byte alignment has changed in GCC 4.6
encrypt.c: unsigned long long _mm512_reduce_add_epi64 (__m512i a) {
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c: In function 'prf_hash2_2':
encrypt.c: encrypt.c:483:19: warning: AVX512F vector return without AVX512F enabled changes the ABI [-Wpsabi]
encrypt.c: __m512i kv0 = _mm512_loadu_si512((const __m512i*)(nhkey+ 0)); // 1
encrypt.c: ^~~
encrypt.c: encrypt.c:502:19: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
encrypt.c: __m256i inv0 = _mm256_inserti128_si256(_mm256_castsi128_si256(inv0lo), inv0lo, 1);
encrypt.c: ^~~~

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=barcelona -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=barcelona -Os -fomit-frame-pointer dolbeau/amd64-avx512

Compiler output

Implementation: dolbeau/amd64-avx512
Security model: unknown
Compiler: gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer
encrypt.c: encrypt.c:90:2: error: #error "This code requires AVX512F to work"
encrypt.c: #error "This code requires AVX512F to work"
encrypt.c: ^~~~~
encrypt.c: encrypt.c:322:20: error: conflicting types for '_mm512_reduce_add_epi64'
encrypt.c: unsigned long long _mm512_reduce_add_epi64 (__m512i a) {
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:45:0,
encrypt.c: from encrypt.c:54:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h:13531:1: note: previous definition of '_mm512_reduce_add_epi64' was here
encrypt.c: _mm512_reduce_add_epi64 (__m512i __A)
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c: In function '_mm512_reduce_add_epi64':
encrypt.c: encrypt.c:322:20: note: The ABI for passing parameters with 64-byte alignment has changed in GCC 4.6
encrypt.c: unsigned long long _mm512_reduce_add_epi64 (__m512i a) {
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c: In function 'prf_hash2_2':
encrypt.c: encrypt.c:483:19: warning: AVX512F vector return without AVX512F enabled changes the ABI [-Wpsabi]
encrypt.c: __m512i kv0 = _mm512_loadu_si512((const __m512i*)(nhkey+ 0)); // 1
encrypt.c: ^~~

Number of similar (compiler,implementation) pairs: 19, namely:
CompilerImplementations
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer dolbeau/amd64-avx512
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer dolbeau/amd64-avx512
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv dolbeau/amd64-avx512
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv dolbeau/amd64-avx512
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv dolbeau/amd64-avx512
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv dolbeau/amd64-avx512

Compiler output

Implementation: dolbeau/amd64-sse
Security model: unknown
Compiler: cc
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/smmintrin.h:32:0,
encrypt.c: from encrypt.c:54:
encrypt.c: c176.h: In function 'chacha_noxor176':
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
encrypt.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:190:0:
encrypt.c: c176.h:14:84: note: called from here
encrypt.c: x_##a = _mm_add_epi32(x_##a, x_##b); t_##a = _mm_xor_si128(x_##d, x_##a); x_##d = _mm_shuffle_epi8(t_##a, rot8); \
encrypt.c: ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: c176.h:17:36: note: in expansion of macro 'VEC4_QUARTERROUND_SHUFFLE'
encrypt.c: #define VEC4_QUARTERROUND(a,b,c,d) VEC4_QUARTERROUND_SHUFFLE(a,b,c,d)
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: c176.h:106:7: note: in expansion of macro 'VEC4_QUARTERROUND'
encrypt.c: VEC4_QUARTERROUND( 3, 4, 9,14);
encrypt.c: ^~~~~~~~~~~~~~~~~
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/smmintrin.h:32:0,
encrypt.c: from encrypt.c:54:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
encrypt.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:190:0:
encrypt.c: c176.h:12:84: note: called from here
encrypt.c: x_##a = _mm_add_epi32(x_##a, x_##b); t_##a = _mm_xor_si128(x_##d, x_##a); x_##d = _mm_shuffle_epi8(t_##a, rot16); \
encrypt.c: ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 71, namely:
CompilerImplementations
cc dolbeau/amd64-sse
gcc dolbeau/amd64-sse
gcc -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -Os -fomit-frame-pointer dolbeau/amd64-sse
gcc -fno-schedule-insns -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -fno-schedule-insns -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -fno-schedule-insns -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -fno-schedule-insns -Os -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops dolbeau/amd64-sse
gcc -funroll-loops -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -Os -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -m64 -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -m64 -Os -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -Os -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=k8 -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=k8 -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=k8 -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=k8 -Os -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=nocona -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=nocona -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=nocona -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=nocona -Os -fomit-frame-pointer dolbeau/amd64-sse
gcc -march=barcelona -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -march=barcelona -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -march=barcelona -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -march=barcelona -Os -fomit-frame-pointer dolbeau/amd64-sse
gcc -march=k8 -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -march=k8 -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -march=k8 -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -march=k8 -Os -fomit-frame-pointer dolbeau/amd64-sse
gcc -march=nocona -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -march=nocona -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -march=nocona -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -march=nocona -Os -fomit-frame-pointer dolbeau/amd64-sse

Compiler output

Implementation: dolbeau/amd64-sse
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
encrypt.c: In file included from encrypt.c:190:
encrypt.c: ./c176.h:99:7: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'chacha_noxor176' that is compiled without support for 'ssse3'
encrypt.c: VEC4_QUARTERROUND( 0, 4, 8,12);
encrypt.c: ^
encrypt.c: ./c176.h:17:36: note: expanded from macro 'VEC4_QUARTERROUND'
encrypt.c: #define VEC4_QUARTERROUND(a,b,c,d) VEC4_QUARTERROUND_SHUFFLE(a,b,c,d)
encrypt.c: ^
encrypt.c: ./c176.h:12:86: note: expanded from macro 'VEC4_QUARTERROUND_SHUFFLE'
encrypt.c: x_##a = _mm_add_epi32(x_##a, x_##b); t_##a = _mm_xor_si128(x_##d, x_##a); x_##d = _mm_shuffle_epi8(t_##a, rot16); \
encrypt.c: ^
encrypt.c: ./c176.h:99:7: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'chacha_noxor176' that is compiled without support for 'ssse3'
encrypt.c: ./c176.h:17:36: note: expanded from macro 'VEC4_QUARTERROUND'
encrypt.c: #define VEC4_QUARTERROUND(a,b,c,d) VEC4_QUARTERROUND_SHUFFLE(a,b,c,d)
encrypt.c: ^
encrypt.c: ./c176.h:14:86: note: expanded from macro 'VEC4_QUARTERROUND_SHUFFLE'
encrypt.c: x_##a = _mm_add_epi32(x_##a, x_##b); t_##a = _mm_xor_si128(x_##d, x_##a); x_##d = _mm_shuffle_epi8(t_##a, rot8); \
encrypt.c: ^
encrypt.c: ./c176.h:100:7: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'chacha_noxor176' that is compiled without support for 'ssse3'
encrypt.c: VEC4_QUARTERROUND( 1, 5, 9,13);
encrypt.c: ^
encrypt.c: ./c176.h:17:36: note: expanded from macro 'VEC4_QUARTERROUND'
encrypt.c: #define VEC4_QUARTERROUND(a,b,c,d) VEC4_QUARTERROUND_SHUFFLE(a,b,c,d)
encrypt.c: ^
encrypt.c: ./c176.h:12:86: note: expanded from macro 'VEC4_QUARTERROUND_SHUFFLE'
encrypt.c: x_##a = _mm_add_epi32(x_##a, x_##b); t_##a = _mm_xor_si128(x_##d, x_##a); x_##d = _mm_shuffle_epi8(t_##a, rot16); \
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments dolbeau/amd64-sse
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-sse
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-sse
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-sse

Compiler output

Implementation: dolbeau/amd64-sse
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/smmintrin.h:32:0,
encrypt.c: from encrypt.c:54:
encrypt.c: c176.h: In function 'chacha_noxor176':
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
encrypt.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:190:0:
encrypt.c: c176.h:14:84: note: called from here
encrypt.c: x_##a = _mm_add_epi32(x_##a, x_##b); t_##a = _mm_xor_si128(x_##d, x_##a); x_##d = _mm_shuffle_epi8(t_##a, rot8); \
encrypt.c: ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: c176.h:17:36: note: in expansion of macro 'VEC4_QUARTERROUND_SHUFFLE'
encrypt.c: #define VEC4_QUARTERROUND(a,b,c,d) VEC4_QUARTERROUND_SHUFFLE(a,b,c,d)
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: c176.h:106:7: note: in expansion of macro 'VEC4_QUARTERROUND'
encrypt.c: VEC4_QUARTERROUND( 3, 4, 9,14);
encrypt.c: ^~~~~~~~~~~~~~~~~
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/smmintrin.h:32:0,
encrypt.c: from encrypt.c:54:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
encrypt.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:190:0:
encrypt.c: c176.h:12:84: note: called from here
encrypt.c: x_##a = _mm_add_epi32(x_##a, x_##b); t_##a = _mm_xor_si128(x_##d, x_##a); x_##d = _mm_shuffle_epi8(t_##a, rot16); \
encrypt.c: ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: ...
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/smmintrin.h:32:0,
encrypt.c: from encrypt.c:54:
encrypt.c: c176.h: In function 'chacha_noxor176':
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
encrypt.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:190:0:
encrypt.c: c176.h:14:84: note: called from here
encrypt.c: x_##a = _mm_add_epi32(x_##a, x_##b); t_##a = _mm_xor_si128(x_##d, x_##a); x_##d = _mm_shuffle_epi8(t_##a, rot8); \
encrypt.c: ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: c176.h:17:36: note: in expansion of macro 'VEC4_QUARTERROUND_SHUFFLE'
encrypt.c: #define VEC4_QUARTERROUND(a,b,c,d) VEC4_QUARTERROUND_SHUFFLE(a,b,c,d)
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: c176.h:106:7: note: in expansion of macro 'VEC4_QUARTERROUND'
encrypt.c: VEC4_QUARTERROUND( 3, 4, 9,14);
encrypt.c: ^~~~~~~~~~~~~~~~~
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/smmintrin.h:32:0,
encrypt.c: from encrypt.c:54:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
encrypt.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:190:0:
encrypt.c: c176.h:12:84: note: called from here
encrypt.c: x_##a = _mm_add_epi32(x_##a, x_##b); t_##a = _mm_xor_si128(x_##d, x_##a); x_##d = _mm_shuffle_epi8(t_##a, rot16); \
encrypt.c: ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=barcelona -O -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=barcelona -Os -fomit-frame-pointer dolbeau/amd64-sse

Compiler output

Implementation: faster
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
hs1.c: hs1.c:77:9: error: always_inline function '_mm256_xor_si256' requires target feature 'avx2', but would be inlined into function 'xor32' that is compiled without support for 'avx2'
hs1.c: _mm256_xor_si256(_mm256_loadu_si256((__m256i *)s),
hs1.c: ^
hs1.c: 1 error generated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments faster
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments faster
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments faster
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments faster

Compiler output

Implementation: faster
Security model: unknown
Compiler: gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer
hs1.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
hs1.c: from hs1.c:27:
hs1.c: hs1.c: In function 'xor32':
hs1.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
hs1.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
hs1.c: ^~~~~~~~~~~~~~~~
hs1.c: hs1.c:76:5: note: called from here
hs1.c: _mm256_storeu_si256((__m256i *)d,
hs1.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hs1.c: _mm256_xor_si256(_mm256_loadu_si256((__m256i *)s),
hs1.c: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hs1.c: _mm256_loadu_si256((__m256i *)d)));
hs1.c: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hs1.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
hs1.c: from hs1.c:27:
hs1.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
hs1.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
hs1.c: ^~~~~~~~~~~~~~~~
hs1.c: hs1.c:76:5: note: called from here
hs1.c: _mm256_storeu_si256((__m256i *)d,
hs1.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hs1.c: _mm256_xor_si256(_mm256_loadu_si256((__m256i *)s),
hs1.c: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hs1.c: _mm256_loadu_si256((__m256i *)d)));
hs1.c: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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