Implementation notes: amd64, h5nano, crypto_aead/aegis128

Computer: h5nano
Architecture: amd64
CPU ID: CentaurHauls-000006f8-afc9fbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: aegis128
TimeImplementationCompilerBenchmark dateSUPERCOP version
114140refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014070220140622
114140refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014070220140622
114155refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014070220140622
114160refgcc -funroll-loops -O3 -fomit-frame-pointer2014070220140622
114165refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014070220140622
114170refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014070220140622
114180refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014070220140622
114200refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014070220140622
114200refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014070220140622
114215refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014070220140622
114235refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014070220140622
114580refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014070220140622
114580refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014070220140622
114630refgcc -funroll-loops -O2 -fomit-frame-pointer2014070220140622
119340refclang -O3 -fomit-frame-pointer2014070220140622
119340refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014070220140622
119340refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014070220140622
119345refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101620141014
119345refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101620141014
122225refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014070220140622
122225refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014070220140622
122610refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014070220140622
122615refgcc -march=barcelona -O3 -fomit-frame-pointer2014070220140622
122625refgcc -O2 -fomit-frame-pointer2014070220140622
122635refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014070220140622
122640refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014070220140622
122645refgcc -m64 -O2 -fomit-frame-pointer2014070220140622
122645refgcc -march=barcelona -O2 -fomit-frame-pointer2014070220140622
122650refgcc -march=k8 -O2 -fomit-frame-pointer2014070220140622
122660refgcc -O3 -fomit-frame-pointer2014070220140622
122660refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014070220140622
122670refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014070220140622
122675refgcc -m64 -O3 -fomit-frame-pointer2014070220140622
122690refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014070220140622
122690refgcc -march=k8 -O3 -fomit-frame-pointer2014070220140622
123105refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014070220140622
123110refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014070220140622
123245refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014070220140622
123250refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014070220140622
123255refgcc -funroll-loops -Os -fomit-frame-pointer2014070220140622
123255refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014070220140622
123280refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014070220140622
123440refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014070220140622
124240refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014070220140622
124250refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014070220140622
124250refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014070220140622
124255refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014070220140622
124260refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014070220140622
124260refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014070220140622
124265refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014070220140622
124265refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014070220140622
124270refgcc -funroll-loops -O -fomit-frame-pointer2014070220140622
124270refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014070220140622
124330refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014070220140622
124870refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014070220140622
124875refgcc -m64 -march=nocona -O -fomit-frame-pointer2014070220140622
124875refgcc -march=nocona -O -fomit-frame-pointer2014070220140622
124880refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014070220140622
124895refgcc -fno-schedule-insns -O -fomit-frame-pointer2014070220140622
124900refgcc -m64 -march=core2 -O -fomit-frame-pointer2014070220140622
124900refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014070220140622
124905refgcc -O -fomit-frame-pointer2014070220140622
124905refgcc -m64 -O -fomit-frame-pointer2014070220140622
124945refgcc -m64 -march=k8 -O -fomit-frame-pointer2014070220140622
124945refgcc -march=barcelona -O -fomit-frame-pointer2014070220140622
124945refgcc -march=k8 -O -fomit-frame-pointer2014070220140622
124990refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014070220140622
125135refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014070220140622
125135refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014070220140622
125165refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014070220140622
125165refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014070220140622
125170refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014070220140622
125240refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014070220140622
125240refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014070220140622
125240refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014070220140622
125250refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014070220140622
125440refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014070220140622
125745refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014070220140622
125745refgcc -march=nocona -O3 -fomit-frame-pointer2014070220140622
125790refgcc -march=nocona -O2 -fomit-frame-pointer2014070220140622
125805refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014070220140622
129020refgcc -Os -fomit-frame-pointer2014070220140622
129020refgcc -m64 -Os -fomit-frame-pointer2014070220140622
129020refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014070220140622
129020refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014070220140622
129020refgcc -march=barcelona -Os -fomit-frame-pointer2014070220140622
129050refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014070220140622
129050refgcc -march=k8 -Os -fomit-frame-pointer2014070220140622
131815refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014070220140622
131815refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014070220140622
131815refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014070220140622
131815refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014070220140622
131830refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014070220140622
133105refgcc -march=nocona -Os -fomit-frame-pointer2014070220140622
133140refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014070220140622
133170refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014070220140622
133180refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014070220140622
299870refgcc2014070220140622
309810refcc2014070220140622
309810refgcc -funroll-loops2014070220140622

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-linux-gnu/4.6/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
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: encrypt.c:35:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:36:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:37:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:38:23: error: incompatible types when assigning to type '__m128i' from type 'int'
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: encrypt.c:68:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:69:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:70:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:71:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c: In function 'aegis128_enc_aut_step':
encrypt.c: encrypt.c:104:18: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:105:18: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:106:18: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:107:18: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:108:18: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c: In function 'aegis128_dec_aut_step':
encrypt.c: encrypt.c:130:18: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:131:18: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:132:18: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:133:18: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 91, namely:
CompilerImplementations
cc aesni
gcc aesni
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 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=native -mtune=native -O2 -fomit-frame-pointer aesni
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer aesni
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer aesni
gcc -m64 -march=native -mtune=native -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: clang -O3 -fomit-frame-pointer
encrypt.c: In file included from encrypt.c:5:
encrypt.c: /usr/include/clang/3.0/include/wmmintrin.h:28:3: error: #error "AES instructions not enabled"
encrypt.c: # error "AES instructions not enabled"
encrypt.c: ^
encrypt.c: encrypt.c:34:25: warning: implicit declaration of function '_mm_aesenc_si128' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: state[4] = _mm_aesenc_si128(state[3], state[4]);
encrypt.c: ^
encrypt.c: encrypt.c:34:23: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: state[4] = _mm_aesenc_si128(state[3], state[4]);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:35:23: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: state[3] = _mm_aesenc_si128(state[2], state[3]);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:36:23: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: state[2] = _mm_aesenc_si128(state[1], state[2]);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:37:23: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: state[1] = _mm_aesenc_si128(state[0], state[1]);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:38:23: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: state[0] = _mm_aesenc_si128(tmp, state[0]);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:67:23: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: state[4] = _mm_aesenc_si128(state[3],state[4]);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer aesni

Compiler output

Implementation: crypto_aead/aegis128/ref
Compiler: clang -O3 -fomit-frame-pointer
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/aegis128/ref
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
aes.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
aes.c: clang: warning: argument unused during compilation: '-mavx2'
aes.c: clang: warning: argument unused during compilation: '-mpclmul'
encrypt.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
encrypt.c: clang: warning: argument unused during compilation: '-mavx2'
encrypt.c: clang: warning: argument unused during compilation: '-mpclmul'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/aegis128/aesni
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
encrypt.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
encrypt.c: clang: warning: argument unused during compilation: '-mavx2'
encrypt.c: clang: warning: argument unused during compilation: '-mpclmul'
encrypt.c: In file included from encrypt.c:4:
encrypt.c: In file included from /usr/include/clang/3.0/include/immintrin.h:52:
encrypt.c: In file included from /usr/include/clang/3.0/include/wmmintrin.h:31:
encrypt.c: /usr/include/clang/3.0/include/smmintrin.h:28:2: error: #error "SSE4.1 instruction set not enabled"
encrypt.c: #error "SSE4.1 instruction set not enabled"
encrypt.c: ^
encrypt.c: 1 error generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer aesni

Compiler output

Implementation: crypto_aead/aegis128/ref
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
aes.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
aes.c: clang: warning: argument unused during compilation: '-mavx2'
aes.c: clang: warning: argument unused during compilation: '-mpclmul'
aes.c: clang: warning: argument unused during compilation: '-fpolly'
aes.c: clang: warning: argument unused during compilation: '-fvectorize'
aes.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
aes.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
encrypt.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
encrypt.c: clang: warning: argument unused during compilation: '-mavx2'
encrypt.c: clang: warning: argument unused during compilation: '-mpclmul'
encrypt.c: clang: warning: argument unused during compilation: '-fpolly'
encrypt.c: clang: warning: argument unused during compilation: '-fvectorize'
encrypt.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
encrypt.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/aegis128/aesni
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
encrypt.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
encrypt.c: clang: warning: argument unused during compilation: '-mavx2'
encrypt.c: clang: warning: argument unused during compilation: '-mpclmul'
encrypt.c: clang: warning: argument unused during compilation: '-fpolly'
encrypt.c: clang: warning: argument unused during compilation: '-fvectorize'
encrypt.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
encrypt.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
encrypt.c: In file included from encrypt.c:4:
encrypt.c: In file included from /usr/include/clang/3.0/include/immintrin.h:52:
encrypt.c: In file included from /usr/include/clang/3.0/include/wmmintrin.h:31:
encrypt.c: /usr/include/clang/3.0/include/smmintrin.h:28:2: error: #error "SSE4.1 instruction set not enabled"
encrypt.c: #error "SSE4.1 instruction set not enabled"
encrypt.c: ^
encrypt.c: 1 error generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer aesni

Compiler output

Implementation: crypto_aead/aegis128/ref
Compiler: clang -O3 -fwrapv -mavx2 -fomit-frame-pointer
aes.c: clang: warning: argument unused during compilation: '-mavx2'
encrypt.c: clang: warning: argument unused during compilation: '-mavx2'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/aegis128/aesni
Compiler: clang -O3 -fwrapv -mavx2 -fomit-frame-pointer
encrypt.c: clang: warning: argument unused during compilation: '-mavx2'
encrypt.c: In file included from encrypt.c:5:
encrypt.c: /usr/include/clang/3.0/include/wmmintrin.h:28:3: error: #error "AES instructions not enabled"
encrypt.c: # error "AES instructions not enabled"
encrypt.c: ^
encrypt.c: encrypt.c:34:25: warning: implicit declaration of function '_mm_aesenc_si128' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: state[4] = _mm_aesenc_si128(state[3], state[4]);
encrypt.c: ^
encrypt.c: encrypt.c:34:23: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: state[4] = _mm_aesenc_si128(state[3], state[4]);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:35:23: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: state[3] = _mm_aesenc_si128(state[2], state[3]);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:36:23: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: state[2] = _mm_aesenc_si128(state[1], state[2]);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:37:23: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: state[1] = _mm_aesenc_si128(state[0], state[1]);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:38:23: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: state[0] = _mm_aesenc_si128(tmp, state[0]);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:67:23: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: state[4] = _mm_aesenc_si128(state[3],state[4]);
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer aesni

Compiler output

Implementation: crypto_aead/aegis128/ref
Compiler: clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
aes.c: clang: warning: argument unused during compilation: '-mavx2'
aes.c: clang: warning: argument unused during compilation: '-fpolly'
aes.c: clang: warning: argument unused during compilation: '-fvectorize'
aes.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
aes.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
encrypt.c: clang: warning: argument unused during compilation: '-mavx2'
encrypt.c: clang: warning: argument unused during compilation: '-fpolly'
encrypt.c: clang: warning: argument unused during compilation: '-fvectorize'
encrypt.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
encrypt.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/aegis128/aesni
Compiler: clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
encrypt.c: clang: warning: argument unused during compilation: '-mavx2'
encrypt.c: clang: warning: argument unused during compilation: '-fpolly'
encrypt.c: clang: warning: argument unused during compilation: '-fvectorize'
encrypt.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
encrypt.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
encrypt.c: In file included from encrypt.c:5:
encrypt.c: /usr/include/clang/3.0/include/wmmintrin.h:28:3: error: #error "AES instructions not enabled"
encrypt.c: # error "AES instructions not enabled"
encrypt.c: ^
encrypt.c: encrypt.c:34:25: warning: implicit declaration of function '_mm_aesenc_si128' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: state[4] = _mm_aesenc_si128(state[3], state[4]);
encrypt.c: ^
encrypt.c: encrypt.c:34:23: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: state[4] = _mm_aesenc_si128(state[3], state[4]);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:35:23: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: state[3] = _mm_aesenc_si128(state[2], state[3]);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:36:23: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: state[2] = _mm_aesenc_si128(state[1], state[2]);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:37:23: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: state[1] = _mm_aesenc_si128(state[0], state[1]);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:38:23: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -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 encrypt.c:5:0:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
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: encrypt.c:35:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:36:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:37:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:38:23: error: incompatible types when assigning to type '__m128i' from type 'int'
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: encrypt.c:68:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:69:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:70:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:71:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c: In function 'aegis128_enc_aut_step':
encrypt.c: encrypt.c:104:18: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:105:18: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:106:18: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:107:18: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:108:18: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c: In function 'aegis128_dec_aut_step':
encrypt.c: encrypt.c:130:18: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:131:18: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:132:18: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:133:18: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: ...
encrypt.c: In file included from encrypt.c:5:0:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
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: encrypt.c:35:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:36:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:37:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:38:23: error: incompatible types when assigning to type '__m128i' from type 'int'
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: encrypt.c:68:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:69:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:70:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:71:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c: In function 'aegis128_enc_aut_step':
encrypt.c: encrypt.c:104:18: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:105:18: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:106:18: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:107:18: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:108:18: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c: In function 'aegis128_dec_aut_step':
encrypt.c: encrypt.c:130:18: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:131:18: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:132:18: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:133:18: error: incompatible types when assigning to type '__m128i' from type 'int'
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