Implementation notes: amd64, katana, crypto_aead/twine80n6t4clocv2

Computer: katana
Architecture: amd64
CPU ID: GenuineIntel-000006f6-bfebfbff
SUPERCOP version: 20170105
Operation: crypto_aead
Primitive: twine80n6t4clocv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
191320? ? ?? ? ?vpermclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016102920161009
191328? ? ?? ? ?vpermclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2016102920161009
193192? ? ?? ? ?vpermgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2016102920161009
193248? ? ?? ? ?vpermgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2016102920161009
193680? ? ?? ? ?vpermgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2016102920161009
198024? ? ?? ? ?vpermgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2016102920161009
198872? ? ?? ? ?vpermgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2016102920161009
198976? ? ?? ? ?vpermgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2016102920161009
200400? ? ?? ? ?vpermgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2016102920161009
200520? ? ?? ? ?vpermgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2016102920161009
200592? ? ?? ? ?vpermgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2016102920161009
227440? ? ?? ? ?vpermgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2016102920161009
227480? ? ?? ? ?vpermgcc_-m64_-march=core2_-O_-fomit-frame-pointer2016102920161009
227504? ? ?? ? ?vpermgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2016102920161009
1677240? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2016102920161009
1681584? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2016102920161009
1685944? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2016102920161009
1705760? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2016102920161009
1705856? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2016102920161009
1728624? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2016102920161009
1730344? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2016102920161009
1732128? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2016102920161009
1734736? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2016102920161009
1735296? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2016102920161009
1755944? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2016102920161009
1760304? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2016102920161009
1761560? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2016102920161009
1762936? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2016102920161009
1771272? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2016102920161009
1772416? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2016102920161009
1777232? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2016102920161009
1777248? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2016102920161009
1777824? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2016102920161009
1780264? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2016102920161009
1781296? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2016102920161009
1782464? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2016102920161009
1787488? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2016102920161009
1790296? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2016102920161009
1790432? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2016102920161009
1790504? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2016102920161009
1793384? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2016102920161009
1802888? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2016102920161009
1803128? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2016102920161009
1803336? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2016102920161009
1807728? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2016102920161009
1808824? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2016102920161009
1809136? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2016102920161009
1809168? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2016102920161009
1809632? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2016102920161009
1811192? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2016102920161009
1811984? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2016102920161009
1813032? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2016102920161009
1813176? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2016102920161009
1814168? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2016102920161009
1821312? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2016102920161009
1823376? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2016102920161009
1839984? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2016102920161009
1841448? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2016102920161009
1871568? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2016102920161009
1874456? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2016102920161009
1874456? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2016102920161009
1874464? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2016102920161009
1875992? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2016102920161009
1876472? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2016102920161009
1883296? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2016102920161009
1885504? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2016102920161009
1889928? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2016102920161009
1890192? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2016102920161009
1891968? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2016102920161009
1892104? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2016102920161009
1892704? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2016102920161009
1893616? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2016102920161009
1901224? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2016102920161009
1901280? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2016102920161009
1901336? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2016102920161009
1901600? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2016102920161009
1902360? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2016102920161009
1904480? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2016102920161009
1904488? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2016102920161009
1904752? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2016102920161009
1917848? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2016102920161009
1917856? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2016102920161009
1924328? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2016102920161009
1940456? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2016102920161009
1940464? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2016102920161009
1940472? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2016102920161009
1945336? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2016102920161009
1946792? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2016102920161009
1949264? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2016102920161009
1971264? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2016102920161009
1984416? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2016102920161009
1994024? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2016102920161009
2012728? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2016102920161009
2072176? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2016102920161009
2094576? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2016102920161009
2094720? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2016102920161009
2102208? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2016102920161009
2127424? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2016102920161009
2127448? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2016102920161009
2127616? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2016102920161009
2238040? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2016102920161009
2238640? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016102920161009
2239400? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016102920161009
2242288? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016102920161009
2243272? ? ?? ? ?refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016102920161009
2258536? ? ?? ? ?refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2016102920161009
2313080? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2016102920161009
2336888? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2016102920161009
2336952? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2016102920161009
2350848? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2016102920161009
2390096? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2016102920161009
2390112? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2016102920161009
2390264? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2016102920161009
2563424? ? ?? ? ?refgcc_-funroll-loops2016102920161009
2568944? ? ?? ? ?refgcc2016102920161009
2639608? ? ?? ? ?refcc2016102920161009

Test failure

Implementation: crypto_aead/twine80n6t4clocv2/vperm
Compiler: gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer vperm
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer vperm
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer vperm
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer vperm
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer vperm
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer vperm
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer vperm
gcc -m64 -march=corei7 -O -fomit-frame-pointer vperm
gcc -m64 -march=corei7 -Os -fomit-frame-pointer vperm

Compiler output

Implementation: crypto_aead/twine80n6t4clocv2/vperm
Compiler: cc
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/lib/gcc/x86_64-linux-gnu/5/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: error: 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/lib/gcc/x86_64-linux-gnu/5/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: error: 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: 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: crypto_aead/twine80n6t4clocv2/vperm
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
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: 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: 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/lib/gcc/x86_64-linux-gnu/5/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: error: 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/lib/gcc/x86_64-linux-gnu/5/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: error: 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/lib/gcc/x86_64-linux-gnu/5/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: error: 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/lib/gcc/x86_64-linux-gnu/5/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: error: 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