Implementation notes: amd64, oki, crypto_aead/hs1sivv2

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_aead
Primitive: hs1sivv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
6464? ? ?? ? ?dolbeau/amd64-avx2gcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018112920181123
6468? ? ?? ? ?dolbeau/amd64-avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018112920181123
6754? ? ?? ? ?dolbeau/amd64-avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018112920181123
6796? ? ?? ? ?dolbeau/amd64-avx2gcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018112920181123
7140? ? ?? ? ?dolbeau/amd64-avx2clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2018112920181123
7188? ? ?? ? ?dolbeau/amd64-avx2clang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112920181123
7328? ? ?? ? ?fasterclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112920181123
7360? ? ?? ? ?dolbeau/amd64-avx2gcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2018112920181123
7360? ? ?? ? ?fasterclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2018112920181123
7400? ? ?? ? ?fastergcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2018112920181123
7744? ? ?? ? ?fastergcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2018112920181123
7766? ? ?? ? ?fastergcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2018112920181123
7784? ? ?? ? ?fastergcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018112920181123
7800? ? ?? ? ?fastergcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018112920181123
7842? ? ?? ? ?fastergcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018112920181123
7842? ? ?? ? ?fastergcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018112920181123
7928? ? ?? ? ?dolbeau/amd64-avx2gcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2018112920181123
7966? ? ?? ? ?fastergcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2018112920181123
8080? ? ?? ? ?fastergcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018112920181123
8098? ? ?? ? ?fastergcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018112920181123
8336? ? ?? ? ?fastergcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018112920181123
8342? ? ?? ? ?fastergcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018112920181123
10690? ? ?? ? ?dolbeau/amd64-ssegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018112920181123
10698? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018112920181123
10826? ? ?? ? ?dolbeau/amd64-ssegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018112920181123
10834? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018112920181123
11192? ? ?? ? ?dolbeau/amd64-sseclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2018112920181123
11198? ? ?? ? ?dolbeau/amd64-sseclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112920181123
11224? ? ?? ? ?dolbeau/amd64-sseclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2018112920181123
11226? ? ?? ? ?dolbeau/amd64-sseclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112920181123
11274? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2018112920181123
11276? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2018112920181123
11370? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2018112920181123
11492? ? ?? ? ?fastergcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2018112920181123
11520? ? ?? ? ?fastergcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2018112920181123
11522? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2018112920181123
11524? ? ?? ? ?fastergcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2018112920181123
11526? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2018112920181123
11544? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2018112920181123
11638? ? ?? ? ?fastergcc_-m64_-march=core2_-O3_-fomit-frame-pointer2018112920181123
11658? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=corei7_-O_-fomit-frame-pointer2018112920181123
11700? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=core2_-O_-fomit-frame-pointer2018112920181123
11700? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2018112920181123
11792? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2018112920181123
11816? ? ?? ? ?fastergcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2018112920181123
11860? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2018112920181123
11864? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=core2_-Os_-fomit-frame-pointer2018112920181123
11918? ? ?? ? ?fastergcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2018112920181123
11922? ? ?? ? ?fastergcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2018112920181123
11944? ? ?? ? ?fastergcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2018112920181123
11954? ? ?? ? ?fastergcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2018112920181123
11960? ? ?? ? ?fastergcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2018112920181123
11966? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2018112920181123
12000? ? ?? ? ?dolbeau/amd64-ssegcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2018112920181123
12072? ? ?? ? ?fastergcc_-m64_-march=core2_-Os_-fomit-frame-pointer2018112920181123
12104? ? ?? ? ?fastergcc_-m64_-march=core2_-O2_-fomit-frame-pointer2018112920181123
12552? ? ?? ? ?fastergcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2018112920181123
12602? ? ?? ? ?fastergcc_-m64_-march=corei7_-O_-fomit-frame-pointer2018112920181123
12622? ? ?? ? ?fastergcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2018112920181123
12834? ? ?? ? ?fastergcc_-m64_-march=core2_-O_-fomit-frame-pointer2018112920181123
13266? ? ?? ? ?fasterclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112920181123
13268? ? ?? ? ?fasterclang_-O3_-fomit-frame-pointer_-Qunused-arguments2018112920181123
13270? ? ?? ? ?fasterclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112920181123
13272? ? ?? ? ?fasterclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112920181123
13442? ? ?? ? ?fastergcc_-funroll-loops_-O3_-fomit-frame-pointer2018112920181123
13452? ? ?? ? ?fastergcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2018112920181123
13454? ? ?? ? ?fastergcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2018112920181123
13456? ? ?? ? ?fastergcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2018112920181123
13456? ? ?? ? ?fastergcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2018112920181123
13460? ? ?? ? ?fastergcc_-O3_-fomit-frame-pointer2018112920181123
13472? ? ?? ? ?fastergcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2018112920181123
13472? ? ?? ? ?fastergcc_-m64_-O3_-fomit-frame-pointer2018112920181123
13480? ? ?? ? ?fastergcc_-m64_-march=k8_-O3_-fomit-frame-pointer2018112920181123
13480? ? ?? ? ?fastergcc_-march=nocona_-O3_-fomit-frame-pointer2018112920181123
13482? ? ?? ? ?fastergcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2018112920181123
13494? ? ?? ? ?fastergcc_-march=k8_-O3_-fomit-frame-pointer2018112920181123
13512? ? ?? ? ?fastergcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2018112920181123
13516? ? ?? ? ?fastergcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2018112920181123
13526? ? ?? ? ?fastergcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2018112920181123
13532? ? ?? ? ?fastergcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018112920181123
13582? ? ?? ? ?fastergcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2018112920181123
13582? ? ?? ? ?fastergcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2018112920181123
13606? ? ?? ? ?fastergcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2018112920181123
13606? ? ?? ? ?fastergcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2018112920181123
13626? ? ?? ? ?fastergcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2018112920181123
13626? ? ?? ? ?fastergcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2018112920181123
13628? ? ?? ? ?fastergcc_-funroll-loops_-O2_-fomit-frame-pointer2018112920181123
13632? ? ?? ? ?fastergcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018112920181123
13634? ? ?? ? ?fastergcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2018112920181123
13674? ? ?? ? ?fastergcc_-march=barcelona_-O3_-fomit-frame-pointer2018112920181123
13690? ? ?? ? ?fastergcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018112920181123
13846? ? ?? ? ?fastergcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2018112920181123
13846? ? ?? ? ?fastergcc_-march=nocona_-O2_-fomit-frame-pointer2018112920181123
13866? ? ?? ? ?fastergcc_-march=barcelona_-O2_-fomit-frame-pointer2018112920181123
13874? ? ?? ? ?fastergcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018112920181123
13882? ? ?? ? ?fastergcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2018112920181123
13894? ? ?? ? ?fastergcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2018112920181123
13896? ? ?? ? ?fastergcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2018112920181123
13900? ? ?? ? ?fastergcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2018112920181123
13902? ? ?? ? ?fastergcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018112920181123
13902? ? ?? ? ?fastergcc_-march=k8_-O2_-fomit-frame-pointer2018112920181123
13904? ? ?? ? ?fastergcc_-march=barcelona_-Os_-fomit-frame-pointer2018112920181123
13906? ? ?? ? ?fastergcc_-funroll-loops_-O_-fomit-frame-pointer2018112920181123
13912? ? ?? ? ?fastergcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2018112920181123
13914? ? ?? ? ?fastergcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2018112920181123
13914? ? ?? ? ?fastergcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2018112920181123
13914? ? ?? ? ?fastergcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2018112920181123
13914? ? ?? ? ?fastergcc_-m64_-Os_-fomit-frame-pointer2018112920181123
13920? ? ?? ? ?fastergcc_-m64_-march=k8_-O2_-fomit-frame-pointer2018112920181123
13922? ? ?? ? ?fastergcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2018112920181123
13924? ? ?? ? ?fastergcc_-O2_-fomit-frame-pointer2018112920181123
13924? ? ?? ? ?fastergcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2018112920181123
13932? ? ?? ? ?fastergcc_-m64_-O2_-fomit-frame-pointer2018112920181123
13936? ? ?? ? ?fastergcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2018112920181123
13936? ? ?? ? ?fastergcc_-march=nocona_-Os_-fomit-frame-pointer2018112920181123
13938? ? ?? ? ?fastergcc_-Os_-fomit-frame-pointer2018112920181123
13944? ? ?? ? ?fastergcc_-funroll-loops_-Os_-fomit-frame-pointer2018112920181123
13944? ? ?? ? ?fastergcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2018112920181123
13946? ? ?? ? ?fastergcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2018112920181123
13948? ? ?? ? ?fastergcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2018112920181123
13960? ? ?? ? ?fastergcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2018112920181123
13964? ? ?? ? ?fastergcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2018112920181123
13970? ? ?? ? ?fastergcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2018112920181123
13988? ? ?? ? ?fastergcc_-m64_-march=k8_-Os_-fomit-frame-pointer2018112920181123
13988? ? ?? ? ?fastergcc_-march=k8_-Os_-fomit-frame-pointer2018112920181123
14012? ? ?? ? ?fastergcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018112920181123
14042? ? ?? ? ?fastergcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2018112920181123
14500? ? ?? ? ?fastergcc_-m64_-march=k8_-O_-fomit-frame-pointer2018112920181123
14516? ? ?? ? ?fastergcc_-march=k8_-O_-fomit-frame-pointer2018112920181123
14560? ? ?? ? ?fastergcc_-m64_-march=nocona_-O_-fomit-frame-pointer2018112920181123
14560? ? ?? ? ?fastergcc_-march=nocona_-O_-fomit-frame-pointer2018112920181123
14564? ? ?? ? ?fastergcc_-m64_-O_-fomit-frame-pointer2018112920181123
14568? ? ?? ? ?fastergcc_-O_-fomit-frame-pointer2018112920181123
14590? ? ?? ? ?fastergcc_-march=barcelona_-O_-fomit-frame-pointer2018112920181123
14592? ? ?? ? ?fastergcc_-fno-schedule-insns_-O_-fomit-frame-pointer2018112920181123
14604? ? ?? ? ?fastergcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2018112920181123
27720? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112920181123
27730? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2018112920181123
27744? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112920181123
27744? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2018112920181123
27864? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112920181123
27880? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112920181123
27910? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2018112920181123
27954? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112920181123
28236? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2018112920181123
28250? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2018112920181123
28296? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2018112920181123
28304? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2018112920181123
28340? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2018112920181123
28880? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2018112920181123
28954? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2018112920181123
28984? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2018112920181123
29004? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2018112920181123
29052? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018112920181123
29192? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2018112920181123
29196? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2018112920181123
29200? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018112920181123
29206? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2018112920181123
29226? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2018112920181123
29262? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2018112920181123
29274? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2018112920181123
29282? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2018112920181123
29486? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018112920181123
29492? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2018112920181123
29666? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2018112920181123
29804? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2018112920181123
29812? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2018112920181123
29836? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018112920181123
29882? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2018112920181123
29896? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2018112920181123
30118? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2018112920181123
31112? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2018112920181123
31138? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2018112920181123
31158? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2018112920181123
31160? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2018112920181123
31206? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2018112920181123
31726? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2018112920181123
31752? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2018112920181123
31804? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018112920181123
31830? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2018112920181123
35248? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018112920181123
35266? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018112920181123
36052? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2018112920181123
36062? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018112920181123
36064? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2018112920181123
36092? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2018112920181123
36112? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2018112920181123
36148? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2018112920181123
36174? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2018112920181123
37924? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2018112920181123
38004? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2018112920181123
38006? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2018112920181123
38010? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2018112920181123
38024? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2018112920181123
38046? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018112920181123
38062? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2018112920181123
38176? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2018112920181123
38224? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2018112920181123
38272? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2018112920181123
38316? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018112920181123
38366? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2018112920181123
38398? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2018112920181123
38492? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2018112920181123
38548? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2018112920181123
38566? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2018112920181123
38572? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2018112920181123
38610? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2018112920181123
39206? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018112920181123
39318? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2018112920181123
39346? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2018112920181123
39362? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2018112920181123
39374? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018112920181123
39376? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2018112920181123
39378? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2018112920181123
39406? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2018112920181123
39434? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2018112920181123
39474? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2018112920181123
39496? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2018112920181123
39508? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2018112920181123
39608? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2018112920181123
39670? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2018112920181123
39706? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2018112920181123
39732? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2018112920181123
40172? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2018112920181123
40372? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2018112920181123
45190? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2018112920181123
45210? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2018112920181123
45246? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2018112920181123
45286? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2018112920181123
46160? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2018112920181123
46268? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2018112920181123
47552? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2018112920181123
47562? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2018112920181123
47646? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2018112920181123
48412? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2018112920181123
49158? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2018112920181123
49164? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2018112920181123
49288? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018112920181123
49390? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018112920181123
49454? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2018112920181123
49564? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2018112920181123
49632? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2018112920181123
49798? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2018112920181123
51454? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2018112920181123
52116? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2018112920181123
52202? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2018112920181123
52766? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2018112920181123
52852? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2018112920181123
52942? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2018112920181123
52996? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2018112920181123
53120? ? ?? ? ?fastercc2018112920181123
53260? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2018112920181123
53278? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2018112920181123
53606? ? ?? ? ?fastergcc2018112920181123
53606? ? ?? ? ?fastergcc_-funroll-loops2018112920181123
326148? ? ?? ? ?refgcc2018112920181123
326286? ? ?? ? ?refgcc_-funroll-loops2018112920181123
326864? ? ?? ? ?refcc2018112920181123

Test failure

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

Number of similar (compiler,implementation) pairs: 24, namely:
CompilerImplementations
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core-avx2 -O3 -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 -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 -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=core-avx2 -O2 -fomit-frame-pointer dolbeau/amd64-sse
gcc -m64 -march=core-avx2 -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: In file included from encrypt.c:194:0:
encrypt.c: c176.h: In function 'chacha_noxor176':
encrypt.c: c176.h:92:10: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: t_12 = _mm_broadcastd_epi32(_mm_cvtsi32_si128(in12));
encrypt.c: ^
encrypt.c: c176.h:12:84: error: incompatible types when assigning to type '__m128i' from type 'int'
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: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:98:7: note: in expansion of macro 'VEC4_QUARTERROUND'
encrypt.c: VEC4_QUARTERROUND( 0, 4, 8,12);
encrypt.c: ^
encrypt.c: c176.h:14:84: error: incompatible types when assigning to type '__m128i' from type 'int'
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:98:7: note: in expansion of macro 'VEC4_QUARTERROUND'
encrypt.c: VEC4_QUARTERROUND( 0, 4, 8,12);
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
cc 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: 6, namely:
CompilerImplementations
clang -O3 -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 -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: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
encrypt.c: In file included from encrypt.c:234:
encrypt.c: ./u16.h:179:28: warning: implicit declaration of function '_mm512_set_epi32' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: const __m512i addv12 = _mm512_set_epi32(15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0);
encrypt.c: ^
encrypt.c: ./u16.h:179:19: error: initializing 'const __m512i' (vector of 8 'long long' values) with an expression of incompatible type 'int'
encrypt.c: const __m512i addv12 = _mm512_set_epi32(15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: ./u16.h:181:12: warning: implicit declaration of function '_mm512_broadcastd_epi32' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: t_12 = _mm512_broadcastd_epi32(_mm_cvtsi32_si128(in12));
encrypt.c: ^
encrypt.c: ./u16.h:181:10: error: assigning to '__m512i' (vector of 8 'long long' values) from incompatible type 'int'
encrypt.c: t_12 = _mm512_broadcastd_epi32(_mm_cvtsi32_si128(in12));
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: ./u16.h:187:7: warning: implicit declaration of function '_mm512_rol_epi32' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: VEC16_ROUND( 0, 4, 8,12, 1, 5, 9,13, 2, 6,10,14, 3, 7,11,15);
encrypt.c: ^
encrypt.c: ./u16.h:105:70: note: expanded from macro 'VEC16_ROUND'
encrypt.c: #define VEC16_ROUND(a1,b1,c1,d1,a2,b2,c2,d2,a3,b3,c3,d3,a4,b4,c4,d4) VEC16_ROUND_SEQ(a1,b1,c1,d1,a2,b2,c2,d2,a3,b3,c3,d3,a4,b4,c4,d4)
encrypt.c: ^
encrypt.c: ./u16.h:81:3: note: expanded from macro 'VEC16_ROUND_SEQ'
encrypt.c: VEC16_LINE1(a1,b1,c1,d1); \
encrypt.c: ^
encrypt.c: ./u16.h:11:51: note: expanded from macro 'VEC16_LINE1'
encrypt.c: x_##a = _mm512_add_epi32(x_##a, x_##b); x_##d = VEC16_ROT(_mm512_xor_si512(x_##d, x_##a), 16)
encrypt.c: ^
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments dolbeau/amd64-avx2
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-avx2
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments dolbeau/amd64-avx512
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-avx512

Compiler output

Implementation: dolbeau/amd64-avx2
Security model: unknown
Compiler: gcc
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: 86, namely:
CompilerImplementations
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: 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: 8, 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

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: In file included from encrypt.c:194:0:
encrypt.c: c176.h: In function 'chacha_noxor176':
encrypt.c: c176.h:92:10: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: t_12 = _mm_broadcastd_epi32(_mm_cvtsi32_si128(in12));
encrypt.c: ^
encrypt.c: c176.h:12:84: error: incompatible types when assigning to type '__m128i' from type 'int'
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: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:98:7: note: in expansion of macro 'VEC4_QUARTERROUND'
encrypt.c: VEC4_QUARTERROUND( 0, 4, 8,12);
encrypt.c: ^
encrypt.c: c176.h:14:84: error: incompatible types when assigning to type '__m128i' from type 'int'
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:98:7: note: in expansion of macro 'VEC4_QUARTERROUND'
encrypt.c: VEC4_QUARTERROUND( 0, 4, 8,12);
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
cc 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:335:15: error: invalid input constraint 'Yz' in asm
encrypt.c: : [a] "Yz" (a)
encrypt.c: ^
encrypt.c: encrypt.c:483:26: warning: implicit declaration of function '_mm512_loadu_si512' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: __m512i kv0 = _mm512_loadu_si512((const __m512i*)(nhkey+ 0)); // 1
encrypt.c: ^
encrypt.c: encrypt.c:483:19: error: initializing '__m512i' (vector of 8 'long long' values) with an expression of incompatible type 'int'
encrypt.c: __m512i kv0 = _mm512_loadu_si512((const __m512i*)(nhkey+ 0)); // 1
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:484:19: error: initializing '__m512i' (vector of 8 'long long' values) with an expression of incompatible type 'int'
encrypt.c: __m512i kv4 = _mm512_loadu_si512((const __m512i*)(nhkey+ 4)); // 1
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:485:19: error: initializing '__m512i' (vector of 8 'long long' values) with an expression of incompatible type 'int'
encrypt.c: __m512i kv8 = _mm512_loadu_si512((const __m512i*)(nhkey+ 8)); // 1, 2
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:486:19: error: initializing '__m512i' (vector of 8 'long long' values) with an expression of incompatible type 'int'
encrypt.c: __m512i kv12 = _mm512_loadu_si512((const __m512i*)(nhkey+12)); // 1, 2
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:487:19: error: initializing '__m512i' (vector of 8 'long long' values) with an expression of incompatible type 'int'
encrypt.c: __m512i kv16 = _mm512_loadu_si512((const __m512i*)(nhkey+16)); // 2
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:488:19: error: initializing '__m512i' (vector of 8 'long long' values) with an expression of incompatible type 'int'
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments dolbeau/amd64-avx512
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments dolbeau/amd64-avx512
clang -O3 -fwrapv -mavx2 -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 -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
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/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:45:0,
encrypt.c: from encrypt.c:54:
encrypt.c: /usr/lib64/gcc/x86_64-suse-linux/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/lib64/gcc/x86_64-suse-linux/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: 2, namely:
CompilerImplementations
gcc dolbeau/amd64-avx512
gcc -funroll-loops 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/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:45:0,
encrypt.c: from encrypt.c:54:
encrypt.c: /usr/lib64/gcc/x86_64-suse-linux/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/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:45:0,
encrypt.c: from encrypt.c:54:
encrypt.c: /usr/lib64/gcc/x86_64-suse-linux/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/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:45:0,
encrypt.c: from encrypt.c:54:
encrypt.c: /usr/lib64/gcc/x86_64-suse-linux/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/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:45:0,
encrypt.c: from encrypt.c:54:
encrypt.c: /usr/lib64/gcc/x86_64-suse-linux/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: 12, 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 -O3 -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

Compiler output

Implementation: dolbeau/amd64-avx512
Security model: unknown
Compiler: gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer
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/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:45:0,
encrypt.c: from encrypt.c:54:
encrypt.c: /usr/lib64/gcc/x86_64-suse-linux/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: ^~~~~~~~~~~~~~~~~~~~~~~

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
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 encrypt.c:54:0:
encrypt.c: /usr/lib64/gcc/x86_64-suse-linux/4.8/include/smmintrin.h:31:3: error: #error "SSE4.1 instruction set not enabled"
encrypt.c: # error "SSE4.1 instruction set not enabled"
encrypt.c: ^
encrypt.c: In file included from encrypt.c:190:0:
encrypt.c: c176.h: In function 'chacha_noxor176':
encrypt.c: c176.h:21:3: error: unknown type name '__m128i'
encrypt.c: __m128i rot16 = _mm_set_epi8(13,12,15,14,9,8,11,10,5,4,7,6,1,0,3,2);
encrypt.c: ^
encrypt.c: c176.h:22:3: error: unknown type name '__m128i'
encrypt.c: __m128i rot8 = _mm_set_epi8(14,13,12,15,10,9,8,11,6,5,4,7,2,1,0,3);
encrypt.c: ^
encrypt.c: c176.h:24:3: error: unknown type name '__m128i'
encrypt.c: __m128i x_0 = _mm_set1_epi32(x[0]);
encrypt.c: ^
encrypt.c: c176.h:25:3: error: unknown type name '__m128i'
encrypt.c: __m128i x_1 = _mm_set1_epi32(x[1]);
encrypt.c: ^
encrypt.c: c176.h:26:3: error: unknown type name '__m128i'
encrypt.c: __m128i x_2 = _mm_set1_epi32(x[2]);
encrypt.c: ^
encrypt.c: c176.h:27:3: error: unknown type name '__m128i'
encrypt.c: __m128i x_3 = _mm_set1_epi32(x[3]);
encrypt.c: ^
encrypt.c: c176.h:28:3: error: unknown type name '__m128i'
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
cc 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: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0xa61df0: v4i64 = X86ISD::VTRUNC 0xa61c20
try.c: 0xa61c20: v16i32 = vselect 0xa50730, 0x9e39f0, 0xa61af0
try.c: 0xa50730: v4i1 = X86ISD::PCMPGTM 0xa446f0, 0x9fc1c0
try.c: 0xa446f0: v4i64 = X86ISD::VBROADCAST 0x9fc550
try.c: 0x9fc550: i64,ch = load<LD8[%uglygep72]> 0x946dd0, 0xa47d90, undef:i64
try.c: 0xa47d90: i64 = add 0xa4c5c0, 0x9ec740
try.c: 0xa4c5c0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0xa2c750: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x9ec740: i64 = shl 0xa2bf00, Constant:i8<3>
try.c: 0xa2bf00: i64,ch = CopyFromReg 0x946dd0, Register:i64 %vreg50
try.c: 0xa4ca80: i64 = Register %vreg50
try.c: 0x9edd40: i8 = Constant<3>
try.c: 0xa4ad60: i64 = undef
try.c: 0x9fc1c0: v4i64,ch = CopyFromReg 0x946dd0, Register:v4i64 %vreg13
try.c: 0x9f1f60: v4i64 = Register %vreg13
try.c: 0x9e39f0: v16i32 = X86ISD::VBROADCAST 0xa2c160
try.c: 0xa2c160: i32,ch = load<LD4[ConstantPool]> 0x946dd0, 0xa61760, undef:i64
try.c: 0xa61760: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x9efa80: i64 = TargetConstantPool<i32 1> 0
try.c: 0xa4ad60: i64 = undef
try.c: 0xa61af0: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0xa619c0: i32 = Constant<0>
try.c: 0xa619c0: i32 = Constant<0>
try.c: 0xa619c0: i32 = Constant<0>
try.c: 0xa619c0: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments dolbeau/amd64-sse

Compiler output

Implementation: dolbeau/amd64-sse
Security model: unknown
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x1219750: v4i64 = X86ISD::VTRUNC 0x1219580
try.c: 0x1219580: v16i32 = vselect 0x1224240, 0x119db60, 0x1219450
try.c: 0x1224240: v4i1 = X86ISD::PCMPGTM 0x1205060, 0x119ee50
try.c: 0x1205060: v4i64 = X86ISD::VBROADCAST 0x119f1e0
try.c: 0x119f1e0: i64,ch = load<LD8[%uglygep72]> 0x1100dd0, 0x11ca3e0, undef:i64
try.c: 0x11ca3e0: i64 = add 0x1205f40, 0x11b79b0
try.c: 0x1205f40: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x11b4100: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x11b79b0: i64 = shl 0x11b38b0, Constant:i8<3>
try.c: 0x11b38b0: i64,ch = CopyFromReg 0x1100dd0, Register:i64 %vreg50
try.c: 0x1206400: i64 = Register %vreg50
try.c: 0x11a6930: i8 = Constant<3>
try.c: 0x12036d0: i64 = undef
try.c: 0x119ee50: v4i64,ch = CopyFromReg 0x1100dd0, Register:v4i64 %vreg13
try.c: 0x11b20e0: v4i64 = Register %vreg13
try.c: 0x119db60: v16i32 = X86ISD::VBROADCAST 0x11b3b10
try.c: 0x11b3b10: i32,ch = load<LD4[ConstantPool]> 0x1100dd0, 0x12190c0, undef:i64
try.c: 0x12190c0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x11a0c10: i64 = TargetConstantPool<i32 1> 0
try.c: 0x12036d0: i64 = undef
try.c: 0x1219450: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0x1219320: i32 = Constant<0>
try.c: 0x1219320: i32 = Constant<0>
try.c: 0x1219320: i32 = Constant<0>
try.c: 0x1219320: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-sse

Compiler output

Implementation: dolbeau/amd64-sse
Security model: unknown
Compiler: gcc
encrypt.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/smmintrin.h:32:0,
encrypt.c: from encrypt.c:54:
encrypt.c: c176.h: In function 'chacha_noxor176':
encrypt.c: /usr/lib64/gcc/x86_64-suse-linux/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/lib64/gcc/x86_64-suse-linux/7/include/smmintrin.h:32:0,
encrypt.c: from encrypt.c:54:
encrypt.c: /usr/lib64/gcc/x86_64-suse-linux/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: 70, namely:
CompilerImplementations
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: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
encrypt.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/smmintrin.h:32:0,
encrypt.c: from encrypt.c:54:
encrypt.c: c176.h: In function 'chacha_noxor176':
encrypt.c: /usr/lib64/gcc/x86_64-suse-linux/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/lib64/gcc/x86_64-suse-linux/7/include/smmintrin.h:32:0,
encrypt.c: from encrypt.c:54:
encrypt.c: /usr/lib64/gcc/x86_64-suse-linux/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/lib64/gcc/x86_64-suse-linux/7/include/smmintrin.h:32:0,
encrypt.c: from encrypt.c:54:
encrypt.c: c176.h: In function 'chacha_noxor176':
encrypt.c: /usr/lib64/gcc/x86_64-suse-linux/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/lib64/gcc/x86_64-suse-linux/7/include/smmintrin.h:32:0,
encrypt.c: from encrypt.c:54:
encrypt.c: /usr/lib64/gcc/x86_64-suse-linux/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
try.c: fatal error: error in backend: Cannot select: 0xa28200: v4i64 = X86ISD::VTRUNC 0xa28030
try.c: 0xa28030: v16i32 = vselect 0xa24c70, 0x9c07e0, 0xa27f00
try.c: 0xa24c70: v4i1 = X86ISD::PCMPGTM 0xa10ae0, 0x9c1590
try.c: 0xa10ae0: v4i64 = X86ISD::VBROADCAST 0x9c1920
try.c: 0x9c1920: i64,ch = load<LD8[%uglygep72]> 0x90add0, 0x9ff450, undef:i64
try.c: 0x9ff450: i64 = add 0xa119c0, 0x9b75c0
try.c: 0xa119c0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x9f0870: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x9b75c0: i64 = shl 0x9f0020, Constant:i8<3>
try.c: 0x9f0020: i64,ch = CopyFromReg 0x90add0, Register:i64 %vreg50
try.c: 0xa11e80: i64 = Register %vreg50
try.c: 0x98b860: i8 = Constant<3>
try.c: 0xa0f150: i64 = undef
try.c: 0x9c1590: v4i64,ch = CopyFromReg 0x90add0, Register:v4i64 %vreg13
try.c: 0x9ab010: v4i64 = Register %vreg13
try.c: 0x9c07e0: v16i32 = X86ISD::VBROADCAST 0x9f0280
try.c: 0x9f0280: i32,ch = load<LD4[ConstantPool]> 0x90add0, 0xa27b70, undef:i64
try.c: 0xa27b70: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x9a6b50: i64 = TargetConstantPool<i32 1> 0
try.c: 0xa0f150: i64 = undef
try.c: 0xa27f00: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0xa27dd0: i32 = Constant<0>
try.c: 0xa27dd0: i32 = Constant<0>
try.c: 0xa27dd0: i32 = Constant<0>
try.c: 0xa27dd0: i32 = Constant<0>
try.c: ...

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

Compiler output

Implementation: faster
Security model: unknown
Compiler: clang -O3 -fwrapv -mavx -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: 2, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments faster
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments faster

Compiler output

Implementation: faster
Security model: unknown
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x288cea0: v4i64 = X86ISD::VTRUNC 0x288ccd0
try.c: 0x288ccd0: v16i32 = vselect 0x286c0f0, 0x2821330, 0x288cba0
try.c: 0x286c0f0: v4i1 = X86ISD::PCMPGTM 0x2875c20, 0x28220e0
try.c: 0x2875c20: v4i64 = X86ISD::VBROADCAST 0x2822470
try.c: 0x2822470: i64,ch = load<LD8[%uglygep72]> 0x2770db0, 0x2827c30, undef:i64
try.c: 0x2827c30: i64 = add 0x2876b00, 0x2808f00
try.c: 0x2876b00: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x282bfe0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x2808f00: i64 = shl 0x282b790, Constant:i8<3>
try.c: 0x282b790: i64,ch = CopyFromReg 0x2770db0, Register:i64 %vreg50
try.c: 0x2876fc0: i64 = Register %vreg50
try.c: 0x28163b0: i8 = Constant<3>
try.c: 0x2873a80: i64 = undef
try.c: 0x28220e0: v4i64,ch = CopyFromReg 0x2770db0, Register:v4i64 %vreg13
try.c: 0x281a990: v4i64 = Register %vreg13
try.c: 0x2821330: v16i32 = X86ISD::VBROADCAST 0x282b9f0
try.c: 0x282b9f0: i32,ch = load<LD4[ConstantPool]> 0x2770db0, 0x288c810, undef:i64
try.c: 0x288c810: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x2823ea0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x2873a80: i64 = undef
try.c: 0x288cba0: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0x288ca70: i32 = Constant<0>
try.c: 0x288ca70: i32 = Constant<0>
try.c: 0x288ca70: i32 = Constant<0>
try.c: 0x288ca70: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
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/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:43:0,
hs1.c: from hs1.c:27:
hs1.c: hs1.c: In function 'xor32':
hs1.c: /usr/lib64/gcc/x86_64-suse-linux/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/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:43:0,
hs1.c: from hs1.c:27:
hs1.c: /usr/lib64/gcc/x86_64-suse-linux/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: 8, 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

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x16937e0: v4i64 = X86ISD::VTRUNC 0x1693610
try.c: 0x1693610: v16i32 = vselect 0x169ae10, 0x1614b90, 0x16934e0
try.c: 0x169ae10: v4i1 = X86ISD::PCMPGTM 0x167a8c0, 0x162ba10
try.c: 0x167a8c0: v4i64 = X86ISD::VBROADCAST 0x162bda0
try.c: 0x162bda0: i64,ch = load<LD8[%uglygep72]> 0x1575dd0, 0x160dc50, undef:i64
try.c: 0x160dc50: i64 = add 0x167b7a0, 0x160a830
try.c: 0x167b7a0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x16618e0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x160a830: i64 = shl 0x1661090, Constant:i8<3>
try.c: 0x1661090: i64,ch = CopyFromReg 0x1575dd0, Register:i64 %vreg50
try.c: 0x167bc60: i64 = Register %vreg50
try.c: 0x1625660: i8 = Constant<3>
try.c: 0x1678f30: i64 = undef
try.c: 0x162ba10: v4i64,ch = CopyFromReg 0x1575dd0, Register:v4i64 %vreg13
try.c: 0x161f2e0: v4i64 = Register %vreg13
try.c: 0x1614b90: v16i32 = X86ISD::VBROADCAST 0x16612f0
try.c: 0x16612f0: i32,ch = load<LD4[ConstantPool]> 0x1575dd0, 0x1693150, undef:i64
try.c: 0x1693150: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x160fa50: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1678f30: i64 = undef
try.c: 0x16934e0: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0x16933b0: i32 = Constant<0>
try.c: 0x16933b0: i32 = Constant<0>
try.c: 0x16933b0: i32 = Constant<0>
try.c: 0x16933b0: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments ref

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x15380c0: v4i64 = X86ISD::VTRUNC 0x1537ef0
try.c: 0x1537ef0: v16i32 = vselect 0x1534b30, 0x14cfdd0, 0x1537dc0
try.c: 0x1534b30: v4i1 = X86ISD::PCMPGTM 0x15219b0, 0x14b7160
try.c: 0x15219b0: v4i64 = X86ISD::VBROADCAST 0x14b74f0
try.c: 0x14b74f0: i64,ch = load<LD8[%uglygep72]> 0x141bdd0, 0x14e3e90, undef:i64
try.c: 0x14e3e90: i64 = add 0x1522890, 0x147c2f0
try.c: 0x1522890: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x14e6e20: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x147c2f0: i64 = shl 0x14e65d0, Constant:i8<3>
try.c: 0x14e65d0: i64,ch = CopyFromReg 0x141bdd0, Register:i64 %vreg50
try.c: 0x1522d50: i64 = Register %vreg50
try.c: 0x14a29a0: i8 = Constant<3>
try.c: 0x1520020: i64 = undef
try.c: 0x14b7160: v4i64,ch = CopyFromReg 0x141bdd0, Register:v4i64 %vreg13
try.c: 0x14d3890: v4i64 = Register %vreg13
try.c: 0x14cfdd0: v16i32 = X86ISD::VBROADCAST 0x14e6830
try.c: 0x14e6830: i32,ch = load<LD4[ConstantPool]> 0x141bdd0, 0x1537a30, undef:i64
try.c: 0x1537a30: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x14d13b0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1520020: i64 = undef
try.c: 0x1537dc0: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0x1537c90: i32 = Constant<0>
try.c: 0x1537c90: i32 = Constant<0>
try.c: 0x1537c90: i32 = Constant<0>
try.c: 0x1537c90: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref