Implementation notes: amd64, glyme, crypto_aead/twine80n6t4clocv2

Computer: glyme
Architecture: amd64
CPU ID: GenuineIntel-00020652-bfebfbff
SUPERCOP version: 201720170105
Operation: crypto_aead
Primitive: twine80n6t4clocv2
TimeImplementationCompilerBenchmark dateSUPERCOP version
102552vpermclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017020520170105
102580vpermclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020520170105
113480vpermgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020520170105
113616vpermgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020520170105
113688vpermgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020520170105
113904vpermgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020520170105
113908vpermgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020520170105
114128vpermgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020520170105
116148vpermgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020520170105
119156vpermgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020520170105
119168vpermgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020520170105
119692vpermgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020520170105
119716vpermgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020520170105
120224vpermgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020520170105
169744vpermgcc -m64 -march=core2 -O -fomit-frame-pointer2017020520170105
170524vpermgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020520170105
170524vpermgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020520170105
170524vpermgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020520170105
170524vpermgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020520170105
170524vpermgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020520170105
226084vpermgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020520170105
226164vpermgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020520170105
226364vpermgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020520170105
226504vpermgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020520170105
227008vpermgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020520170105
227556vpermgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020520170105
1416852refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020520170105
1417208refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020520170105
1437424refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020520170105
1438420refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020520170105
1456108refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020520170105
1456996refgcc -march=barcelona -O2 -fomit-frame-pointer2017020520170105
1460024refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020520170105
1461732refgcc -march=k8 -O2 -fomit-frame-pointer2017020520170105
1520356refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020520170105
1522940refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020520170105
1524092refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020520170105
1525404refgcc -funroll-loops -O2 -fomit-frame-pointer2017020520170105
1525464refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020520170105
1527388refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020520170105
1540288refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020520170105
1540972refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020520170105
1545008refgcc -march=nocona -O2 -fomit-frame-pointer2017020520170105
1547176refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020520170105
1547580refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020520170105
1548224refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020520170105
1548260refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020520170105
1548564refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020520170105
1549928refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020520170105
1550632refgcc -O2 -fomit-frame-pointer2017020520170105
1551832refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020520170105
1552560refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020520170105
1553956refgcc -m64 -O2 -fomit-frame-pointer2017020520170105
1564868refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020520170105
1566336refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020520170105
1570448refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020520170105
1580008refgcc -funroll-loops -O3 -fomit-frame-pointer2017020520170105
1581512refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020520170105
1582764refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020520170105
1617352refgcc -march=nocona -O -fomit-frame-pointer2017020520170105
1618148refgcc -m64 -march=nocona -O -fomit-frame-pointer2017020520170105
1619656refgcc -march=barcelona -O -fomit-frame-pointer2017020520170105
1619856refgcc -m64 -march=barcelona -O -fomit-frame-pointer2017020520170105
1622260refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020520170105
1623172refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020520170105
1623176refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020520170105
1623184refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020520170105
1623192refgcc -funroll-loops -O -fomit-frame-pointer2017020520170105
1623240refgcc -m64 -march=core2 -O -fomit-frame-pointer2017020520170105
1623936refgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020520170105
1624412refgcc -march=k8 -O -fomit-frame-pointer2017020520170105
1624436refgcc -m64 -march=k8 -O -fomit-frame-pointer2017020520170105
1627096refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020520170105
1637332refgcc -m64 -O -fomit-frame-pointer2017020520170105
1637524refgcc -fno-schedule-insns -O -fomit-frame-pointer2017020520170105
1638948refgcc -O -fomit-frame-pointer2017020520170105
1645344refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020520170105
1645428refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020520170105
1655108refgcc -funroll-loops -m64 -O -fomit-frame-pointer2017020520170105
1657468refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020520170105
1658332refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020520170105
1658512refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020520170105
1658728refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020520170105
1661680refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020520170105
1663896refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020520170105
1667980refgcc -march=k8 -O3 -fomit-frame-pointer2017020520170105
1669312refgcc -march=barcelona -O3 -fomit-frame-pointer2017020520170105
1669784refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020520170105
1671828refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020520170105
1686284refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020520170105
1686876refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020520170105
1694120refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020520170105
1708676refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020520170105
1708944refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020520170105
1709156refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020520170105
1715892refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020520170105
1716180refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020520170105
1716276refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020520170105
1717356refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020520170105
1719008refgcc -march=nocona -Os -fomit-frame-pointer2017020520170105
1719792refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020520170105
1720344refgcc -m64 -march=nocona -Os -fomit-frame-pointer2017020520170105
1722216refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020520170105
1722388refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020520170105
1722496refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020520170105
1723940refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020520170105
1725128refgcc -funroll-loops -Os -fomit-frame-pointer2017020520170105
1728564refgcc -Os -fomit-frame-pointer2017020520170105
1728612refgcc -m64 -Os -fomit-frame-pointer2017020520170105
1728888refgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020520170105
1729036refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020520170105
1729932refgcc -march=k8 -Os -fomit-frame-pointer2017020520170105
1730156refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020520170105
1730160refgcc -m64 -march=k8 -Os -fomit-frame-pointer2017020520170105
1730220refgcc -fno-schedule-insns -Os -fomit-frame-pointer2017020520170105
1730224refgcc -march=barcelona -Os -fomit-frame-pointer2017020520170105
1761952refgcc -O3 -fomit-frame-pointer2017020520170105
1766064refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020520170105
1767364refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020520170105
1770836refgcc -m64 -O3 -fomit-frame-pointer2017020520170105
1783720refgcc -march=nocona -O3 -fomit-frame-pointer2017020520170105
1795944refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020520170105
2107988refclang -O3 -fomit-frame-pointer -Qunused-arguments2017020520170105
2108044refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020520170105
2108076refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020520170105
2108576refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017020520170105
2119836refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020520170105
2125004refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020520170105
2518368refcc2017020520170105
2536264refgcc -funroll-loops2017020520170105
2537176refgcc2017020520170105

Compiler output

Implementation: crypto_aead/twine80n6t4clocv2/vperm
Compiler: cc
encrypt.c: In file included from encrypt.c:3:
encrypt.c: ./twine.h:227:15: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'Encode' that is compiled without support for 'ssse3'
encrypt.c: word state = LOADS(text);
encrypt.c: ^
encrypt.c: ./twine.h:76:26: note: expanded from macro 'LOADS'
encrypt.c: #define LOADS(p) SHUFFLE4(LOAD64(p)) /* load 64-bit word from memory address p, and shuffle it */
encrypt.c: ^
encrypt.c: ./twine.h:81:3: note: expanded from macro 'SHUFFLE4'
encrypt.c: _mm_shuffle_epi8(MASK4L(x), _mm_set_epi8(7, -1, 6, -1, 5, -1, 4, -1, 3, -1, 2, -1, 1, -1, 0, -1)), \
encrypt.c: ^
encrypt.c: ./twine.h:227:15: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'Encode' that is compiled without support for 'ssse3'
encrypt.c: ./twine.h:76:26: note: expanded from macro 'LOADS'
encrypt.c: #define LOADS(p) SHUFFLE4(LOAD64(p)) /* load 64-bit word from memory address p, and shuffle it */
encrypt.c: ^
encrypt.c: ./twine.h:82:3: note: expanded from macro 'SHUFFLE4'
encrypt.c: _mm_shuffle_epi8(SHR4(MASK4U(x)), _mm_set_epi8(-1, 7, -1, 6, -1, 5, -1, 4, -1, 3, -1, 2, -1, 1, -1, 0)))
encrypt.c: ^
encrypt.c: ./twine.h:228:2: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'Encode' that is compiled without support for 'ssse3'
encrypt.c: twine80_enc(state);
encrypt.c: ^
encrypt.c: ./twine.h:163:9: note: expanded from macro 'twine80_enc'
encrypt.c: left = PSHUFB(state, left); \
encrypt.c: ^
encrypt.c: ./twine.h:70:25: note: expanded from macro 'PSHUFB'
encrypt.c: #define PSHUFB(s,x) _mm_shuffle_epi8((s), (x)) /* return s(x) */
encrypt.c: ...

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/twine80n6t4clocv2/vperm
Compiler: gcc
encrypt.c: In file included from twine.h:7:0,
encrypt.c: from encrypt.c:3:
encrypt.c: twine.h: In function 'Encode':
encrypt.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
encrypt.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:3:0:
encrypt.c: twine.h:174:7: note: called from here
encrypt.c: _tmp = PSHUFB(state, _tmp); \
encrypt.c: ^
encrypt.c: twine.h:228:2: note: in expansion of macro 'twine80_enc'
encrypt.c: twine80_enc(state);
encrypt.c: ^~~~~~~~~~~
encrypt.c: In file included from twine.h:7:0,
encrypt.c: from encrypt.c:3:
encrypt.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
encrypt.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:3:0:
encrypt.c: twine.h:171:8: note: called from here
encrypt.c: right = PSHUFB(state, right); \
encrypt.c: ^
encrypt.c: twine.h:228:2: note: in expansion of macro 'twine80_enc'
encrypt.c: twine80_enc(state);
encrypt.c: ^~~~~~~~~~~
encrypt.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/twine80n6t4clocv2/vperm
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
encrypt.c: In file included from twine.h:7:0,
encrypt.c: from encrypt.c:3:
encrypt.c: twine.h: In function 'Encode':
encrypt.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
encrypt.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:3:0:
encrypt.c: twine.h:174:7: note: called from here
encrypt.c: _tmp = PSHUFB(state, _tmp); \
encrypt.c: ^
encrypt.c: twine.h:228:2: note: in expansion of macro 'twine80_enc'
encrypt.c: twine80_enc(state);
encrypt.c: ^~~~~~~~~~~
encrypt.c: In file included from twine.h:7:0,
encrypt.c: from encrypt.c:3:
encrypt.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
encrypt.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:3:0:
encrypt.c: twine.h:171:8: note: called from here
encrypt.c: right = PSHUFB(state, right); \
encrypt.c: ^
encrypt.c: twine.h:228:2: note: in expansion of macro 'twine80_enc'
encrypt.c: twine80_enc(state);
encrypt.c: ^~~~~~~~~~~
encrypt.c: ...
encrypt.c: In file included from twine.h:7:0,
encrypt.c: from encrypt.c:3:
encrypt.c: twine.h: In function 'Encode':
encrypt.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
encrypt.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:3:0:
encrypt.c: twine.h:174:7: note: called from here
encrypt.c: _tmp = PSHUFB(state, _tmp); \
encrypt.c: ^
encrypt.c: twine.h:228:2: note: in expansion of macro 'twine80_enc'
encrypt.c: twine80_enc(state);
encrypt.c: ^~~~~~~~~~~
encrypt.c: In file included from twine.h:7:0,
encrypt.c: from encrypt.c:3:
encrypt.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
encrypt.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:3:0:
encrypt.c: twine.h:171:8: note: called from here
encrypt.c: right = PSHUFB(state, right); \
encrypt.c: ^
encrypt.c: twine.h:228:2: note: in expansion of macro 'twine80_enc'
encrypt.c: twine80_enc(state);
encrypt.c: ^~~~~~~~~~~
encrypt.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