Implementation notes: amd64, hydra1, crypto_aead/twine80n6t4clocv2

Computer: hydra1
Architecture: amd64
CPU ID: AuthenticAMD-00100fa0-178bfbff
SUPERCOP version: 20161220
Operation: crypto_aead
Primitive: twine80n6t4clocv2
TimeImplementationCompilerBenchmark dateSUPERCOP version
1774874refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016102320161009
1778231refgcc -funroll-loops -O2 -fomit-frame-pointer2016102320161009
1787845refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016102320161009
1787944refgcc -march=k8 -O2 -fomit-frame-pointer2016102320161009
1789131refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016102320161009
1789339refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016102320161009
1791498refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016102320161009
1806729refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016102320161009
1811269refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016102320161009
1832409refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016102320161009
1837587refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016102320161009
1851103refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016102320161009
1872709refgcc -march=barcelona -O2 -fomit-frame-pointer2016102320161009
1873013refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016102320161009
1885485refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016102320161009
1900641refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016102320161009
1902685refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016102320161009
1911926refgcc -march=nocona -O2 -fomit-frame-pointer2016102320161009
1937392refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016102320161009
1938155refgcc -O2 -fomit-frame-pointer2016102320161009
1941152refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016102320161009
1971383refgcc -m64 -O2 -fomit-frame-pointer2016102320161009
1977069refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016102320161009
1982739refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016102320161009
1996534refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016102320161009
2002745refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016102320161009
2011782refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016102320161009
2014200refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016102320161009
2028389refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016102320161009
2066279refgcc -funroll-loops -O3 -fomit-frame-pointer2016102320161009
2118170refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016102320161009
2178491refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016102320161009
2194051refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016102320161009
2198055refgcc -march=k8 -O3 -fomit-frame-pointer2016102320161009
2198691refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016102320161009
2205633refgcc -m64 -O3 -fomit-frame-pointer2016102320161009
2206517refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016102320161009
2208135refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016102320161009
2217546refgcc -O3 -fomit-frame-pointer2016102320161009
2219803refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016102320161009
2228802refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016102320161009
2238098refgcc -march=barcelona -O3 -fomit-frame-pointer2016102320161009
2332429refgcc -march=nocona -O3 -fomit-frame-pointer2016102320161009
2338382refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016102320161009
2442194refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016102320161009
2450227refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016102320161009
2487509refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016102320161009
2487514refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016102320161009
2518480refgcc -march=k8 -Os -fomit-frame-pointer2016102320161009
2528870refgcc -Os -fomit-frame-pointer2016102320161009
2529237refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016102320161009
2529904refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016102320161009
2534045refgcc -m64 -Os -fomit-frame-pointer2016102320161009
2543684refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016102320161009
2549997refgcc -march=barcelona -Os -fomit-frame-pointer2016102320161009
2554235refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016102320161009
2556484refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016102320161009
2596948refclang -O3 -fomit-frame-pointer -Qunused-arguments2016102320161009
2611179refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016102320161009
2614238refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016102320161009
2632517refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016102320161009
2651032refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016102320161009
2694032refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016102320161009
2694474refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016102320161009
2694501refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016102320161009
2694987refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016102320161009
2706254refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016102320161009
2747611refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016102320161009
2747676refgcc -funroll-loops -Os -fomit-frame-pointer2016102320161009
2788106refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016102320161009
3061250refgcc -march=nocona -Os -fomit-frame-pointer2016102320161009
3063355refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016102320161009
3129370refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016102320161009
3202721refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016102320161009
3211942refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016102320161009
3219456refgcc -fno-schedule-insns -O -fomit-frame-pointer2016102320161009
3219496refgcc -m64 -O -fomit-frame-pointer2016102320161009
3237763refgcc -march=nocona -O -fomit-frame-pointer2016102320161009
3268853refgcc -march=barcelona -O -fomit-frame-pointer2016102320161009
3269198refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016102320161009
3270315refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016102320161009
3282994refgcc -O -fomit-frame-pointer2016102320161009
3302583refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016102320161009
3309368refgcc -m64 -march=nocona -O -fomit-frame-pointer2016102320161009
3317033refgcc -march=k8 -O -fomit-frame-pointer2016102320161009
3322534refgcc -m64 -march=k8 -O -fomit-frame-pointer2016102320161009
3332253refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016102320161009
3332270refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016102320161009
3339654refgcc -funroll-loops -O -fomit-frame-pointer2016102320161009
3381790refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016102320161009
3403597refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016102320161009
3404360refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016102320161009
3415931refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016102320161009
3417053refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016102320161009
3417058refgcc -m64 -march=core2 -O -fomit-frame-pointer2016102320161009
3432507refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016102320161009
3456596refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016102320161009
3471715refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016102320161009
4595347refgcc -funroll-loops2016102320161009
4595856refgcc2016102320161009
4599305refcc2016102320161009

Test failure

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

Number of similar (compiler,implementation) pairs: 14, namely:
CompilerImplementations
gcc -m64 -march=core2 -O2 -fomit-frame-pointer vperm
gcc -m64 -march=core2 -O3 -fomit-frame-pointer ref vperm
gcc -m64 -march=core2 -O -fomit-frame-pointer vperm
gcc -m64 -march=core2 -Os -fomit-frame-pointer vperm
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: 79, 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=native -mtune=native -O2 -fomit-frame-pointer vperm
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer vperm
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer vperm
gcc -m64 -march=native -mtune=native -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=native -mtune=native -O2 -fomit-frame-pointer -fwrapv vperm
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv vperm
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv vperm
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv 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: 6, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments vperm
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments vperm
clang -march=native -O3 -fomit-frame-pointer -fwrapv -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