Implementation notes: amd64, genji154, crypto_aead/aegis128

Computer: genji154
Architecture: amd64
CPU ID: GenuineIntel-00050671-bfebfbff
SUPERCOP version: 20170228
Operation: crypto_aead
Primitive: aegis128
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
3848? ? ?? ? ?aesnigcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017022620170105
3861? ? ?? ? ?aesnigcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017022620170105
3861? ? ?? ? ?aesnigcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2017022620170105
3861? ? ?? ? ?aesnigcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017022620170105
3861? ? ?? ? ?aesnigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017022620170105
3939? ? ?? ? ?aesniicc_-xMIC-AVX512_-O2_-fomit-frame-pointer2017022620170105
3939? ? ?? ? ?aesniicc_-xMIC-AVX512_-O3_-fomit-frame-pointer2017022620170105
3991? ? ?? ? ?aesniclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2017041020170228
3991? ? ?? ? ?aesniclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017041020170228
4004? ? ?? ? ?aesniclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017041020170228
4264? ? ?? ? ?aesnigcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017022620170105
4277? ? ?? ? ?aesnigcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017022620170105
4277? ? ?? ? ?aesnigcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2017022620170105
4277? ? ?? ? ?aesnigcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017022620170105
4277? ? ?? ? ?aesnigcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017022620170105
4277? ? ?? ? ?aesnigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017022620170105
4290? ? ?? ? ?aesnigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017022620170105
4303? ? ?? ? ?aesnigcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017022620170105
4329? ? ?? ? ?aesnigcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017022620170105
4537? ? ?? ? ?aesnigcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017022620170105
4550? ? ?? ? ?aesnigcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2017022620170105
4550? ? ?? ? ?aesnigcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017022620170105
4550? ? ?? ? ?aesnigcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017022620170105
4563? ? ?? ? ?aesnigcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017022620170105
5057? ? ?? ? ?aesnigcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2017022620170105
5265? ? ?? ? ?aesniclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017041020170228
12181? ? ?? ? ?aesniicc2017022620170105
12194? ? ?? ? ?aesniicc_-no-vec2017022620170105
96057? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017022620170105
96109? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2017022620170105
96109? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2017022620170105
96187? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2017022620170105
96226? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2017022620170105
96278? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2017022620170105
96304? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017022620170105
97149? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2017022620170105
97175? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017022620170105
97175? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2017022620170105
97188? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017022620170105
97201? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2017022620170105
97201? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2017022620170105
97721? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2017022620170105
97747? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017022620170105
98189? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2017022620170105
98657? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2017022620170105
98683? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2017022620170105
98696? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2017022620170105
98722? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2017022620170105
98748? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017022620170105
106704? ? ?? ? ?reficc_-no-vec2017022620170105
106756? ? ?? ? ?reficc2017022620170105
120978? ? ?? ? ?reficc_-xMIC-AVX512_-O2_-fomit-frame-pointer2017022620170105
121004? ? ?? ? ?reficc_-xMIC-AVX512_-O3_-fomit-frame-pointer2017022620170105
145834? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017022620170105
145847? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017022620170105
147017? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017022620170105
147030? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017022620170105
148525? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017022620170105
148564? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017022620170105
152425? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2017022620170105
152464? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2017022620170105
152555? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2017022620170105
152568? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2017022620170105
153296? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017022620170105
153322? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2017022620170105
153335? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017022620170105
153361? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2017022620170105
153387? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2017022620170105
153413? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2017022620170105
153439? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2017022620170105
153517? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2017022620170105
153660? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017022620170105
153660? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017022620170105
153686? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017022620170105
153686? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2017022620170105
153686? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2017022620170105
153699? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017022620170105
153699? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2017022620170105
153725? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2017022620170105
153725? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2017022620170105
153725? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017022620170105
153725? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2017022620170105
153738? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2017022620170105
153738? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2017022620170105
153751? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2017022620170105
153777? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017022620170105
153803? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2017022620170105
153868? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2017022620170105
153881? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2017022620170105
153894? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2017022620170105
154089? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2017022620170105
154245? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2017022620170105
154271? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2017022620170105
154284? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2017022620170105
154284? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2017022620170105
154310? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2017022620170105
154336? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2017022620170105
154362? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2017022620170105
154388? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017022620170105
154388? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2017022620170105
154453? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2017022620170105
154466? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2017022620170105
154479? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017022620170105
154505? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2017022620170105
154557? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2017022620170105
154700? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2017022620170105
154856? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2017022620170105
154869? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2017022620170105
155129? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2017022620170105
155389? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2017022620170105
155571? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2017022620170105
155584? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2017022620170105
155584? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2017022620170105
155636? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2017022620170105
155636? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2017022620170105
155701? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2017022620170105
155727? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017022620170105
155766? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2017022620170105
155961? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017022620170105
155987? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2017022620170105
156013? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017022620170105
156013? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017022620170105
156026? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017022620170105
156052? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017022620170105
156091? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2017022620170105
156091? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2017022620170105
156754? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2017022620170105
156754? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017022620170105
156780? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2017022620170105
156780? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017022620170105
156806? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017022620170105
156832? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2017022620170105
156845? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2017022620170105
156884? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017022620170105
156897? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2017022620170105
156923? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2017022620170105
156949? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2017022620170105
156988? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2017022620170105
157456? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017022620170105
157677? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2017022620170105
157755? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2017041020170228
157755? ? ?? ? ?refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2017041020170228
157794? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017041020170228
157807? ? ?? ? ?refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017041020170228
157846? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017041020170228
157872? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017041020170228
158678? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2017041020170228
158756? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2017041020170228
158769? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017041020170228
158821? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017041020170228
592514? ? ?? ? ?refcc2017022620170105

Compiler output

Implementation: crypto_aead/aegis128/aesni
Compiler: cc
encrypt.c: In file included from encrypt.c:5:0:
encrypt.c: /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
encrypt.c: # error "AES/PCLMUL instructions not enabled"
encrypt.c: ^
encrypt.c: encrypt.c: In function 'aegis128_initialization':
encrypt.c: encrypt.c:34:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: state[4] = _mm_aesenc_si128(state[3], state[4]);
encrypt.c: ^
encrypt.c: encrypt.c:35:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: state[3] = _mm_aesenc_si128(state[2], state[3]);
encrypt.c: ^
encrypt.c: encrypt.c:36:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: state[2] = _mm_aesenc_si128(state[1], state[2]);
encrypt.c: ^
encrypt.c: encrypt.c:37:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: state[1] = _mm_aesenc_si128(state[0], state[1]);
encrypt.c: ^
encrypt.c: encrypt.c:38:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: state[0] = _mm_aesenc_si128(tmp, state[0]);
encrypt.c: ^
encrypt.c: encrypt.c: In function 'aegis128_tag_generation':
encrypt.c: encrypt.c:67:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: state[4] = _mm_aesenc_si128(state[3],state[4]);
encrypt.c: ^
encrypt.c: encrypt.c:68:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: ...

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

Compiler output

Implementation: crypto_aead/aegis128/aesni
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
encrypt.c: encrypt.c:34:25: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'aegis128_initialization' that is compiled without support for 'aes'
encrypt.c: state[4] = _mm_aesenc_si128(state[3], state[4]);
encrypt.c: ^
encrypt.c: encrypt.c:35:25: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'aegis128_initialization' that is compiled without support for 'aes'
encrypt.c: state[3] = _mm_aesenc_si128(state[2], state[3]);
encrypt.c: ^
encrypt.c: encrypt.c:36:25: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'aegis128_initialization' that is compiled without support for 'aes'
encrypt.c: state[2] = _mm_aesenc_si128(state[1], state[2]);
encrypt.c: ^
encrypt.c: encrypt.c:37:25: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'aegis128_initialization' that is compiled without support for 'aes'
encrypt.c: state[1] = _mm_aesenc_si128(state[0], state[1]);
encrypt.c: ^
encrypt.c: encrypt.c:38:25: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'aegis128_initialization' that is compiled without support for 'aes'
encrypt.c: state[0] = _mm_aesenc_si128(tmp, state[0]);
encrypt.c: ^
encrypt.c: 5 errors generated.

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

Compiler output

Implementation: crypto_aead/aegis128/aesni
Compiler: gcc
encrypt.c: In file included from /home_nfs/bdolbeaur/gcc-6.3.0-full-bin/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/immintrin.h:39:0,
encrypt.c: from encrypt.c:4:
encrypt.c: encrypt.c: In function 'aegis128_initialization':
encrypt.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
encrypt.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:38:25: note: called from here
encrypt.c: state[0] = _mm_aesenc_si128(tmp, state[0]);
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from /home_nfs/bdolbeaur/gcc-6.3.0-full-bin/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/immintrin.h:39:0,
encrypt.c: from encrypt.c:4:
encrypt.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
encrypt.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:37:25: note: called from here
encrypt.c: state[1] = _mm_aesenc_si128(state[0], state[1]);
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from /home_nfs/bdolbeaur/gcc-6.3.0-full-bin/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/immintrin.h:39:0,
encrypt.c: from encrypt.c:4:
encrypt.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
encrypt.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:36:25: note: called from here
encrypt.c: state[2] = _mm_aesenc_si128(state[1], state[2]);
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc aesni
gcc -funroll-loops aesni

Compiler output

Implementation: crypto_aead/aegis128/ref
Compiler: gcc
try.c: crypto_aead_aegis128.a(encrypt.o): In function `crypto_aead_aegis128_ref_encrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis128_enc_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis128_enc_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis128_enc_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis128_enc_aut_step'
try.c: crypto_aead_aegis128.a(encrypt.o): In function `crypto_aead_aegis128_ref_decrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis128_enc_aut_step'
try.c: crypto_aead_aegis128.a(encrypt.o):encrypt.c:(.text+0x...): more undefined references to `aegis128_enc_aut_step' follow
try.c: crypto_aead_aegis128.a(encrypt.o): In function `crypto_aead_aegis128_ref_decrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis128_dec_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis128_dec_aut_step'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc ref
gcc -funroll-loops ref

Compiler output

Implementation: crypto_aead/aegis128/aesni
Compiler: gcc -O2 -fomit-frame-pointer
encrypt.c: In file included from /home_nfs/bdolbeaur/gcc-6.3.0-full-bin/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/immintrin.h:39:0,
encrypt.c: from encrypt.c:4:
encrypt.c: encrypt.c: In function 'aegis128_enc_aut_step':
encrypt.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
encrypt.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:108:20: note: called from here
encrypt.c: state[0] = _mm_aesenc_si128(tmp,state[0]);
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from /home_nfs/bdolbeaur/gcc-6.3.0-full-bin/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/immintrin.h:39:0,
encrypt.c: from encrypt.c:4:
encrypt.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
encrypt.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:107:20: note: called from here
encrypt.c: state[1] = _mm_aesenc_si128(state[0],state[1]);
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from /home_nfs/bdolbeaur/gcc-6.3.0-full-bin/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/immintrin.h:39:0,
encrypt.c: from encrypt.c:4:
encrypt.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
encrypt.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:106:20: note: called from here
encrypt.c: state[2] = _mm_aesenc_si128(state[1],state[2]);
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 84, namely:
CompilerImplementations
gcc -O2 -fomit-frame-pointer aesni
gcc -O3 -fomit-frame-pointer aesni
gcc -O -fomit-frame-pointer aesni
gcc -Os -fomit-frame-pointer aesni
gcc -fno-schedule-insns -O2 -fomit-frame-pointer aesni
gcc -fno-schedule-insns -O3 -fomit-frame-pointer aesni
gcc -fno-schedule-insns -O -fomit-frame-pointer aesni
gcc -fno-schedule-insns -Os -fomit-frame-pointer aesni
gcc -funroll-loops -O2 -fomit-frame-pointer aesni
gcc -funroll-loops -O3 -fomit-frame-pointer aesni
gcc -funroll-loops -O -fomit-frame-pointer aesni
gcc -funroll-loops -Os -fomit-frame-pointer aesni
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer aesni
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer aesni
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer aesni
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -O -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -Os -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer aesni
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer aesni
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer aesni
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer aesni
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer aesni
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer aesni
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer aesni
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer aesni
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer aesni
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer aesni
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer aesni
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer aesni
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer aesni
gcc -m64 -O2 -fomit-frame-pointer aesni
gcc -m64 -O3 -fomit-frame-pointer aesni
gcc -m64 -O -fomit-frame-pointer aesni
gcc -m64 -Os -fomit-frame-pointer aesni
gcc -m64 -march=core2 -O2 -fomit-frame-pointer aesni
gcc -m64 -march=core2 -O3 -fomit-frame-pointer aesni
gcc -m64 -march=core2 -O -fomit-frame-pointer aesni
gcc -m64 -march=core2 -Os -fomit-frame-pointer aesni
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer aesni
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer aesni
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer aesni
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer aesni
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer aesni
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer aesni
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer aesni
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer aesni
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer aesni
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer aesni
gcc -m64 -march=corei7 -O -fomit-frame-pointer aesni
gcc -m64 -march=corei7 -Os -fomit-frame-pointer aesni
gcc -m64 -march=k8 -O2 -fomit-frame-pointer aesni
gcc -m64 -march=k8 -O3 -fomit-frame-pointer aesni
gcc -m64 -march=k8 -O -fomit-frame-pointer aesni
gcc -m64 -march=k8 -Os -fomit-frame-pointer aesni
gcc -m64 -march=nocona -O2 -fomit-frame-pointer aesni
gcc -m64 -march=nocona -O3 -fomit-frame-pointer aesni
gcc -m64 -march=nocona -O -fomit-frame-pointer aesni
gcc -m64 -march=nocona -Os -fomit-frame-pointer aesni
gcc -march=barcelona -O2 -fomit-frame-pointer aesni
gcc -march=barcelona -O3 -fomit-frame-pointer aesni
gcc -march=barcelona -O -fomit-frame-pointer aesni
gcc -march=barcelona -Os -fomit-frame-pointer aesni
gcc -march=k8 -O2 -fomit-frame-pointer aesni
gcc -march=k8 -O3 -fomit-frame-pointer aesni
gcc -march=k8 -O -fomit-frame-pointer aesni
gcc -march=k8 -Os -fomit-frame-pointer aesni
gcc -march=nocona -O2 -fomit-frame-pointer aesni
gcc -march=nocona -O3 -fomit-frame-pointer aesni
gcc -march=nocona -O -fomit-frame-pointer aesni
gcc -march=nocona -Os -fomit-frame-pointer aesni

Compiler output

Implementation: crypto_aead/aegis128/aesni
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
encrypt.c: In file included from /home_nfs/bdolbeaur/gcc-6.3.0-full-bin/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/immintrin.h:39:0,
encrypt.c: from encrypt.c:4:
encrypt.c: encrypt.c: In function 'aegis128_enc_aut_step':
encrypt.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
encrypt.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:108:20: note: called from here
encrypt.c: state[0] = _mm_aesenc_si128(tmp,state[0]);
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from /home_nfs/bdolbeaur/gcc-6.3.0-full-bin/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/immintrin.h:39:0,
encrypt.c: from encrypt.c:4:
encrypt.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
encrypt.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:107:20: note: called from here
encrypt.c: state[1] = _mm_aesenc_si128(state[0],state[1]);
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from /home_nfs/bdolbeaur/gcc-6.3.0-full-bin/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/immintrin.h:39:0,
encrypt.c: from encrypt.c:4:
encrypt.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
encrypt.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:106:20: note: called from here
encrypt.c: state[2] = _mm_aesenc_si128(state[1],state[2]);
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: ...
encrypt.c: In file included from /home_nfs/bdolbeaur/gcc-6.3.0-full-bin/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/immintrin.h:39:0,
encrypt.c: from encrypt.c:4:
encrypt.c: encrypt.c: In function 'aegis128_enc_aut_step':
encrypt.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
encrypt.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:108:20: note: called from here
encrypt.c: state[0] = _mm_aesenc_si128(tmp,state[0]);
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from /home_nfs/bdolbeaur/gcc-6.3.0-full-bin/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/immintrin.h:39:0,
encrypt.c: from encrypt.c:4:
encrypt.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
encrypt.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:107:20: note: called from here
encrypt.c: state[1] = _mm_aesenc_si128(state[0],state[1]);
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from /home_nfs/bdolbeaur/gcc-6.3.0-full-bin/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/immintrin.h:39:0,
encrypt.c: from encrypt.c:4:
encrypt.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
encrypt.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:106:20: note: called from here
encrypt.c: state[2] = _mm_aesenc_si128(state[1],state[2]);
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: ...

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