Implementation notes: amd64, genji154, crypto_aead/tiaoxinv2

Computer: genji154
Architecture: amd64
CPU ID: GenuineIntel-00050671-bfebfbff
SUPERCOP version: 20170228
Operation: crypto_aead
Primitive: tiaoxinv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2652? ? ?? ? ?nimicc_-xMIC-AVX512_-O2_-fomit-frame-pointer2017022620170105
2652? ? ?? ? ?nimicc_-xMIC-AVX512_-O3_-fomit-frame-pointer2017022620170105
2782? ? ?? ? ?nimgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017022620170105
2782? ? ?? ? ?nimgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017022620170105
2808? ? ?? ? ?nimgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2017022620170105
2847? ? ?? ? ?nimgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017022620170105
2847? ? ?? ? ?nimgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017022620170105
2847? ? ?? ? ?nimgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017022620170105
2847? ? ?? ? ?nimgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017022620170105
2860? ? ?? ? ?nimgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2017022620170105
2886? ? ?? ? ?nimgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2017022620170105
2899? ? ?? ? ?nimgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017022620170105
2899? ? ?? ? ?nimgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017022620170105
2912? ? ?? ? ?nimgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017022620170105
2912? ? ?? ? ?nimgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017022620170105
2912? ? ?? ? ?nimgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017022620170105
2925? ? ?? ? ?nimgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017022620170105
2977? ? ?? ? ?nimgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2017022620170105
2977? ? ?? ? ?nimgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017022620170105
2990? ? ?? ? ?nimgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017022620170105
3172? ? ?? ? ?nimclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017041020170228
3185? ? ?? ? ?nimclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017041020170228
3198? ? ?? ? ?nimclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2017041020170228
3211? ? ?? ? ?nimclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017041020170228
3432? ? ?? ? ?nimgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017022620170105
3458? ? ?? ? ?nimgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017022620170105
7436? ? ?? ? ?nimicc2017022620170105
7436? ? ?? ? ?nimicc_-no-vec2017022620170105
71422? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2017022620170105
71448? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2017022620170105
71474? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017022620170105
71487? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2017022620170105
71500? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2017022620170105
71500? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017022620170105
71500? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2017022620170105
72215? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2017022620170105
72384? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2017022620170105
72683? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017022620170105
72683? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2017022620170105
72722? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2017022620170105
72774? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017022620170105
72826? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2017022620170105
75023? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2017022620170105
75075? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2017022620170105
76011? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017022620170105
76999? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2017022620170105
89128? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017022620170105
89154? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2017022620170105
89206? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2017022620170105
93145? ? ?? ? ?reficc2017022620170105
93197? ? ?? ? ?reficc_-no-vec2017022620170105
93600? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2017022620170105
97149? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2017022620170105
97162? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2017022620170105
97175? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2017022620170105
97214? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2017022620170105
98033? ? ?? ? ?reficc_-xMIC-AVX512_-O3_-fomit-frame-pointer2017022620170105
98085? ? ?? ? ?reficc_-xMIC-AVX512_-O2_-fomit-frame-pointer2017022620170105
99281? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2017022620170105
99463? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2017022620170105
99905? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2017022620170105
99944? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2017022620170105
99983? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2017022620170105
100009? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2017022620170105
100048? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017022620170105
100061? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2017022620170105
100074? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2017022620170105
100087? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017022620170105
100113? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2017022620170105
100152? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2017022620170105
100178? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2017022620170105
100321? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2017022620170105
100373? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2017022620170105
100802? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2017022620170105
100880? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2017022620170105
101140? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2017022620170105
101153? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2017022620170105
101166? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2017022620170105
101179? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2017022620170105
101205? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2017022620170105
101283? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2017022620170105
101309? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017022620170105
101309? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2017022620170105
101361? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2017022620170105
101361? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2017022620170105
103012? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2017022620170105
103077? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2017022620170105
103103? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2017022620170105
103103? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017022620170105
103103? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2017022620170105
103142? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2017022620170105
103155? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2017022620170105
103220? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2017022620170105
103246? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2017022620170105
103246? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2017022620170105
103285? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2017022620170105
103376? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2017022620170105
103402? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2017022620170105
103402? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2017022620170105
103415? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2017022620170105
103454? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2017022620170105
103493? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2017022620170105
103532? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017022620170105
103623? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2017022620170105
104663? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2017022620170105
105352? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2017022620170105
105430? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2017022620170105
105521? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2017022620170105
125398? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2017022620170105
125697? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017022620170105
125710? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017022620170105
128050? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2017022620170105
128648? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017022620170105
128778? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017022620170105
128882? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2017022620170105
129480? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017022620170105
129480? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017022620170105
129519? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017022620170105
129519? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017022620170105
129623? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017022620170105
129831? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017022620170105
130715? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017022620170105
131001? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017022620170105
132392? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017022620170105
132470? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2017022620170105
132535? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017022620170105
132561? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017022620170105
132574? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017022620170105
133523? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2017022620170105
133614? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017022620170105
133679? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017022620170105
134953? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017022620170105
134992? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017022620170105
135057? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2017022620170105
141193? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2017022620170105
141414? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2017022620170105
141557? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017022620170105
141570? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017022620170105
142311? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2017022620170105
149864? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2017022620170105
166426? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2017041020170228
169520? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017041020170228
169676? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017041020170228
171145? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017041020170228
173706? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017041020170228
173901? ? ?? ? ?refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017041020170228
174174? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2017041020170228
175487? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017041020170228
175513? ? ?? ? ?refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2017041020170228
175786? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2017041020170228
257166? ? ?? ? ?refcc2017022620170105
262483? ? ?? ? ?refgcc_-funroll-loops2017022620170105
263926? ? ?? ? ?refgcc2017022620170105

Compiler output

Implementation: crypto_aead/tiaoxinv2/nim
Compiler: cc
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:22:0:
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
tiaoxin-optimized.c: # error "AES/PCLMUL instructions not enabled"
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:23:0:
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/tmmintrin.h:31:3: error: #error "SSSE3 instruction set not enabled"
tiaoxin-optimized.c: # error "SSSE3 instruction set not enabled"
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c: In function 'tiaoxin_optimized_encrypt':
tiaoxin-optimized.c: tiaoxin-optimized.c:126:5: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: W0 = _mm_shuffle_epi8( W0 , perm );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:127:5: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: W1 = _mm_shuffle_epi8( W1 , perm );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:40:39: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: #define RT3( T , M ) tmp = T[0];T[0] = enc(T[2],M);T[2] = T[1];T[1] = enc(tmp,Z0);T[0] = xor(T[0], tmp);
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:48:1: note: in expansion of macro 'RT3'
tiaoxin-optimized.c: RT3( T3, M0 );\
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:137:2: note: in expansion of macro 'UPDATE'
tiaoxin-optimized.c: UPDATE( T3 , T4 , T6, Z0 , Z1 , Z0 );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:40:70: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
cc nim

Compiler output

Implementation: crypto_aead/tiaoxinv2/nim
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
tiaoxin-optimized.c: tiaoxin-optimized.c:126:7: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'tiaoxin_optimized_encrypt' that is compiled without support for 'ssse3'
tiaoxin-optimized.c: W0 = _mm_shuffle_epi8( W0 , perm );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:127:7: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'tiaoxin_optimized_encrypt' that is compiled without support for 'ssse3'
tiaoxin-optimized.c: W1 = _mm_shuffle_epi8( W1 , perm );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:137:2: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'tiaoxin_optimized_encrypt' that is compiled without support for 'aes'
tiaoxin-optimized.c: UPDATE( T3 , T4 , T6, Z0 , Z1 , Z0 );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:47:46: note: expanded from macro 'UPDATE'
tiaoxin-optimized.c: #define UPDATE( T3 , T4 , T6 , M0 , M1 , M2 )\
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:40:41: note: expanded from macro '\
tiaoxin-optimized.c: RT3'
tiaoxin-optimized.c: #define RT3( T , M ) tmp = T[0];T[0] = enc(T[2],M);T[2] = T[1];T[1] = enc(tmp,Z0);T[0] = xor(T[0], tmp);
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:30:19: note: expanded from macro 'enc'
tiaoxin-optimized.c: #define enc(a,b) _mm_aesenc_si128(a,b)
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:137:2: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'tiaoxin_optimized_encrypt' that is compiled without support for 'aes'
tiaoxin-optimized.c: tiaoxin-optimized.c:47:46: note: expanded from macro 'UPDATE'
tiaoxin-optimized.c: #define UPDATE( T3 , T4 , T6 , M0 , M1 , M2 )\
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:40:72: note: expanded from macro '\
tiaoxin-optimized.c: RT3'
tiaoxin-optimized.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments nim
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments nim
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments nim
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments nim

Compiler output

Implementation: crypto_aead/tiaoxinv2/ref
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
tiaoxin-tablebased.c: tiaoxin-tablebased.c:257:12: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare]
tiaoxin-tablebased.c: if( clen < 0 )
tiaoxin-tablebased.c: ~~~~ ^ ~
tiaoxin-tablebased.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref

Compiler output

Implementation: crypto_aead/tiaoxinv2/nim
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
tiaoxin-optimized.c: tiaoxin-optimized.c:375:11: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare]
tiaoxin-optimized.c: if( clen < 0 )
tiaoxin-optimized.c: ~~~~ ^ ~
tiaoxin-optimized.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments nim
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments nim
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments nim
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments nim

Compiler output

Implementation: crypto_aead/tiaoxinv2/nim
Compiler: clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments
tiaoxin-optimized.c: tiaoxin-optimized.c:137:2: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'tiaoxin_optimized_encrypt' that is compiled without support for 'aes'
tiaoxin-optimized.c: UPDATE( T3 , T4 , T6, Z0 , Z1 , Z0 );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:47:46: note: expanded from macro 'UPDATE'
tiaoxin-optimized.c: #define UPDATE( T3 , T4 , T6 , M0 , M1 , M2 )\
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:40:41: note: expanded from macro '\
tiaoxin-optimized.c: RT3'
tiaoxin-optimized.c: #define RT3( T , M ) tmp = T[0];T[0] = enc(T[2],M);T[2] = T[1];T[1] = enc(tmp,Z0);T[0] = xor(T[0], tmp);
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:30:19: note: expanded from macro 'enc'
tiaoxin-optimized.c: #define enc(a,b) _mm_aesenc_si128(a,b)
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:137:2: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'tiaoxin_optimized_encrypt' that is compiled without support for 'aes'
tiaoxin-optimized.c: tiaoxin-optimized.c:47:46: note: expanded from macro 'UPDATE'
tiaoxin-optimized.c: #define UPDATE( T3 , T4 , T6 , M0 , M1 , M2 )\
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:40:72: note: expanded from macro '\
tiaoxin-optimized.c: RT3'
tiaoxin-optimized.c: #define RT3( T , M ) tmp = T[0];T[0] = enc(T[2],M);T[2] = T[1];T[1] = enc(tmp,Z0);T[0] = xor(T[0], tmp);
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:30:19: note: expanded from macro 'enc'
tiaoxin-optimized.c: #define enc(a,b) _mm_aesenc_si128(a,b)
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:137:2: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'tiaoxin_optimized_encrypt' that is compiled without support for 'aes'
tiaoxin-optimized.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments nim
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments nim

Compiler output

Implementation: crypto_aead/tiaoxinv2/nim
Compiler: gcc
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: /home_nfs/bdolbeaur/gcc-6.3.0-full-bin/lib/gcc/x86_64-pc-linux-gnu/6.3.0/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: note: 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: /home_nfs/bdolbeaur/gcc-6.3.0-full-bin/lib/gcc/x86_64-pc-linux-gnu/6.3.0/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: note: 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: 86, namely:
CompilerImplementations
gcc nim
gcc -O2 -fomit-frame-pointer nim
gcc -O3 -fomit-frame-pointer nim
gcc -O -fomit-frame-pointer nim
gcc -Os -fomit-frame-pointer nim
gcc -fno-schedule-insns -O2 -fomit-frame-pointer nim
gcc -fno-schedule-insns -O3 -fomit-frame-pointer nim
gcc -fno-schedule-insns -O -fomit-frame-pointer nim
gcc -fno-schedule-insns -Os -fomit-frame-pointer nim
gcc -funroll-loops nim
gcc -funroll-loops -O2 -fomit-frame-pointer nim
gcc -funroll-loops -O3 -fomit-frame-pointer nim
gcc -funroll-loops -O -fomit-frame-pointer nim
gcc -funroll-loops -Os -fomit-frame-pointer nim
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer nim
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer nim
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer nim
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer nim
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m64 -O -fomit-frame-pointer nim
gcc -funroll-loops -m64 -Os -fomit-frame-pointer nim
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer nim
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer nim
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer nim
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer nim
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer nim
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer nim
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer nim
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer nim
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer nim
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer nim
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer nim
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer nim
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer nim
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer nim
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer nim
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer nim
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer nim
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer nim
gcc -m64 -O2 -fomit-frame-pointer nim
gcc -m64 -O3 -fomit-frame-pointer nim
gcc -m64 -O -fomit-frame-pointer nim
gcc -m64 -Os -fomit-frame-pointer nim
gcc -m64 -march=core2 -O2 -fomit-frame-pointer nim
gcc -m64 -march=core2 -O3 -fomit-frame-pointer nim
gcc -m64 -march=core2 -O -fomit-frame-pointer nim
gcc -m64 -march=core2 -Os -fomit-frame-pointer nim
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer nim
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer nim
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer nim
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer nim
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer nim
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer nim
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer nim
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer nim
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer nim
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer nim
gcc -m64 -march=corei7 -O -fomit-frame-pointer nim
gcc -m64 -march=corei7 -Os -fomit-frame-pointer nim
gcc -m64 -march=k8 -O2 -fomit-frame-pointer nim
gcc -m64 -march=k8 -O3 -fomit-frame-pointer nim
gcc -m64 -march=k8 -O -fomit-frame-pointer nim
gcc -m64 -march=k8 -Os -fomit-frame-pointer nim
gcc -m64 -march=nocona -O2 -fomit-frame-pointer nim
gcc -m64 -march=nocona -O3 -fomit-frame-pointer nim
gcc -m64 -march=nocona -O -fomit-frame-pointer nim
gcc -m64 -march=nocona -Os -fomit-frame-pointer nim
gcc -march=barcelona -O2 -fomit-frame-pointer nim
gcc -march=barcelona -O3 -fomit-frame-pointer nim
gcc -march=barcelona -O -fomit-frame-pointer nim
gcc -march=barcelona -Os -fomit-frame-pointer nim
gcc -march=k8 -O2 -fomit-frame-pointer nim
gcc -march=k8 -O3 -fomit-frame-pointer nim
gcc -march=k8 -O -fomit-frame-pointer nim
gcc -march=k8 -Os -fomit-frame-pointer nim
gcc -march=nocona -O2 -fomit-frame-pointer nim
gcc -march=nocona -O3 -fomit-frame-pointer nim
gcc -march=nocona -O -fomit-frame-pointer nim
gcc -march=nocona -Os -fomit-frame-pointer nim

Compiler output

Implementation: crypto_aead/tiaoxinv2/nim
Compiler: gcc -m64 -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: /home_nfs/bdolbeaur/gcc-6.3.0-full-bin/lib/gcc/x86_64-pc-linux-gnu/6.3.0/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: note: 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: /home_nfs/bdolbeaur/gcc-6.3.0-full-bin/lib/gcc/x86_64-pc-linux-gnu/6.3.0/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: note: 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: /home_nfs/bdolbeaur/gcc-6.3.0-full-bin/lib/gcc/x86_64-pc-linux-gnu/6.3.0/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: note: 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: /home_nfs/bdolbeaur/gcc-6.3.0-full-bin/lib/gcc/x86_64-pc-linux-gnu/6.3.0/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: note: 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 -m64 -march=barcelona -O2 -fomit-frame-pointer nim
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer nim
gcc -m64 -march=barcelona -O -fomit-frame-pointer nim
gcc -m64 -march=barcelona -Os -fomit-frame-pointer nim