Implementation notes: amd64, gpu, crypto_aead/present80n6t4silcv3

Computer: gpu
Architecture: amd64
CPU ID: GenuineIntel-000206d7-bfebfbff
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: present80n6t4silcv3
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
5119725690 752 021053 1544 1440vpermgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019082820190816
5982485690 752 021053 1544 1440vpermgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019082820190816
6418165690 752 021053 1544 1440vpermgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019082820190816
6703325866 752 021181 1544 1440vpermgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019082820190816
6729045407 752 020685 1544 1440vpermgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019082820190816
7385285866 752 021117 1544 1440vpermgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019082820190816
7503485994 752 021309 1544 1440vpermgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019082820190816
7741145128 752 018060 1536 1440vpermgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019082820190816
7982285857 752 021013 1544 1440vpermgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019082820190816
7983804981 752 017924 1536 1440vpermgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019082820190816
8178165128 752 018060 1536 1440vpermgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019082820190816
8419045128 752 018060 1536 1440vpermgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019082820190816
9079805186 752 018124 1536 1440vpermgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019082820190816
9181485195 752 018148 1536 1440vpermgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019082820190816
10025965195 752 018148 1536 1440vpermgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019082820190816
10155885243 752 018196 1536 1440vpermgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019082820190816
12847924862 752 017812 1536 1440vpermgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019082820190816
12902044486 752 016400 1520 1408vpermgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019082820190816
13245724862 752 017812 1536 1440vpermgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019082820190816
13453164486 752 016400 1520 1408vpermgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019082820190816
13523604862 752 017812 1536 1440vpermgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019082820190816
13675604333 752 016248 1520 1408vpermgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019082820190816
13717964411 752 016320 1520 1408vpermgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019082820190816
13724084935 752 017892 1536 1440vpermgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019082820190816
13745724417 752 016336 1520 1408vpermgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019082820190816
13785885068 752 018012 1536 1440vpermgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019082820190816
13787644503 752 016424 1520 1408vpermgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019082820190816
13792284657 752 017604 1536 1440vpermgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019082820190816
13805804486 752 016400 1520 1408vpermgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019082820190816
13820844935 752 017892 1536 1440vpermgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019082820190816
13940844935 752 017892 1536 1440vpermgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019082820190816
14145044417 752 016336 1520 1408vpermgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019082820190816
357325924509 0 019704 784 928refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019082820190816
525408633742 0 020749 760 1160refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019082820190816
574010643742 0 020749 760 1160refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019082820190816
574572764825 0 021005 768 928refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019082820190816
590438133973 0 021757 760 1160refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2019082820190816
604339888182 0 025752 784 928refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019082820190816
604916106250 0 016245 768 928refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019082820190816
605935498934 0 027264 784 928refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019082820190816
607507243967 0 024045 760 872refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082820190816
607799003973 0 021757 760 1160refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082820190816
608143983020 0 015789 768 928refgcc_-march=barcelona_-O_-fomit-frame-pointer2019082820190816
608255928917 0 027064 784 928refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019082820190816
608292728182 0 025752 784 928refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019082820190816
611473384831 0 021069 768 928refgcc_-funroll-loops_-O_-fomit-frame-pointer2019082820190816
613883028182 0 025752 784 928refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082820190816
614787694509 0 019800 784 928refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019082820190816
615745045181 0 020416 784 928refgcc_-m64_-O3_-fomit-frame-pointer2019082820190816
616464564509 0 019800 784 928refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019082820190816
619707968934 0 027264 784 928refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019082820190816
6198176811290 0 021360 784 928refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019082820190816
622209445165 0 020392 784 928refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019082820190816
626896125181 0 020416 784 928refgcc_-O3_-fomit-frame-pointer2019082820190816
627466205165 0 020240 784 928refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019082820190816
628829255485 0 020968 784 928refgcc_-march=k8_-O3_-fomit-frame-pointer2019082820190816
631060894869 0 020949 768 928refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082820190816
631296485165 0 020328 784 928refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019082820190816
631857805485 0 020968 784 928refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019082820190816
634187515165 0 020392 784 928refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019082820190816
634616928917 0 027064 784 928refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019082820190816
635673523967 0 024045 760 872refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082820190816
636534574831 0 021069 768 928refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019082820190816
639476844837 0 020781 768 928refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019082820190816
639977073967 0 022717 760 872refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019082820190816
641328764820 0 020845 768 928refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019082820190816
641915844509 0 019800 784 928refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019082820190816
643879903967 0 024045 760 872refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082820190816
644794104837 0 020781 768 928refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019082820190816
650532445181 0 020416 784 928refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082820190816
651499085645 0 021360 784 928refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019082820190816
652901564820 0 020845 768 928refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019082820190816
655104844877 0 021045 768 928refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019082820190816
656505604869 0 020949 768 928refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019082820190816
658621324877 0 021045 768 928refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019082820190816
658966924825 0 021005 768 928refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019082820190816
661963404869 0 020949 768 928refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019082820190816
666192963069 0 015853 768 928refgcc_-O2_-fomit-frame-pointer2019082820190816
673145564831 0 021069 768 928refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019082820190816
675302503061 0 015845 768 928refgcc_-march=k8_-O2_-fomit-frame-pointer2019082820190816
677372403069 0 015861 768 928refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019082820190816
677615833069 0 015853 768 928refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019082820190816
680671763069 0 015853 768 928refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019082820190816
681563523069 0 015861 768 928refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019082820190816
683538203069 0 015853 768 928refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019082820190816
689019283033 0 015821 768 928refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019082820190816
689516443069 0 015853 768 928refgcc_-m64_-O2_-fomit-frame-pointer2019082820190816
689529953069 0 015853 768 928refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019082820190816
693867926040 0 015789 768 928refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019082820190816
694436883061 0 015845 768 928refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019082820190816
694968563033 0 015821 768 928refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019082820190816
694973602639 0 014425 752 896refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082820190816
696873563069 0 015853 768 928refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082820190816
696875363069 0 015861 768 928refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019082820190816
700012203036 0 015821 768 928refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019082820190816
702749823069 0 015853 768 928refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019082820190816
705460763125 0 016245 768 928refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019082820190816
707316403039 0 015821 768 928refgcc_-O_-fomit-frame-pointer2019082820190816
708236083033 0 015821 768 928refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019082820190816
710794293039 0 015821 768 928refgcc_-m64_-O_-fomit-frame-pointer2019082820190816
714922884898 0 021005 768 928refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019082820190816
717696683033 0 015821 768 928refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019082820190816
721950163036 0 015821 768 928refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019082820190816
723888643039 0 015821 768 928refgcc_-march=k8_-O_-fomit-frame-pointer2019082820190816
725283213039 0 015821 768 928refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019082820190816
725749163039 0 015821 768 928refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019082820190816
726564083033 0 015821 768 928refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019082820190816
731689644898 0 021005 768 928refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019082820190816
732556112601 0 014353 752 896refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019082820190816
734923388024 0 025232 784 928refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019082820190816
741399193036 0 015821 768 928refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019082820190816
751135962639 0 014425 752 896refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019082820190816
757719362639 0 014425 752 896refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019082820190816
759142034912 0 019824 784 928refgcc_-march=nocona_-O3_-fomit-frame-pointer2019082820190816
759380882639 0 014425 752 896refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019082820190816
760573562647 0 014433 752 896refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019082820190816
763434202639 0 014425 752 896refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019082820190816
764113402639 0 014425 752 896refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019082820190816
771981242639 0 014425 752 896refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019082820190816
774128122647 0 014433 752 896refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019082820190816
778172124912 0 019824 784 928refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019082820190816
782855934818 0 020477 768 928refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019082820190816
783123888024 0 025232 784 928refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019082820190816
785641444818 0 020477 768 928refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019082820190816
787503563010 0 015773 768 928refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019082820190816
793477923010 0 015773 768 928refgcc_-march=nocona_-O_-fomit-frame-pointer2019082820190816
798058042601 0 014353 752 896refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082820190816
809982962601 0 014353 752 896refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019082820190816
815459242601 0 014353 752 896refgcc_-march=k8_-Os_-fomit-frame-pointer2019082820190816
817116482601 0 014353 752 896refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019082820190816
818330722601 0 014353 752 896refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019082820190816
821076602601 0 014353 752 896refgcc_-Os_-fomit-frame-pointer2019082820190816
825814282601 0 014353 752 896refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019082820190816
827055662609 0 014361 752 896refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019082820190816
827620902609 0 014361 752 896refgcc_-march=nocona_-Os_-fomit-frame-pointer2019082820190816
829884122601 0 014353 752 896refgcc_-m64_-Os_-fomit-frame-pointer2019082820190816
832964842601 0 014353 752 896refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019082820190816
836034562601 0 014353 752 896refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019082820190816
837645245202 0 014353 752 896refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019082820190816
845227442601 0 014353 752 896refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019082820190816
845497402903 0 015341 768 928refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019082820190816
848555802903 0 015341 768 928refgcc_-march=nocona_-O2_-fomit-frame-pointer2019082820190816
853875062601 0 014353 752 896refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019082820190816
854942872601 0 014353 752 896refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019082820190816
1442609004341 0 018879 768 888refgcc2019082820190816
1476869284341 0 018879 768 888refgcc_-funroll-loops2019082820190816
1498892844341 0 018879 768 888refcc2019082820190816

Test failure

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

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
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
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer vperm
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer vperm
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer vperm

Compiler output

Implementation: vperm
Security model: unknown
Compiler: cc
present.c: In file included from common.h:7:0,
present.c: from present.h:1,
present.c: from present.c:1:
present.c: present.c: In function 'format_input':
present.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
present.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
present.c: ^~~~~~~~~~~~~~~~
present.c: In file included from present.h:1:0,
present.c: from present.c:1:
present.c: common.h:40:22: note: called from here
present.c: #define PSHUFB(s, x) _mm_shuffle_epi8((s), (x)) /*return s(x)*/
present.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~
present.c: present.c:113:11: note: in expansion of macro 'PSHUFB'
present.c: *state = PSHUFB(*state, LOAD(PRESENTInShuffleL));
present.c: ^~~~~~
present.c: In file included from common.h:7:0,
present.c: from present.h:1,
present.c: from present.c:1:
present.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
present.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
present.c: ^~~~~~~~~~~~~~~~
present.c: present.c:112:9: note: called from here
present.c: dqword tmp = PSHUFB(*state, LOAD(PRESENTInShuffleU));
present.c: ^~~
present.c: In file included from common.h:7:0,
present.c: ...

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

Compiler output

Implementation: vperm
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
present.c: present.c:112:15: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'format_input' that is compiled without support for 'ssse3'
present.c: dqword tmp = PSHUFB(*state, LOAD(PRESENTInShuffleU));
present.c: ^
present.c: ./common.h:40:22: note: expanded from macro 'PSHUFB'
present.c: #define PSHUFB(s, x) _mm_shuffle_epi8((s), (x)) /*return s(x)*/
present.c: ^
present.c: present.c:113:11: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'format_input' that is compiled without support for 'ssse3'
present.c: *state = PSHUFB(*state, LOAD(PRESENTInShuffleL));
present.c: ^
present.c: ./common.h:40:22: note: expanded from macro 'PSHUFB'
present.c: #define PSHUFB(s, x) _mm_shuffle_epi8((s), (x)) /*return s(x)*/
present.c: ^
present.c: 2 errors generated.

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

Compiler output

Implementation: vperm
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
silc.c: silc.c:170:34: warning: implicit conversion from 'int' to 'char' changes value from 135 to -121 [-Wconstant-conversion]
silc.c: state = XORDQW(tmpState, SHR(state, 8));
silc.c: ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
silc.c: ./common.h:30:63: note: expanded from macro 'SHR'
silc.c: #define SHR(x,n) _mm_shuffle_epi8((x), _mm_set_epi8(127+(n), 126+(n), 125+(n), 124+(n), 123+(n), 122+(n), 121+(n), 120+(n), 119+(n), 118+(n), 117+(n), 116+(n), 115+(n), 114+(n), 113+(n), 112+(n))) // shift to the right
silc.c: ~~~~~~~~~~~~ ^
silc.c: ./common.h:17:43: note: expanded from macro 'XORDQW'
silc.c: #define XORDQW(x, y) _mm_xor_si128((x), (y))
silc.c: ^
silc.c: silc.c:170:34: warning: implicit conversion from 'int' to 'char' changes value from 134 to -122 [-Wconstant-conversion]
silc.c: state = XORDQW(tmpState, SHR(state, 8));
silc.c: ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
silc.c: ./common.h:30:72: note: expanded from macro 'SHR'
silc.c: #define SHR(x,n) _mm_shuffle_epi8((x), _mm_set_epi8(127+(n), 126+(n), 125+(n), 124+(n), 123+(n), 122+(n), 121+(n), 120+(n), 119+(n), 118+(n), 117+(n), 116+(n), 115+(n), 114+(n), 113+(n), 112+(n))) // shift to the right
silc.c: ~~~~~~~~~~~~ ^
silc.c: ./common.h:17:43: note: expanded from macro 'XORDQW'
silc.c: #define XORDQW(x, y) _mm_xor_si128((x), (y))
silc.c: ^
silc.c: silc.c:170:34: warning: implicit conversion from 'int' to 'char' changes value from 133 to -123 [-Wconstant-conversion]
silc.c: state = XORDQW(tmpState, SHR(state, 8));
silc.c: ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
silc.c: ./common.h:30:81: note: expanded from macro 'SHR'
silc.c: #define SHR(x,n) _mm_shuffle_epi8((x), _mm_set_epi8(127+(n), 126+(n), 125+(n), 124+(n), 123+(n), 122+(n), 121+(n), 120+(n), 119+(n), 118+(n), 117+(n), 116+(n), 115+(n), 114+(n), 113+(n), 112+(n))) // shift to the right
silc.c: ~~~~~~~~~~~~ ^
silc.c: ./common.h:17:43: note: expanded from macro 'XORDQW'
silc.c: ...

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

Compiler output

Implementation: vperm
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
present.c: In file included from common.h:7:0,
present.c: from present.h:1,
present.c: from present.c:1:
present.c: present.c: In function 'format_input':
present.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
present.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
present.c: ^~~~~~~~~~~~~~~~
present.c: In file included from present.h:1:0,
present.c: from present.c:1:
present.c: common.h:40:22: note: called from here
present.c: #define PSHUFB(s, x) _mm_shuffle_epi8((s), (x)) /*return s(x)*/
present.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~
present.c: present.c:113:11: note: in expansion of macro 'PSHUFB'
present.c: *state = PSHUFB(*state, LOAD(PRESENTInShuffleL));
present.c: ^~~~~~
present.c: In file included from common.h:7:0,
present.c: from present.h:1,
present.c: from present.c:1:
present.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
present.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
present.c: ^~~~~~~~~~~~~~~~
present.c: present.c:112:9: note: called from here
present.c: dqword tmp = PSHUFB(*state, LOAD(PRESENTInShuffleU));
present.c: ^~~
present.c: In file included from common.h:7:0,
present.c: ...
present.c: In file included from common.h:7:0,
present.c: from present.h:1,
present.c: from present.c:1:
present.c: present.c: In function 'format_input':
present.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
present.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
present.c: ^~~~~~~~~~~~~~~~
present.c: In file included from present.h:1:0,
present.c: from present.c:1:
present.c: common.h:40:22: note: called from here
present.c: #define PSHUFB(s, x) _mm_shuffle_epi8((s), (x)) /*return s(x)*/
present.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~
present.c: present.c:113:11: note: in expansion of macro 'PSHUFB'
present.c: *state = PSHUFB(*state, LOAD(PRESENTInShuffleL));
present.c: ^~~~~~
present.c: In file included from common.h:7:0,
present.c: from present.h:1,
present.c: from present.c:1:
present.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
present.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
present.c: ^~~~~~~~~~~~~~~~
present.c: present.c:112:9: note: called from here
present.c: dqword tmp = PSHUFB(*state, LOAD(PRESENTInShuffleU));
present.c: ^~~
present.c: In file included from common.h:7:0,
present.c: ...

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