Implementation notes: amd64, h8bobcat, crypto_aead/twine80n6t4clocv2

Computer: h8bobcat
Architecture: amd64
CPU ID: AuthenticAMD-00500f20-178bfbff
SUPERCOP version: 20171218
Operation: crypto_aead
Primitive: twine80n6t4clocv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
353201? ? ?? ? ?vpermclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2017081920170718
353471? ? ?? ? ?vpermclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017081920170718
376314? ? ?? ? ?vpermgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2017081920170718
377297? ? ?? ? ?vpermgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017081920170718
377330? ? ?? ? ?vpermgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017081920170718
378561? ? ?? ? ?vpermgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017081920170718
378575? ? ?? ? ?vpermgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2017081920170718
378746? ? ?? ? ?vpermgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017081920170718
388369? ? ?? ? ?vpermgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017081920170718
388645? ? ?? ? ?vpermgcc_-m64_-march=core2_-O_-fomit-frame-pointer2017081920170718
389177? ? ?? ? ?vpermgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017081920170718
404467? ? ?? ? ?vpermgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017081920170718
404534? ? ?? ? ?vpermgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017081920170718
404961? ? ?? ? ?vpermgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2017081920170718
1860941? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017081920170718
1860945? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017081920170718
1860969? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2017081920170718
1900921? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2017081920170718
1903572? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017081920170718
1904531? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017081920170718
1904570? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017081920170718
1906133? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2017081920170718
1908242? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2017081920170718
1918388? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2017081920170718
1928609? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2017081920170718
1929060? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017081920170718
1931764? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2017081920170718
1932029? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2017081920170718
1943206? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2017081920170718
1944327? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2017081920170718
1954412? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2017081920170718
1955694? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2017081920170718
1963617? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017081920170718
1988241? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2017081920170718
1991152? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2017081920170718
1997024? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2017081920170718
1999603? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2017081920170718
2001255? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2017081920170718
2184724? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2017081920170718
2186301? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2017081920170718
2186610? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2017081920170718
2186686? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2017081920170718
2187028? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2017081920170718
2187869? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2017081920170718
2187987? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2017081920170718
2189413? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2017081920170718
2189579? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2017081920170718
2211462? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017081920170718
2211510? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2017081920170718
2220026? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017081920170718
2224411? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017081920170718
2234296? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017081920170718
2234870? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2017081920170718
2237877? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2017081920170718
2245230? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017081920170718
2246555? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2017081920170718
2251277? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017081920170718
2270614? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2017081920170718
2271616? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2017081920170718
2271768? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2017081920170718
2279886? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2017081920170718
2290032? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2017081920170718
2299689? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2017081920170718
2338073? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2017081920170718
2343284? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017081920170718
2347075? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2017081920170718
2361386? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2017081920170718
2379759? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2017081920170718
2379774? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017081920170718
2379835? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2017081920170718
2381603? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017081920170718
2383298? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017081920170718
2389716? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017081920170718
2391212? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2017081920170718
2403443? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2017081920170718
2405053? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2017081920170718
2413831? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2017081920170718
2417508? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2017081920170718
2429022? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2017081920170718
2429022? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2017081920170718
2429046? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017081920170718
2429064? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2017081920170718
2434271? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2017081920170718
2448568? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017081920170718
2448696? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2017081920170718
2450202? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2017081920170718
2451157? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2017081920170718
2452748? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2017081920170718
2454662? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2017081920170718
2464746? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2017081920170718
2469672? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017081920170718
2482345? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2017081920170718
2484568? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2017081920170718
2490463? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2017081920170718
2492482? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2017081920170718
2501734? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017081920170718
2508570? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017081920170718
2511302? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2017081920170718
2519457? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2017081920170718
2529232? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2017081920170718
2642720? ? ?? ? ?refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017081920170718
2645270? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2017081920170718
2648277? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017081920170718
2648300? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2017081920170718
2648705? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2017081920170718
2648952? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2017081920170718
2648970? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017081920170718
2653174? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017081920170718
2672088? ? ?? ? ?refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2017081920170718
2681133? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017081920170718
2712592? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017081920170718
2719152? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2017081920170718
2724633? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2017081920170718
6073540? ? ?? ? ?refgcc2017081920170718
6078922? ? ?? ? ?refcc2017081920170718
6086693? ? ?? ? ?refgcc_-funroll-loops2017081920170718

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