Implementation notes: x86, katana, crypto_aead/tiaoxinv2

Computer: katana
Architecture: x86
CPU ID: GenuineIntel-000006f6-bfebfbff
SUPERCOP version: 20170105
Operation: crypto_aead
Primitive: tiaoxinv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
67648? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium_-O_-fomit-frame-pointer2016102920161009
67688? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium-mmx_-O_-fomit-frame-pointer2016102920161009
67784? ? ?? ? ?refgcc_-m32_-march=pentium-mmx_-O_-fomit-frame-pointer2016102920161009
68056? ? ?? ? ?refgcc_-m32_-march=pentium_-O_-fomit-frame-pointer2016102920161009
68944? ? ?? ? ?refgcc_-funroll-loops_-m32_-O_-fomit-frame-pointer2016102920161009
68952? ? ?? ? ?refgcc_-m32_-O_-fomit-frame-pointer2016102920161009
68992? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=k6-2_-O_-fomit-frame-pointer2016102920161009
69024? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=k6-3_-O_-fomit-frame-pointer2016102920161009
69072? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=athlon_-O_-fomit-frame-pointer2016102920161009
69176? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=k6_-O_-fomit-frame-pointer2016102920161009
69208? ? ?? ? ?refgcc_-m32_-march=athlon_-O_-fomit-frame-pointer2016102920161009
69256? ? ?? ? ?refgcc_-m32_-march=k6_-O_-fomit-frame-pointer2016102920161009
69304? ? ?? ? ?refgcc_-m32_-march=k6-3_-O_-fomit-frame-pointer2016102920161009
69464? ? ?? ? ?refgcc_-m32_-march=k6-2_-O_-fomit-frame-pointer2016102920161009
69752? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium4_-O_-fomit-frame-pointer2016102920161009
70016? ? ?? ? ?refgcc_-m32_-march=pentium-m_-O_-fomit-frame-pointer2016102920161009
70120? ? ?? ? ?refgcc_-m32_-march=native_-mtune=native_-O_-fomit-frame-pointer2016102920161009
70464? ? ?? ? ?refgcc_-m32_-march=k8_-O_-fomit-frame-pointer2016102920161009
70520? ? ?? ? ?refgcc_-m32_-march=pentium4_-O2_-fomit-frame-pointer2016102920161009
71056? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=k8_-O3_-fomit-frame-pointer2016102920161009
71176? ? ?? ? ?refgcc_-m32_-O3_-fomit-frame-pointer2016102920161009
71256? ? ?? ? ?refgcc_-funroll-loops_-m32_-O3_-fomit-frame-pointer2016102920161009
71448? ? ?? ? ?refgcc_-m32_-march=corei7_-O2_-fomit-frame-pointer2016102920161009
71656? ? ?? ? ?refgcc_-m32_-march=nocona_-O2_-fomit-frame-pointer2016102920161009
71680? ? ?? ? ?refgcc_-m32_-march=pentium4_-O_-fomit-frame-pointer2016102920161009
71768? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium-m_-O_-fomit-frame-pointer2016102920161009
71784? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=k8_-O2_-fomit-frame-pointer2016102920161009
71792? ? ?? ? ?refgcc_-m32_-march=pentium3_-O3_-fomit-frame-pointer2016102920161009
71880? ? ?? ? ?refgcc_-m32_-march=k8_-O2_-fomit-frame-pointer2016102920161009
71920? ? ?? ? ?refgcc_-m32_-O2_-fomit-frame-pointer2016102920161009
72048? ? ?? ? ?refgcc_-m32_-march=pentium-m_-O2_-fomit-frame-pointer2016102920161009
72088? ? ?? ? ?refgcc_-m32_-march=k8_-O3_-fomit-frame-pointer2016102920161009
72096? ? ?? ? ?refgcc_-m32_-march=k6-3_-O2_-fomit-frame-pointer2016102920161009
72128? ? ?? ? ?refgcc_-m32_-march=k6-2_-O2_-fomit-frame-pointer2016102920161009
72152? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=k6-3_-O2_-fomit-frame-pointer2016102920161009
72152? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=k6_-O3_-fomit-frame-pointer2016102920161009
72176? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=k6-3_-O3_-fomit-frame-pointer2016102920161009
72224? ? ?? ? ?refgcc_-m32_-march=k6_-O2_-fomit-frame-pointer2016102920161009
72240? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=k6_-O2_-fomit-frame-pointer2016102920161009
72256? ? ?? ? ?refgcc_-m32_-march=k6_-O3_-fomit-frame-pointer2016102920161009
72288? ? ?? ? ?refgcc_-m32_-march=athlon_-O3_-fomit-frame-pointer2016102920161009
72312? ? ?? ? ?refgcc_-m32_-march=athlon_-O2_-fomit-frame-pointer2016102920161009
72312? ? ?? ? ?refgcc_-m32_-march=k6-3_-O3_-fomit-frame-pointer2016102920161009
72320? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=barcelona_-O2_-fomit-frame-pointer2016102920161009
72328? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=k6-2_-O2_-fomit-frame-pointer2016102920161009
72336? ? ?? ? ?refgcc_-m32_-march=k6-2_-O3_-fomit-frame-pointer2016102920161009
72352? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=athlon_-O3_-fomit-frame-pointer2016102920161009
72360? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=athlon_-O2_-fomit-frame-pointer2016102920161009
72368? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=k6-2_-O3_-fomit-frame-pointer2016102920161009
72408? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium4_-O3_-fomit-frame-pointer2016102920161009
72584? ? ?? ? ?refgcc_-funroll-loops_-m32_-O2_-fomit-frame-pointer2016102920161009
72656? ? ?? ? ?refgcc_-m32_-march=barcelona_-O2_-fomit-frame-pointer2016102920161009
72888? ? ?? ? ?refgcc_-m32_-march=core2_-msse4_-O2_-fomit-frame-pointer2016102920161009
72888? ? ?? ? ?refgcc_-m32_-march=pentium-mmx_-O2_-fomit-frame-pointer2016102920161009
72912? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium3_-O_-fomit-frame-pointer2016102920161009
72928? ? ?? ? ?refgcc_-m32_-march=pentium_-O2_-fomit-frame-pointer2016102920161009
72944? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=k8_-O_-fomit-frame-pointer2016102920161009
72944? ? ?? ? ?refgcc_-m32_-march=prescott_-O3_-fomit-frame-pointer2016102920161009
72984? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=nocona_-O_-fomit-frame-pointer2016102920161009
73072? ? ?? ? ?refgcc_-m32_-march=pentium-mmx_-O3_-fomit-frame-pointer2016102920161009
73104? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=prescott_-O_-fomit-frame-pointer2016102920161009
73136? ? ?? ? ?refgcc_-m32_-march=pentium3_-O2_-fomit-frame-pointer2016102920161009
73184? ? ?? ? ?refgcc_-m32_-march=pentium3_-O_-fomit-frame-pointer2016102920161009
73184? ? ?? ? ?refgcc_-m32_-march=pentium_-O3_-fomit-frame-pointer2016102920161009
73232? ? ?? ? ?refgcc_-m32_-march=core2_-O_-fomit-frame-pointer2016102920161009
73232? ? ?? ? ?refgcc_-m32_-march=core2_-msse4.1_-O_-fomit-frame-pointer2016102920161009
73240? ? ?? ? ?refgcc_-m32_-march=core2_-msse4_-O_-fomit-frame-pointer2016102920161009
73288? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium-mmx_-O2_-fomit-frame-pointer2016102920161009
73304? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=barcelona_-O_-fomit-frame-pointer2016102920161009
73320? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium3_-O2_-fomit-frame-pointer2016102920161009
73344? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium_-O2_-fomit-frame-pointer2016102920161009
73344? ? ?? ? ?refgcc_-m32_-march=barcelona_-O_-fomit-frame-pointer2016102920161009
73352? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium-m_-O2_-fomit-frame-pointer2016102920161009
73456? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=nocona_-O3_-fomit-frame-pointer2016102920161009
73536? ? ?? ? ?refgcc_-m32_-march=nocona_-O_-fomit-frame-pointer2016102920161009
73568? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium_-O3_-fomit-frame-pointer2016102920161009
73576? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium-mmx_-O3_-fomit-frame-pointer2016102920161009
73680? ? ?? ? ?refgcc_-m32_-march=prescott_-O_-fomit-frame-pointer2016102920161009
73872? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium-m_-O3_-fomit-frame-pointer2016102920161009
74064? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium4_-O2_-fomit-frame-pointer2016102920161009
74080? ? ?? ? ?refgcc_-m32_-march=pentium4_-O3_-fomit-frame-pointer2016102920161009
74088? ? ?? ? ?refgcc_-m32_-march=i386_-O_-fomit-frame-pointer2016102920161009
74104? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=i386_-O_-fomit-frame-pointer2016102920161009
74392? ? ?? ? ?refgcc_-m32_-march=core2_-msse4_-Os_-fomit-frame-pointer2016102920161009
74424? ? ?? ? ?refgcc_-m32_-march=barcelona_-Os_-fomit-frame-pointer2016102920161009
74432? ? ?? ? ?refgcc_-m32_-march=native_-mtune=native_-Os_-fomit-frame-pointer2016102920161009
74480? ? ?? ? ?refgcc_-m32_-march=prescott_-O2_-fomit-frame-pointer2016102920161009
74848? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=prescott_-Os_-fomit-frame-pointer2016102920161009
74864? ? ?? ? ?refgcc_-m32_-march=corei7_-O_-fomit-frame-pointer2016102920161009
74952? ? ?? ? ?refgcc_-m32_-march=barcelona_-O3_-fomit-frame-pointer2016102920161009
75040? ? ?? ? ?refgcc_-m32_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2016102920161009
75136? ? ?? ? ?refgcc_-m32_-march=core2_-O2_-fomit-frame-pointer2016102920161009
75184? ? ?? ? ?refgcc_-m32_-march=native_-mtune=native_-O2_-fomit-frame-pointer2016102920161009
75200? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=barcelona_-O3_-fomit-frame-pointer2016102920161009
75224? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium3_-Os_-fomit-frame-pointer2016102920161009
75392? ? ?? ? ?refgcc_-m32_-march=k6-2_-Os_-fomit-frame-pointer2016102920161009
75400? ? ?? ? ?refgcc_-m32_-march=k6-3_-Os_-fomit-frame-pointer2016102920161009
75440? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium3_-O3_-fomit-frame-pointer2016102920161009
75448? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=k6_-Os_-fomit-frame-pointer2016102920161009
75464? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=k6-2_-Os_-fomit-frame-pointer2016102920161009
75504? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=i486_-O_-fomit-frame-pointer2016102920161009
75568? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=k6-3_-Os_-fomit-frame-pointer2016102920161009
75600? ? ?? ? ?refgcc_-m32_-march=i486_-O_-fomit-frame-pointer2016102920161009
75600? ? ?? ? ?refgcc_-m32_-march=k6_-Os_-fomit-frame-pointer2016102920161009
75624? ? ?? ? ?refgcc_-m32_-march=pentium-mmx_-Os_-fomit-frame-pointer2016102920161009
75672? ? ?? ? ?refgcc_-m32_-march=pentium_-Os_-fomit-frame-pointer2016102920161009
75720? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium_-Os_-fomit-frame-pointer2016102920161009
75744? ? ?? ? ?refgcc_-m32_-march=pentiumpro_-Os_-fomit-frame-pointer2016102920161009
75760? ? ?? ? ?refgcc_-m32_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2016102920161009
75784? ? ?? ? ?refgcc_-m32_-march=athlon_-Os_-fomit-frame-pointer2016102920161009
75816? ? ?? ? ?refgcc_-m32_-march=i386_-Os_-fomit-frame-pointer2016102920161009
75824? ? ?? ? ?refgcc_-m32_-Os_-fomit-frame-pointer2016102920161009
75832? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium-m_-Os_-fomit-frame-pointer2016102920161009
75840? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=athlon_-Os_-fomit-frame-pointer2016102920161009
75840? ? ?? ? ?refgcc_-m32_-march=core2_-O3_-fomit-frame-pointer2016102920161009
75840? ? ?? ? ?refgcc_-m32_-march=pentium2_-Os_-fomit-frame-pointer2016102920161009
75872? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium-mmx_-Os_-fomit-frame-pointer2016102920161009
75896? ? ?? ? ?refgcc_-funroll-loops_-m32_-Os_-fomit-frame-pointer2016102920161009
75896? ? ?? ? ?refgcc_-m32_-march=pentium-m_-O3_-fomit-frame-pointer2016102920161009
75904? ? ?? ? ?refgcc_-m32_-march=i486_-Os_-fomit-frame-pointer2016102920161009
75912? ? ?? ? ?refgcc_-m32_-march=native_-mtune=native_-O3_-fomit-frame-pointer2016102920161009
75944? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=i386_-Os_-fomit-frame-pointer2016102920161009
75944? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=i486_-Os_-fomit-frame-pointer2016102920161009
76016? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=nocona_-Os_-fomit-frame-pointer2016102920161009
76112? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium2_-Os_-fomit-frame-pointer2016102920161009
76200? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentiumpro_-Os_-fomit-frame-pointer2016102920161009
76328? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=k8_-Os_-fomit-frame-pointer2016102920161009
76560? ? ?? ? ?refgcc_-m32_-march=corei7_-Os_-fomit-frame-pointer2016102920161009
76624? ? ?? ? ?refgcc_-m32_-march=core2_-Os_-fomit-frame-pointer2016102920161009
76696? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=barcelona_-Os_-fomit-frame-pointer2016102920161009
76784? ? ?? ? ?refgcc_-m32_-march=nocona_-O3_-fomit-frame-pointer2016102920161009
76872? ? ?? ? ?refgcc_-m32_-march=pentium-m_-Os_-fomit-frame-pointer2016102920161009
77272? ? ?? ? ?refgcc_-m32_-march=nocona_-Os_-fomit-frame-pointer2016102920161009
77328? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium4_-Os_-fomit-frame-pointer2016102920161009
77392? ? ?? ? ?refgcc_-m32_-march=pentium4_-Os_-fomit-frame-pointer2016102920161009
77416? ? ?? ? ?refgcc_-m32_-march=prescott_-Os_-fomit-frame-pointer2016102920161009
77600? ? ?? ? ?refgcc_-m32_-march=i386_-O3_-fomit-frame-pointer2016102920161009
77632? ? ?? ? ?refgcc_-m32_-march=i386_-O2_-fomit-frame-pointer2016102920161009
77792? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=i386_-O3_-fomit-frame-pointer2016102920161009
77824? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=i386_-O2_-fomit-frame-pointer2016102920161009
78096? ? ?? ? ?refgcc_-m32_-march=i486_-O3_-fomit-frame-pointer2016102920161009
78312? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=i486_-O2_-fomit-frame-pointer2016102920161009
78344? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=i486_-O3_-fomit-frame-pointer2016102920161009
78416? ? ?? ? ?refgcc_-m32_-march=i486_-O2_-fomit-frame-pointer2016102920161009
81544? ? ?? ? ?refgcc_-m32_-march=pentiumpro_-O_-fomit-frame-pointer2016102920161009
81792? ? ?? ? ?refgcc_-m32_-march=pentium2_-O_-fomit-frame-pointer2016102920161009
81952? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentiumpro_-O_-fomit-frame-pointer2016102920161009
82000? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium2_-O_-fomit-frame-pointer2016102920161009
85544? ? ?? ? ?refgcc_-m32_-march=pentium2_-O2_-fomit-frame-pointer2016102920161009
85984? ? ?? ? ?refgcc_-m32_-march=pentiumpro_-O2_-fomit-frame-pointer2016102920161009
86048? ? ?? ? ?refgcc_-m32_-march=pentiumpro_-O3_-fomit-frame-pointer2016102920161009
86208? ? ?? ? ?refgcc_-m32_-march=pentium2_-O3_-fomit-frame-pointer2016102920161009
86392? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentiumpro_-O3_-fomit-frame-pointer2016102920161009
86840? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentiumpro_-O2_-fomit-frame-pointer2016102920161009
86904? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium2_-O3_-fomit-frame-pointer2016102920161009
86920? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium2_-O2_-fomit-frame-pointer2016102920161009
88424? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=prescott_-O3_-fomit-frame-pointer2016102920161009
104168? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=prescott_-O2_-fomit-frame-pointer2016102920161009
124768? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=nocona_-O2_-fomit-frame-pointer2016102920161009
127848? ? ?? ? ?refgcc_-m32_-march=pentium3_-Os_-fomit-frame-pointer2016102920161009
149120? ? ?? ? ?refgcc_-m32_-march=k8_-Os_-fomit-frame-pointer2016102920161009

Test failure

Implementation: crypto_aead/tiaoxinv2/nim
Compiler: gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 18, namely:
CompilerImplementations
gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer nim ref
gcc -m32 -march=core-avx-i -O -fomit-frame-pointer nim ref
gcc -m32 -march=core-avx-i -Os -fomit-frame-pointer nim ref
gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer nim ref
gcc -m32 -march=core-avx2 -O -fomit-frame-pointer nim ref
gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer nim ref
gcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer nim ref
gcc -m32 -march=corei7-avx -O -fomit-frame-pointer nim ref
gcc -m32 -march=corei7-avx -Os -fomit-frame-pointer nim ref

Compiler output

Implementation: crypto_aead/tiaoxinv2/nim
Compiler: gcc -funroll-loops -m32 -O2 -fomit-frame-pointer
tiaoxin-optimized.c: tiaoxin-optimized.c: In function 'tiaoxin_optimized_encrypt':
tiaoxin-optimized.c: tiaoxin-optimized.c:108:10: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
tiaoxin-optimized.c: __m128i Z0 = constant8( 0x42,0x8a,0x2f,0x98,0xd7,0x28,0xae,0x22,0x71,0x37,0x44,0x91,0x23,0xef,0x65,0xcd );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/xmmintrin.h:1249:0,
tiaoxin-optimized.c: from tiaoxin-optimized.c:20:
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h:1286:1: error: inlining failed in call to always_inline '_mm_xor_si128': target specific option mismatch
tiaoxin-optimized.c: _mm_xor_si128 (__m128i __A, __m128i __B)
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:28:19: error: called from here
tiaoxin-optimized.c: #define xor(a,b) _mm_xor_si128(a,b)
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:42:127: note: in expansion of macro 'xor'
tiaoxin-optimized.c: #define RT6( T , M ) tmp = T[0];T[0] = enc(T[5],M);T[5] = T[4];T[4] = T[3];T[3] = T[2];T[2] = T[1];T[1] = enc(tmp,Z0);T[0] = xor(T[0], tmp);
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:50:1: note: in expansion of macro 'RT6'
tiaoxin-optimized.c: RT6( T6, M2 );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:151:2: note: in expansion of macro 'UPDATE'
tiaoxin-optimized.c: UPDATE( T3 , T4 , T6, Z0 , Z1 , Z0 );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:22:0:
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
tiaoxin-optimized.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: ...

Number of similar (compiler,implementation) pairs: 88, namely:
CompilerImplementations
gcc -funroll-loops -m32 -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -O -fomit-frame-pointer nim
gcc -funroll-loops -m32 -Os -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer nim
gcc -m32 -O2 -fomit-frame-pointer nim
gcc -m32 -O3 -fomit-frame-pointer nim
gcc -m32 -O -fomit-frame-pointer nim
gcc -m32 -Os -fomit-frame-pointer nim
gcc -m32 -march=athlon -O2 -fomit-frame-pointer nim
gcc -m32 -march=athlon -O3 -fomit-frame-pointer nim
gcc -m32 -march=athlon -O -fomit-frame-pointer nim
gcc -m32 -march=athlon -Os -fomit-frame-pointer nim
gcc -m32 -march=i386 -O2 -fomit-frame-pointer nim
gcc -m32 -march=i386 -O3 -fomit-frame-pointer nim
gcc -m32 -march=i386 -O -fomit-frame-pointer nim
gcc -m32 -march=i386 -Os -fomit-frame-pointer nim
gcc -m32 -march=i486 -O2 -fomit-frame-pointer nim
gcc -m32 -march=i486 -O3 -fomit-frame-pointer nim
gcc -m32 -march=i486 -O -fomit-frame-pointer nim
gcc -m32 -march=i486 -Os -fomit-frame-pointer nim
gcc -m32 -march=k6-2 -O2 -fomit-frame-pointer nim
gcc -m32 -march=k6-2 -O3 -fomit-frame-pointer nim
gcc -m32 -march=k6-2 -O -fomit-frame-pointer nim
gcc -m32 -march=k6-2 -Os -fomit-frame-pointer nim
gcc -m32 -march=k6-3 -O2 -fomit-frame-pointer nim
gcc -m32 -march=k6-3 -O3 -fomit-frame-pointer nim
gcc -m32 -march=k6-3 -O -fomit-frame-pointer nim
gcc -m32 -march=k6-3 -Os -fomit-frame-pointer nim
gcc -m32 -march=k6 -O2 -fomit-frame-pointer nim
gcc -m32 -march=k6 -O3 -fomit-frame-pointer nim
gcc -m32 -march=k6 -O -fomit-frame-pointer nim
gcc -m32 -march=k6 -Os -fomit-frame-pointer nim
gcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer nim
gcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer nim
gcc -m32 -march=pentium-mmx -O -fomit-frame-pointer nim
gcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer nim
gcc -m32 -march=pentium2 -O2 -fomit-frame-pointer nim
gcc -m32 -march=pentium2 -O3 -fomit-frame-pointer nim
gcc -m32 -march=pentium2 -O -fomit-frame-pointer nim
gcc -m32 -march=pentium2 -Os -fomit-frame-pointer nim
gcc -m32 -march=pentium -O2 -fomit-frame-pointer nim
gcc -m32 -march=pentium -O3 -fomit-frame-pointer nim
gcc -m32 -march=pentium -O -fomit-frame-pointer nim
gcc -m32 -march=pentium -Os -fomit-frame-pointer nim
gcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer nim
gcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer nim
gcc -m32 -march=pentiumpro -O -fomit-frame-pointer nim
gcc -m32 -march=pentiumpro -Os -fomit-frame-pointer nim

Compiler output

Implementation: crypto_aead/tiaoxinv2/nim
Compiler: gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:22:0:
tiaoxin-optimized.c: tiaoxin-optimized.c: In function 'tiaoxin_optimized_encrypt':
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
tiaoxin-optimized.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:30:19: error: called from here
tiaoxin-optimized.c: #define enc(a,b) _mm_aesenc_si128(a,b)
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:42:108: note: in expansion of macro 'enc'
tiaoxin-optimized.c: #define RT6( T , M ) tmp = T[0];T[0] = enc(T[5],M);T[5] = T[4];T[4] = T[3];T[3] = T[2];T[2] = T[1];T[1] = enc(tmp,Z0);T[0] = xor(T[0], tmp);
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:50:1: note: in expansion of macro 'RT6'
tiaoxin-optimized.c: RT6( T6, M2 );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:151:2: note: in expansion of macro 'UPDATE'
tiaoxin-optimized.c: UPDATE( T3 , T4 , T6, Z0 , Z1 , Z0 );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:22:0:
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
tiaoxin-optimized.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:30:19: error: called from here
tiaoxin-optimized.c: #define enc(a,b) _mm_aesenc_si128(a,b)
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:42:41: note: in expansion of macro 'enc'
tiaoxin-optimized.c: ...

Number of similar (compiler,implementation) pairs: 61, namely:
CompilerImplementations
gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer nim
gcc -m32 -march=core2 -O2 -fomit-frame-pointer nim
gcc -m32 -march=core2 -O3 -fomit-frame-pointer nim
gcc -m32 -march=core2 -O -fomit-frame-pointer nim
gcc -m32 -march=core2 -Os -fomit-frame-pointer nim
gcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer nim
gcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer nim
gcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer nim
gcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer nim
gcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer nim
gcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer nim
gcc -m32 -march=corei7 -O2 -fomit-frame-pointer nim
gcc -m32 -march=corei7 -O -fomit-frame-pointer nim
gcc -m32 -march=corei7 -Os -fomit-frame-pointer nim
gcc -m32 -march=k8 -O2 -fomit-frame-pointer nim
gcc -m32 -march=k8 -O3 -fomit-frame-pointer nim
gcc -m32 -march=k8 -O -fomit-frame-pointer nim
gcc -m32 -march=k8 -Os -fomit-frame-pointer nim
gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer nim
gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer nim
gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer nim
gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer nim
gcc -m32 -march=nocona -O2 -fomit-frame-pointer nim
gcc -m32 -march=nocona -O3 -fomit-frame-pointer nim
gcc -m32 -march=nocona -O -fomit-frame-pointer nim
gcc -m32 -march=nocona -Os -fomit-frame-pointer nim
gcc -m32 -march=pentium-m -O2 -fomit-frame-pointer nim
gcc -m32 -march=pentium-m -O3 -fomit-frame-pointer nim
gcc -m32 -march=pentium-m -O -fomit-frame-pointer nim
gcc -m32 -march=pentium-m -Os -fomit-frame-pointer nim
gcc -m32 -march=pentium4 -O2 -fomit-frame-pointer nim
gcc -m32 -march=pentium4 -O3 -fomit-frame-pointer nim
gcc -m32 -march=pentium4 -O -fomit-frame-pointer nim
gcc -m32 -march=pentium4 -Os -fomit-frame-pointer nim
gcc -m32 -march=prescott -O2 -fomit-frame-pointer nim
gcc -m32 -march=prescott -O3 -fomit-frame-pointer nim
gcc -m32 -march=prescott -O -fomit-frame-pointer nim
gcc -m32 -march=prescott -Os -fomit-frame-pointer nim

Compiler output

Implementation: crypto_aead/tiaoxinv2/nim
Compiler: gcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer
tiaoxin-optimized.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/xmmintrin.h:1249:0,
tiaoxin-optimized.c: from tiaoxin-optimized.c:20:
tiaoxin-optimized.c: tiaoxin-optimized.c: In function 'tiaoxin_optimized_encrypt':
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h:1286:1: error: inlining failed in call to always_inline '_mm_xor_si128': target specific option mismatch
tiaoxin-optimized.c: _mm_xor_si128 (__m128i __A, __m128i __B)
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:28:19: error: called from here
tiaoxin-optimized.c: #define xor(a,b) _mm_xor_si128(a,b)
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:42:127: note: in expansion of macro 'xor'
tiaoxin-optimized.c: #define RT6( T , M ) tmp = T[0];T[0] = enc(T[5],M);T[5] = T[4];T[4] = T[3];T[3] = T[2];T[2] = T[1];T[1] = enc(tmp,Z0);T[0] = xor(T[0], tmp);
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:50:1: note: in expansion of macro 'RT6'
tiaoxin-optimized.c: RT6( T6, M2 );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:151:2: note: in expansion of macro 'UPDATE'
tiaoxin-optimized.c: UPDATE( T3 , T4 , T6, Z0 , Z1 , Z0 );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:22:0:
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
tiaoxin-optimized.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:30:19: error: called from here
tiaoxin-optimized.c: #define enc(a,b) _mm_aesenc_si128(a,b)
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: ...

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
gcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer nim
gcc -m32 -march=pentium3 -O2 -fomit-frame-pointer nim
gcc -m32 -march=pentium3 -O3 -fomit-frame-pointer nim
gcc -m32 -march=pentium3 -O -fomit-frame-pointer nim
gcc -m32 -march=pentium3 -Os -fomit-frame-pointer nim

Compiler output

Implementation: crypto_aead/tiaoxinv2/nim
Compiler: gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:22:0:
tiaoxin-optimized.c: tiaoxin-optimized.c: In function 'tiaoxin_optimized_encrypt':
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
tiaoxin-optimized.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:30:19: error: called from here
tiaoxin-optimized.c: #define enc(a,b) _mm_aesenc_si128(a,b)
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:42:108: note: in expansion of macro 'enc'
tiaoxin-optimized.c: #define RT6( T , M ) tmp = T[0];T[0] = enc(T[5],M);T[5] = T[4];T[4] = T[3];T[3] = T[2];T[2] = T[1];T[1] = enc(tmp,Z0);T[0] = xor(T[0], tmp);
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:50:1: note: in expansion of macro 'RT6'
tiaoxin-optimized.c: RT6( T6, M2 );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:151:2: note: in expansion of macro 'UPDATE'
tiaoxin-optimized.c: UPDATE( T3 , T4 , T6, Z0 , Z1 , Z0 );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:22:0:
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
tiaoxin-optimized.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:30:19: error: called from here
tiaoxin-optimized.c: #define enc(a,b) _mm_aesenc_si128(a,b)
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:42:41: note: in expansion of macro 'enc'
tiaoxin-optimized.c: ...
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:22:0:
tiaoxin-optimized.c: tiaoxin-optimized.c: In function 'tiaoxin_optimized_encrypt':
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
tiaoxin-optimized.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:30:19: error: called from here
tiaoxin-optimized.c: #define enc(a,b) _mm_aesenc_si128(a,b)
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:42:108: note: in expansion of macro 'enc'
tiaoxin-optimized.c: #define RT6( T , M ) tmp = T[0];T[0] = enc(T[5],M);T[5] = T[4];T[4] = T[3];T[3] = T[2];T[2] = T[1];T[1] = enc(tmp,Z0);T[0] = xor(T[0], tmp);
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:50:1: note: in expansion of macro 'RT6'
tiaoxin-optimized.c: RT6( T6, M2 );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:151:2: note: in expansion of macro 'UPDATE'
tiaoxin-optimized.c: UPDATE( T3 , T4 , T6, Z0 , Z1 , Z0 );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:22:0:
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
tiaoxin-optimized.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:30:19: error: called from here
tiaoxin-optimized.c: #define enc(a,b) _mm_aesenc_si128(a,b)
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:42:41: note: in expansion of macro 'enc'
tiaoxin-optimized.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m32 -march=barcelona -O2 -fomit-frame-pointer nim
gcc -m32 -march=barcelona -O3 -fomit-frame-pointer nim
gcc -m32 -march=barcelona -O -fomit-frame-pointer nim
gcc -m32 -march=barcelona -Os -fomit-frame-pointer nim