Implementation notes: amd64, cryptothinkx, crypto_aead/twine80n6t4clocv2

Computer: cryptothinkx
Architecture: amd64
CPU ID: GenuineIntel-00040651-bfebfbff
SUPERCOP version: 20170105
Operation: crypto_aead
Primitive: twine80n6t4clocv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
80709? ? ?? ? ?vpermclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017021420170105
81441? ? ?? ? ?vpermgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017021420170105
81495? ? ?? ? ?vpermgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017021420170105
81579? ? ?? ? ?vpermgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2017021420170105
82017? ? ?? ? ?vpermgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2017021420170105
83316? ? ?? ? ?vpermclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017021420170105
83397? ? ?? ? ?vpermclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017021420170105
83472? ? ?? ? ?vpermclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2017021420170105
84165? ? ?? ? ?vpermgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2017021420170105
84189? ? ?? ? ?vpermgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017021420170105
84228? ? ?? ? ?vpermgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017021420170105
84297? ? ?? ? ?vpermgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017021420170105
84318? ? ?? ? ?vpermgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2017021420170105
84324? ? ?? ? ?vpermgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017021420170105
84342? ? ?? ? ?vpermgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2017021420170105
84618? ? ?? ? ?vpermgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2017021420170105
84969? ? ?? ? ?vpermgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017021420170105
85995? ? ?? ? ?vpermclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2017021420170105
86997? ? ?? ? ?vpermgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017021420170105
86997? ? ?? ? ?vpermgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017021420170105
87168? ? ?? ? ?vpermgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017021420170105
87180? ? ?? ? ?vpermgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017021420170105
87471? ? ?? ? ?vpermgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2017021420170105
87480? ? ?? ? ?vpermgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2017021420170105
87648? ? ?? ? ?vpermgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017021420170105
87768? ? ?? ? ?vpermgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017021420170105
87813? ? ?? ? ?vpermgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2017021420170105
88296? ? ?? ? ?vpermgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2017021420170105
88359? ? ?? ? ?vpermgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017021420170105
88593? ? ?? ? ?vpermgcc_-m64_-march=core2_-O_-fomit-frame-pointer2017021420170105
90153? ? ?? ? ?vpermgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017021420170105
90309? ? ?? ? ?vpermgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2017021420170105
91254? ? ?? ? ?vpermgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017021420170105
91914? ? ?? ? ?vpermclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2017021420170105
93243? ? ?? ? ?vpermgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017021420170105
93708? ? ?? ? ?vpermgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017021420170105
93831? ? ?? ? ?vpermgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017021420170105
105356? ? ?? ? ?vpermgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017021420170105
117216? ? ?? ? ?vpermgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2017021420170105
126780? ? ?? ? ?vpermgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017021420170105
126909? ? ?? ? ?vpermgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017021420170105
135888? ? ?? ? ?vpermgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2017021420170105
853764? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017021420170105
853764? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2017021420170105
855501? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017021420170105
862308? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017021420170105
868716? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2017021420170105
878304? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017021420170105
878598? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2017021420170105
878763? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2017021420170105
880725? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2017021420170105
880836? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2017021420170105
883434? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017021420170105
884172? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2017021420170105
897033? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017021420170105
912480? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2017021420170105
913179? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017021420170105
920169? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2017021420170105
922050? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2017021420170105
924333? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2017021420170105
928251? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2017021420170105
933609? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2017021420170105
938886? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017021420170105
939051? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017021420170105
939093? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2017021420170105
941949? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2017021420170105
942003? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2017021420170105
948333? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2017021420170105
961410? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2017021420170105
972348? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2017021420170105
972447? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017021420170105
978492? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2017021420170105
980886? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2017021420170105
981234? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2017021420170105
989394? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017021420170105
1011186? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2017021420170105
1013355? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2017021420170105
1013700? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2017021420170105
1013832? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2017021420170105
1014030? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2017021420170105
1015629? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017021420170105
1025157? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2017021420170105
1025529? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017021420170105
1029060? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2017021420170105
1031154? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2017021420170105
1046523? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017021420170105
1048392? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017021420170105
1051872? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017021420170105
1052313? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2017021420170105
1061202? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017021420170105
1064124? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017021420170105
1072269? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2017021420170105
1072401? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017021420170105
1077300? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2017021420170105
1079253? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2017021420170105
1082835? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2017021420170105
1083375? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2017021420170105
1083570? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2017021420170105
1086213? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2017021420170105
1086396? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017021420170105
1087581? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2017021420170105
1089603? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2017021420170105
1094817? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2017021420170105
1095699? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2017021420170105
1098534? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2017021420170105
1104800? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2017021420170105
1109001? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2017021420170105
1109166? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2017021420170105
1111191? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2017021420170105
1113449? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2017021420170105
1115784? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2017021420170105
1122606? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2017021420170105
1123404? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2017021420170105
1123551? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017021420170105
1127500? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017021420170105
1134596? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017021420170105
1139472? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017021420170105
1139588? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017021420170105
1164606? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017021420170105
1166022? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2017021420170105
1169502? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2017021420170105
1187076? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2017021420170105
1201619? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2017021420170105
1247188? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2017021420170105
1247364? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017021420170105
1278682? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2017021420170105
1299357? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2017021420170105
1342617? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2017021420170105
1418601? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017021420170105
1451127? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2017021420170105
1467468? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2017021420170105
1488678? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2017021420170105
1489182? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2017021420170105
1490595? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017021420170105
1495758? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017021420170105
1504788? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017021420170105
1507320? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2017021420170105
1509135? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2017021420170105
1510215? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2017021420170105
1510455? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2017021420170105
1560174? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2017021420170105
1560579? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2017021420170105
1562184? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2017021420170105
1563669? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017021420170105
1569201? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2017021420170105
1569678? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2017021420170105
1590546? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017021420170105
1591020? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017021420170105
1605798? ? ?? ? ?refgcc_-funroll-loops2017021420170105
1606536? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2017021420170105
1606800? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2017021420170105
1609431? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2017021420170105
1609623? ? ?? ? ?refcc2017021420170105
1614396? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017021420170105
1618479? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017021420170105
1618707? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2017021420170105
1621512? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017021420170105
1641030? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017021420170105
1642233? ? ?? ? ?refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2017021420170105
1659120? ? ?? ? ?refgcc2017021420170105
1662735? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017021420170105
1693272? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2017021420170105
1693416? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017021420170105
1700724? ? ?? ? ?refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017021420170105
1721553? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017021420170105
1725837? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017021420170105
1741884? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2017021420170105

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: In file included from encrypt.c:3:0:
encrypt.c: twine.h:75:26: error: called from here
encrypt.c: #define STORE64(p,x) _mm_storel_epi64((__m128i *)(p), (x))
encrypt.c: ^
encrypt.c: twine.h:77:26: note: in expansion of macro ‘STORE64’
encrypt.c: #define STORES(p,x) STORE64((p), DSHUFFLE4(x)) /* store 64-bit to memory address p */
encrypt.c: ^
encrypt.c: twine.h:229:2: note: in expansion of macro ‘STORES’
encrypt.c: STORES(cipher, state);
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: STORES(cipher, state);
encrypt.c: ^
encrypt.c: ./twine.h:77:39: note: expanded from macro 'STORES'
encrypt.c: #define STORES(p,x) STORE64((p), DSHUFFLE4(x)) /* store 64-bit to memory address p */
encrypt.c: ^
encrypt.c: ./twine.h:99:3: note: expanded from macro 'DSHUFFLE4'
encrypt.c: _mm_shuffle_epi8(MASK4L(x), _mm_set_epi8(-1,-1,-1,-1,-1,-1,-1,-1,15,13,11,9,7,5,3,1)), ^
encrypt.c: fatal error: too many errors emitted, stopping now [-ferror-limit=]
encrypt.c: 20 errors generated.

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: In file included from encrypt.c:3:0:
encrypt.c: twine.h:75:26: error: called from here
encrypt.c: #define STORE64(p,x) _mm_storel_epi64((__m128i *)(p), (x))
encrypt.c: ^
encrypt.c: twine.h:77:26: note: in expansion of macro ‘STORE64’
encrypt.c: #define STORES(p,x) STORE64((p), DSHUFFLE4(x)) /* store 64-bit to memory address p */
encrypt.c: ^
encrypt.c: twine.h:229:2: note: in expansion of macro ‘STORES’
encrypt.c: STORES(cipher, state);
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: In file included from encrypt.c:3:0:
encrypt.c: twine.h:75:26: error: called from here
encrypt.c: #define STORE64(p,x) _mm_storel_epi64((__m128i *)(p), (x))
encrypt.c: ^
encrypt.c: twine.h:77:26: note: in expansion of macro ‘STORE64’
encrypt.c: #define STORES(p,x) STORE64((p), DSHUFFLE4(x)) /* store 64-bit to memory address p */
encrypt.c: ^
encrypt.c: twine.h:229:2: note: in expansion of macro ‘STORES’
encrypt.c: STORES(cipher, state);
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