Implementation notes: amd64, gpu, crypto_aead/twine80n6t4clocv3

Computer: gpu
Architecture: amd64
CPU ID: GenuineIntel-000206d7-bfebfbff
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: twine80n6t4clocv3
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
10118417536 0 032869 784 1824vpermgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019083020190816
10203017536 0 032869 784 1824vpermgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019083020190816
10895617536 0 032869 784 1824vpermgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019083020190816
10970017504 0 032741 784 1824vpermgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019083020190816
11216824074 0 039349 784 1824vpermgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019083020190816
1122444949 0 017949 784 1824vpermgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019083020190816
1134084852 0 017861 784 1824vpermgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019083020190816
1165764349 0 016256 760 1792vpermgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019083020190816
1171364270 0 016176 760 1792vpermgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019083020190816
11720824074 0 039285 784 1824vpermgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019083020190816
1183684949 0 017949 784 1824vpermgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019083020190816
12214024074 0 039333 784 1824vpermgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019083020190816
1233004852 0 017861 784 1824vpermgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019083020190816
1235804892 0 017885 784 1824vpermgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019083020190816
1264244349 0 016256 760 1792vpermgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019083020190816
1272444349 0 016256 760 1792vpermgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019083020190816
1290725068 0 018069 784 1824vpermgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019083020190816
13148024018 0 039149 784 1824vpermgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019083020190816
1318524852 0 017861 784 1824vpermgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019083020190816
1343085068 0 018069 784 1824vpermgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019083020190816
1374004949 0 017949 784 1824vpermgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019083020190816
1413724852 0 017861 784 1824vpermgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019083020190816
1431005068 0 018069 784 1824vpermgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019083020190816
1550805028 0 018013 784 1824vpermgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019083020190816
1578324956 0 017957 784 1824vpermgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019083020190816
1636844334 0 016240 760 1792vpermgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019083020190816
1679284334 0 016240 760 1792vpermgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019083020190816
1705044306 0 016208 760 1792vpermgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019083020190816
1706324956 0 017957 784 1824vpermgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019083020190816
1710564956 0 017957 784 1824vpermgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019083020190816
1747324956 0 017957 784 1824vpermgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019083020190816
1791484334 0 016240 760 1792vpermgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019083020190816
16123127801 0 424943 768 1456refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019083020190816
16490288043 0 428239 768 1168refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019083020190816
17940848048 0 425951 768 1456refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2019083020190816
18462608043 0 428239 768 1168refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019083020190816
18655688043 0 428239 768 1168refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019083020190816
19503608043 0 426911 768 1168refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019083020190816
19619967801 0 424943 768 1456refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019083020190816
20003288048 0 425951 768 1456refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019083020190816
22006208943 0 424030 776 1248refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019083020190816
225532414374 0 432678 776 1248refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019083020190816
22610287555 0 420413 768 1248refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019083020190816
23229089059 0 424366 776 1248refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019083020190816
23795569335 0 425061 768 1248refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019083020190816
23931207539 0 420397 768 1248refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019083020190816
23945609356 0 424838 776 1248refgcc_-march=k8_-O3_-fomit-frame-pointer2019083020190816
24023728295 0 423502 776 1248refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019083020190816
24060449335 0 425061 768 1248refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019083020190816
24141569059 0 424366 776 1248refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019083020190816
244361613213 0 430758 776 1248refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019083020190816
24516647539 0 420397 768 1248refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019083020190816
24669329356 0 424838 776 1248refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019083020190816
24690209838 0 425853 768 1248refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019083020190816
24703127071 0 419966 776 1248refgcc_-march=nocona_-O_-fomit-frame-pointer2019083020190816
24709809954 0 426181 768 1248refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019083020190816
24778129521 0 425637 768 1248refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019083020190816
24867048943 0 424182 776 1248refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019083020190816
249614414258 0 432382 776 1248refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019083020190816
25001647595 0 420437 768 1248refgcc_-march=k8_-O2_-fomit-frame-pointer2019083020190816
25008167087 0 420006 776 1248refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019083020190816
25026609521 0 425637 768 1248refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019083020190816
251078814258 0 432382 776 1248refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019083020190816
25150449521 0 425637 768 1248refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019083020190816
25232087539 0 420405 768 1248refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019083020190816
25280129838 0 425853 768 1248refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019083020190816
25339809600 0 425326 776 1248refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019083020190816
25524647539 0 420405 768 1248refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019083020190816
256664413213 0 430758 776 1248refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019083020190816
256883213213 0 430758 776 1248refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019083020190816
25742487555 0 420413 768 1248refgcc_-O2_-fomit-frame-pointer2019083020190816
26118528754 0 425126 776 1248refgcc_-funroll-loops_-O_-fomit-frame-pointer2019083020190816
263142815414 0 820853 768 1248refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019083020190816
26577608754 0 425126 776 1248refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019083020190816
26595967595 0 420437 768 1248refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019083020190816
26661447539 0 420405 768 1248refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019083020190816
26811608837 0 425070 776 1248refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019083020190816
26869088943 0 424118 776 1248refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019083020190816
26923489055 0 424278 776 1248refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019083020190816
26954767068 0 419974 776 1248refgcc_-march=barcelona_-O_-fomit-frame-pointer2019083020190816
27008288724 0 424886 776 1248refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019083020190816
27064689059 0 424366 776 1248refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019083020190816
271660814374 0 432678 776 1248refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019083020190816
27175287707 0 420853 768 1248refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019083020190816
272048812963 0 430190 776 1248refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019083020190816
27218489087 0 424318 776 1248refgcc_-O3_-fomit-frame-pointer2019083020190816
27256169954 0 426181 768 1248refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019083020190816
27444568736 0 423654 776 1248refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019083020190816
274817212963 0 430190 776 1248refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019083020190816
27516048837 0 425070 776 1248refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019083020190816
27604529087 0 424318 776 1248refgcc_-m64_-O3_-fomit-frame-pointer2019083020190816
27648407555 0 420413 768 1248refgcc_-m64_-O2_-fomit-frame-pointer2019083020190816
27788287091 0 420022 776 1248refgcc_-march=k8_-O_-fomit-frame-pointer2019083020190816
28149808724 0 424886 776 1248refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019083020190816
28207887091 0 420022 776 1248refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019083020190816
28279607539 0 420397 768 1248refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019083020190816
282947619200 0 825326 776 1248refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019083020190816
28381409087 0 424318 776 1248refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019083020190816
28443407342 0 419853 768 1248refgcc_-march=nocona_-O2_-fomit-frame-pointer2019083020190816
28475727091 0 420022 776 1248refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019083020190816
28478607539 0 420397 768 1248refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019083020190816
28542568736 0 423654 776 1248refgcc_-march=nocona_-O3_-fomit-frame-pointer2019083020190816
28565727539 0 420397 768 1248refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019083020190816
28594046153 0 417977 752 1216refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019083020190816
28786408742 0 425046 776 1248refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019083020190816
29016327087 0 420006 776 1248refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019083020190816
290878014136 0 819974 776 1248refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019083020190816
29096007087 0 420006 776 1248refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019083020190816
29182367091 0 420022 776 1248refgcc_-O_-fomit-frame-pointer2019083020190816
29370687342 0 419853 768 1248refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019083020190816
29450167087 0 420006 776 1248refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019083020190816
29812207087 0 420006 776 1248refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019083020190816
29919767087 0 420006 776 1248refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019083020190816
30131726301 0 418161 752 1216refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019083020190816
30446447087 0 420006 776 1248refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019083020190816
30457288754 0 425126 776 1248refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019083020190816
30528368742 0 425046 776 1248refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019083020190816
30740966150 0 417961 752 1216refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019083020190816
30841927091 0 420022 776 1248refgcc_-m64_-O_-fomit-frame-pointer2019083020190816
31731646153 0 417977 752 1216refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019083020190816
31750486150 0 417961 752 1216refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019083020190816
31876486153 0 417977 752 1216refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019083020190816
31903127071 0 419966 776 1248refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019083020190816
33248207087 0 420006 776 1248refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019083020190816
34431246153 0 417977 752 1216refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019083020190816
34677206150 0 417961 752 1216refgcc_-march=nocona_-Os_-fomit-frame-pointer2019083020190816
35035166153 0 417961 752 1216refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019083020190816
35401766301 0 418161 752 1216refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019083020190816
35417526150 0 417961 752 1216refgcc_-Os_-fomit-frame-pointer2019083020190816
35472966150 0 417961 752 1216refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019083020190816
35570086150 0 417961 752 1216refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019083020190816
35658566150 0 417961 752 1216refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019083020190816
36063806150 0 417961 752 1216refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019083020190816
36313686150 0 417961 752 1216refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019083020190816
36464366301 0 418161 752 1216refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019083020190816
37820326150 0 417961 752 1216refgcc_-march=k8_-Os_-fomit-frame-pointer2019083020190816
38003086301 0 418161 752 1216refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019083020190816
38902286150 0 417961 752 1216refgcc_-m64_-Os_-fomit-frame-pointer2019083020190816
39137286301 0 418161 752 1216refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019083020190816
392103212300 0 817961 752 1216refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019083020190816
40258366301 0 418161 752 1216refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019083020190816
41055766301 0 418161 752 1216refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019083020190816
41435486301 0 418161 752 1216refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019083020190816
415203210323 0 424927 768 1184refcc2019083020190816
42482646301 0 418161 752 1216refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019083020190816
454746010323 0 424927 768 1184refgcc2019083020190816
465410810323 0 424927 768 1184refgcc_-funroll-loops2019083020190816

Test failure

Implementation: ref
Security model: unknown
Compiler: gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer vperm
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer vperm
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer vperm

Compiler output

Implementation: vperm
Security model: unknown
Compiler: cc
cloc.c: In file included from common.h:7:0,
cloc.c: from cloc.h:2,
cloc.c: from cloc.c:5:
cloc.c: twine.h: In function 'TWINE80_enc':
cloc.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
cloc.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
cloc.c: ^~~~~~~~~~~~~~~~
cloc.c: In file included from cloc.c:7:0:
cloc.c: twine.h:69:9: note: called from here
cloc.c: right = PSHUFB(right, tmp);
cloc.c: In file included from common.h:7:0,
cloc.c: from cloc.h:2,
cloc.c: from cloc.c:5:
cloc.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
cloc.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
cloc.c: ^~~~~~~~~~~~~~~~
cloc.c: In file included from cloc.c:7:0:
cloc.c: twine.h:66:7: note: called from here
cloc.c: tmp = PSHUFB(lsbox, tmp);
cloc.c: In file included from common.h:7:0,
cloc.c: from cloc.h:2,
cloc.c: from cloc.c:5:
cloc.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
cloc.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
cloc.c: ^~~~~~~~~~~~~~~~
cloc.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: vperm
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
cloc.c: In file included from cloc.c:7:
cloc.c: ./twine.h:48:9: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'TWINE80_enc' that is compiled without support for 'ssse3'
cloc.c: tmp = PSHUFB(lsbox, tmp);
cloc.c: ^
cloc.c: ./common.h:42:22: note: expanded from macro 'PSHUFB'
cloc.c: #define PSHUFB(s, x) _mm_shuffle_epi8((s), (x)) /*return s(x)*/
cloc.c: ^
cloc.c: In file included from cloc.c:7:
cloc.c: ./twine.h:51:10: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'TWINE80_enc' that is compiled without support for 'ssse3'
cloc.c: left = PSHUFB(left, tmp);
cloc.c: ^
cloc.c: ./common.h:42:22: note: expanded from macro 'PSHUFB'
cloc.c: #define PSHUFB(s, x) _mm_shuffle_epi8((s), (x)) /*return s(x)*/
cloc.c: ^
cloc.c: In file included from cloc.c:7:
cloc.c: ./twine.h:54:9: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'TWINE80_enc' that is compiled without support for 'ssse3'
cloc.c: tmp = PSHUFB(lsbox, tmp);
cloc.c: ^
cloc.c: ./common.h:42:22: note: expanded from macro 'PSHUFB'
cloc.c: #define PSHUFB(s, x) _mm_shuffle_epi8((s), (x)) /*return s(x)*/
cloc.c: ^
cloc.c: In file included from cloc.c:7:
cloc.c: ./twine.h:57:11: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'TWINE80_enc' that is compiled without support for 'ssse3'
cloc.c: right = PSHUFB(right, tmp);
cloc.c: ^
cloc.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: vperm
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
cloc.c: cloc.c:193:26: warning: implicit conversion from 'int' to 'char' changes value from 135 to -121 [-Wconstant-conversion]
cloc.c: state = XORDQW(state, SHR(state, 8));
cloc.c: ~~~~~~~~~~~~~~^~~~~~~~~~~~~~
cloc.c: ./common.h:30:63: note: expanded from macro 'SHR'
cloc.c: #define SHR(x,n) _mm_shuffle_epi8((x), _mm_set_epi8(127+(n), 126+(n), 125+(n), 124+(n), 123+(n), 122+(n), 121+(n), 120+(n), 119+(n), 118+(n), 117+(n), 116+(n), 115+(n), 114+(n), 113+(n), 112+(n))) // shift to the right
cloc.c: ~~~~~~~~~~~~ ^
cloc.c: ./common.h:18:43: note: expanded from macro 'XORDQW'
cloc.c: #define XORDQW(x, y) _mm_xor_si128((x), (y))
cloc.c: ^
cloc.c: cloc.c:193:26: warning: implicit conversion from 'int' to 'char' changes value from 134 to -122 [-Wconstant-conversion]
cloc.c: state = XORDQW(state, SHR(state, 8));
cloc.c: ~~~~~~~~~~~~~~^~~~~~~~~~~~~~
cloc.c: ./common.h:30:72: note: expanded from macro 'SHR'
cloc.c: #define SHR(x,n) _mm_shuffle_epi8((x), _mm_set_epi8(127+(n), 126+(n), 125+(n), 124+(n), 123+(n), 122+(n), 121+(n), 120+(n), 119+(n), 118+(n), 117+(n), 116+(n), 115+(n), 114+(n), 113+(n), 112+(n))) // shift to the right
cloc.c: ~~~~~~~~~~~~ ^
cloc.c: ./common.h:18:43: note: expanded from macro 'XORDQW'
cloc.c: #define XORDQW(x, y) _mm_xor_si128((x), (y))
cloc.c: ^
cloc.c: cloc.c:193:26: warning: implicit conversion from 'int' to 'char' changes value from 133 to -123 [-Wconstant-conversion]
cloc.c: state = XORDQW(state, SHR(state, 8));
cloc.c: ~~~~~~~~~~~~~~^~~~~~~~~~~~~~
cloc.c: ./common.h:30:81: note: expanded from macro 'SHR'
cloc.c: #define SHR(x,n) _mm_shuffle_epi8((x), _mm_set_epi8(127+(n), 126+(n), 125+(n), 124+(n), 123+(n), 122+(n), 121+(n), 120+(n), 119+(n), 118+(n), 117+(n), 116+(n), 115+(n), 114+(n), 113+(n), 112+(n))) // shift to the right
cloc.c: ~~~~~~~~~~~~ ^
cloc.c: ./common.h:18:43: note: expanded from macro 'XORDQW'
cloc.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments vperm
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments vperm
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments vperm
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments vperm

Compiler output

Implementation: vperm
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
cloc.c: In file included from common.h:7:0,
cloc.c: from cloc.h:2,
cloc.c: from cloc.c:5:
cloc.c: twine.h: In function 'TWINE80_enc':
cloc.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
cloc.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
cloc.c: ^~~~~~~~~~~~~~~~
cloc.c: In file included from cloc.c:7:0:
cloc.c: twine.h:69:9: note: called from here
cloc.c: right = PSHUFB(right, tmp);
cloc.c: In file included from common.h:7:0,
cloc.c: from cloc.h:2,
cloc.c: from cloc.c:5:
cloc.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
cloc.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
cloc.c: ^~~~~~~~~~~~~~~~
cloc.c: In file included from cloc.c:7:0:
cloc.c: twine.h:66:7: note: called from here
cloc.c: tmp = PSHUFB(lsbox, tmp);
cloc.c: In file included from common.h:7:0,
cloc.c: from cloc.h:2,
cloc.c: from cloc.c:5:
cloc.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
cloc.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
cloc.c: ^~~~~~~~~~~~~~~~
cloc.c: ...
cloc.c: In file included from common.h:7:0,
cloc.c: from cloc.h:2,
cloc.c: from cloc.c:5:
cloc.c: twine.h: In function 'TWINE80_enc':
cloc.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
cloc.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
cloc.c: ^~~~~~~~~~~~~~~~
cloc.c: In file included from cloc.c:7:0:
cloc.c: twine.h:69:9: note: called from here
cloc.c: right = PSHUFB(right, tmp);
cloc.c: In file included from common.h:7:0,
cloc.c: from cloc.h:2,
cloc.c: from cloc.c:5:
cloc.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
cloc.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
cloc.c: ^~~~~~~~~~~~~~~~
cloc.c: In file included from cloc.c:7:0:
cloc.c: twine.h:66:7: note: called from here
cloc.c: tmp = PSHUFB(lsbox, tmp);
cloc.c: In file included from common.h:7:0,
cloc.c: from cloc.h:2,
cloc.c: from cloc.c:5:
cloc.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
cloc.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
cloc.c: ^~~~~~~~~~~~~~~~
cloc.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