Implementation notes: amd64, glyme, crypto_aead/present80n6t4silcv3

Computer: glyme
Architecture: amd64
CPU ID: GenuineIntel-00020652-bfebfbff
SUPERCOP version: 201720170105
Operation: crypto_aead
Primitive: present80n6t4silcv3
TimeImplementationCompilerBenchmark dateSUPERCOP version
570020vpermclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017020420170105
573408vpermclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
712352vpermgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020420170105
713564vpermgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020420170105
713644vpermgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020420170105
713664vpermgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020420170105
714820vpermgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020420170105
714824vpermgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020420170105
940500vpermgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020420170105
940568vpermgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020420170105
940756vpermgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020420170105
940764vpermgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020420170105
940928vpermgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020420170105
941328vpermgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020420170105
1314316vpermgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020420170105
1314384vpermgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020420170105
1314388vpermgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020420170105
1314404vpermgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020420170105
1314412vpermgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020420170105
1314456vpermgcc -m64 -march=core2 -O -fomit-frame-pointer2017020420170105
2023276vpermgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020420170105
2023404vpermgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020420170105
2023520vpermgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020420170105
2023552vpermgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020420170105
2023584vpermgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020420170105
2023612vpermgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020420170105
32808768refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
32809180refclang -O3 -fomit-frame-pointer -Qunused-arguments2017020420170105
32810128refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
32812040refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
32816884refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
32817796refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017020420170105
36193028refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
36193180refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020420170105
36289952refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
36290604refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020420170105
36351948refgcc -funroll-loops -O2 -fomit-frame-pointer2017020420170105
36352240refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020420170105
36352412refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
36876156refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
36876176refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
36878360refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020420170105
36918400refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020420170105
36957552refgcc -funroll-loops -O -fomit-frame-pointer2017020420170105
36957988refgcc -funroll-loops -m64 -O -fomit-frame-pointer2017020420170105
36958084refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
38619708refgcc -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
38696164refgcc -march=barcelona -O -fomit-frame-pointer2017020420170105
38744316refgcc -march=barcelona -O2 -fomit-frame-pointer2017020420170105
38791880refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020420170105
38792288refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020420170105
38805096refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020420170105
38827072refgcc -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
38827544refgcc -m64 -O -fomit-frame-pointer2017020420170105
38831488refgcc -O -fomit-frame-pointer2017020420170105
38873260refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
38952092refgcc -march=k8 -O2 -fomit-frame-pointer2017020420170105
38968572refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020420170105
38968792refgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020420170105
38969268refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020420170105
38972712refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
38994628refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020420170105
39004128refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020420170105
39004708refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020420170105
39060600refgcc -march=k8 -O -fomit-frame-pointer2017020420170105
39063376refgcc -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
39152084refgcc -m64 -O2 -fomit-frame-pointer2017020420170105
39152144refgcc -O2 -fomit-frame-pointer2017020420170105
39163148refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
39240596refgcc -m64 -march=core2 -O -fomit-frame-pointer2017020420170105
39240640refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020420170105
39240700refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020420170105
40542696refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020420170105
40543060refgcc -funroll-loops -O3 -fomit-frame-pointer2017020420170105
40543608refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
40543800refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
40546508refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020420170105
40586812refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
40587436refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020420170105
41242896refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020420170105
41242896refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020420170105
41242924refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020420170105
41631660refgcc -march=barcelona -O3 -fomit-frame-pointer2017020420170105
41631944refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
41663192refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020420170105
41667136refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020420170105
41669324refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020420170105
41724688refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
41730848refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
41730884refgcc -march=k8 -O3 -fomit-frame-pointer2017020420170105
41731044refgcc -m64 -O3 -fomit-frame-pointer2017020420170105
41731400refgcc -O3 -fomit-frame-pointer2017020420170105
42401768refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
42402288refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020420170105
42641580refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
42643164refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020420170105
45148624refgcc -march=nocona -O2 -fomit-frame-pointer2017020420170105
45176348refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
45430124refgcc -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
45432968refgcc -march=k8 -Os -fomit-frame-pointer2017020420170105
45434300refgcc -march=barcelona -Os -fomit-frame-pointer2017020420170105
45488272refgcc -Os -fomit-frame-pointer2017020420170105
45617064refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020420170105
45637704refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020420170105
45647340refgcc -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
45654636refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020420170105
45674020refgcc -m64 -Os -fomit-frame-pointer2017020420170105
45677348refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
45766764refgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020420170105
45924616refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020420170105
45974140refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020420170105
46294728refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
46300480refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
46371188refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
46425144refgcc -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
46429716refgcc -march=nocona -Os -fomit-frame-pointer2017020420170105
46472508refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020420170105
46578296refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020420170105
46602632refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020420170105
46729476refgcc -funroll-loops -Os -fomit-frame-pointer2017020420170105
46799368refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020420170105
46931092refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
47802088refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
47916120refgcc -march=nocona -O3 -fomit-frame-pointer2017020420170105
48159824refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020420170105
48160124refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
48593036refgcc -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
48595160refgcc -march=nocona -O -fomit-frame-pointer2017020420170105
121394096refgcc2017020420170105
121397712refgcc -funroll-loops2017020420170105
214156796refcc2017020420170105

Compiler output

Implementation: crypto_aead/present80n6t4silcv3/vperm
Compiler: cc
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: 5, namely:
CompilerImplementations
cc vperm
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: crypto_aead/present80n6t4silcv3/vperm
Compiler: gcc
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/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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: 70, namely:
CompilerImplementations
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: crypto_aead/present80n6t4silcv3/vperm
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/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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