Implementation notes: amd64, h4e350, crypto_aead/aesjambuv1

Computer: h4e350
Architecture: amd64
CPU ID: AuthenticAMD-00500f10-178bfbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: aesjambuv1
TimeImplementationCompilerBenchmark dateSUPERCOP version
228237refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014062020140525
228243refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014062020140525
228270refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014062020140525
228456refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014062020140525
229392refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014062020140525
229401refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014062020140525
229404refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014062020140525
229422refgcc -funroll-loops -O3 -fomit-frame-pointer2014062020140525
229425refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014062020140525
229443refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014062020140525
229461refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014062020140525
229485refgcc -funroll-loops -O2 -fomit-frame-pointer2014062020140525
229509refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014062020140525
229572refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014062020140525
230361refgcc -march=nocona -O3 -fomit-frame-pointer2014062020140525
230373refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014062020140525
231768refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014062020140525
231828refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014062020140525
231936refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014062020140525
232134refgcc -march=k8 -O3 -fomit-frame-pointer2014062020140525
232185refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014062020140525
232194refgcc -m64 -O3 -fomit-frame-pointer2014062020140525
232212refgcc -O2 -fomit-frame-pointer2014062020140525
232230refgcc -march=k8 -O2 -fomit-frame-pointer2014062020140525
232242refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014062020140525
232248refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014062020140525
232251refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014062020140525
232260refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014062020140525
232284refgcc -m64 -O2 -fomit-frame-pointer2014062020140525
232323refgcc -O3 -fomit-frame-pointer2014062020140525
232584refgcc -march=barcelona -O2 -fomit-frame-pointer2014062020140525
232809refgcc -march=barcelona -O3 -fomit-frame-pointer2014062020140525
232827refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014062020140525
232887refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014062020140525
233130refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014062020140525
233184refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014062020140525
233193refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014062020140525
233244refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014062020140525
233631refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014062020140525
233943refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014062020140525
236013refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014062020140525
237906refgcc -march=nocona -O2 -fomit-frame-pointer2014062020140525
238293refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014062020140525
244701refclang -O3 -fomit-frame-pointer2014072920140622
244818refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101620141014
244941refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014062020140525
244944refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014062020140525
244947refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014062020140525
244959refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101620141014
244959refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014072920140622
244983refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014072920140622
245004refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014062020140525
245115refgcc -funroll-loops -Os -fomit-frame-pointer2014062020140525
245331refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014062020140525
245349refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014062020140525
245460refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014062020140525
245502refgcc -march=nocona -Os -fomit-frame-pointer2014062020140525
247611refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014062020140525
247623refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014062020140525
248952refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014062020140525
248955refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014062020140525
248982refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014062020140525
249081refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014062020140525
249084refgcc -march=barcelona -Os -fomit-frame-pointer2014062020140525
249147refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014062020140525
249159refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014062020140525
249198refgcc -march=k8 -Os -fomit-frame-pointer2014062020140525
249201refgcc -Os -fomit-frame-pointer2014062020140525
249231refgcc -m64 -Os -fomit-frame-pointer2014062020140525
249363refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014062020140525
249786refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014062020140525
251868refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014062020140525
252498refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014062020140525
253083refgcc -funroll-loops -O -fomit-frame-pointer2014062020140525
253083refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014062020140525
253119refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014062020140525
253179refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014062020140525
253191refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014062020140525
253194refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014062020140525
253224refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014062020140525
253314refgcc -march=barcelona -O -fomit-frame-pointer2014062020140525
253380refgcc -m64 -march=k8 -O -fomit-frame-pointer2014062020140525
253530refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014062020140525
253542refgcc -march=nocona -O -fomit-frame-pointer2014062020140525
253599refgcc -march=k8 -O -fomit-frame-pointer2014062020140525
253650refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014062020140525
253782refgcc -m64 -march=nocona -O -fomit-frame-pointer2014062020140525
254061refgcc -m64 -O -fomit-frame-pointer2014062020140525
254067refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014062020140525
254070refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014062020140525
254103refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014062020140525
254127refgcc -O -fomit-frame-pointer2014062020140525
254205refgcc -m64 -march=core2 -O -fomit-frame-pointer2014062020140525
254223refgcc -fno-schedule-insns -O -fomit-frame-pointer2014062020140525
492786refgcc2014062020140525
492810refgcc -funroll-loops2014062020140525
492900refcc2014062020140525

Compiler output

Implementation: crypto_aead/aesjambuv1/aesni
Compiler: cc
encrypt.c: encrypt.c: In function 'aes_enc_128':
encrypt.c: encrypt.c:38:9: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:41:9: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:43:9: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:45:9: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:47:9: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:49:9: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:51:9: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:53:9: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:55:9: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:57:9: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c: In function 'crypto_aead_aesjambuv1_aesni_encrypt':
encrypt.c: encrypt.c:277:2: error: incompatible type for argument 2 of 'aes128_keyexpand'
encrypt.c: encrypt.c:23:9: note: expected '__m128i' but argument is of type 'int'
encrypt.c: encrypt.c:278:2: error: incompatible type for argument 2 of 'aes128_keyexpand'
encrypt.c: encrypt.c:23:9: note: expected '__m128i' but argument is of type 'int'
encrypt.c: encrypt.c:279:2: error: incompatible type for argument 2 of 'aes128_keyexpand'
encrypt.c: encrypt.c:23:9: note: expected '__m128i' but argument is of type 'int'
encrypt.c: encrypt.c:280:2: error: incompatible type for argument 2 of 'aes128_keyexpand'
encrypt.c: encrypt.c:23:9: note: expected '__m128i' but argument is of type 'int'
encrypt.c: encrypt.c:281:2: error: incompatible type for argument 2 of 'aes128_keyexpand'
encrypt.c: encrypt.c:23:9: note: expected '__m128i' but argument is of type 'int'
encrypt.c: encrypt.c:282:2: error: incompatible type for argument 2 of 'aes128_keyexpand'
encrypt.c: encrypt.c:23:9: note: expected '__m128i' but argument is of type 'int'
encrypt.c: encrypt.c:283:2: error: incompatible type for argument 2 of 'aes128_keyexpand'
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 88, 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 -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 -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 -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/aesjambuv1/aesni
Compiler: clang -O3 -fomit-frame-pointer
encrypt.c: encrypt.c:38:11: warning: implicit declaration of function '_mm_aesenc_si128' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: *state = _mm_aesenc_si128(*state, key[1]);
encrypt.c: ^
encrypt.c: encrypt.c:38:9: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: *state = _mm_aesenc_si128(*state, key[1]);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:41:9: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: *state = _mm_aesenc_si128(*state, key[2]);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:43:9: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: *state = _mm_aesenc_si128(*state, key[3]);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:45:9: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: *state = _mm_aesenc_si128(*state, key[4]);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:47:9: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: *state = _mm_aesenc_si128(*state, key[5]);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:49:9: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: *state = _mm_aesenc_si128(*state, key[6]);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:51:9: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: *state = _mm_aesenc_si128(*state, key[7]);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:53:9: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: ...

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

Compiler output

Implementation: crypto_aead/aesjambuv1/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/aesjambuv1/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/aesjambuv1/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:3:
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/aesjambuv1/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/aesjambuv1/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:3:
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/aesjambuv1/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/aesjambuv1/aesni
Compiler: clang -O3 -fwrapv -mavx2 -fomit-frame-pointer
encrypt.c: clang: warning: argument unused during compilation: '-mavx2'
encrypt.c: encrypt.c:38:11: warning: implicit declaration of function '_mm_aesenc_si128' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: *state = _mm_aesenc_si128(*state, key[1]);
encrypt.c: ^
encrypt.c: encrypt.c:38:9: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: *state = _mm_aesenc_si128(*state, key[1]);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:41:9: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: *state = _mm_aesenc_si128(*state, key[2]);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:43:9: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: *state = _mm_aesenc_si128(*state, key[3]);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:45:9: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: *state = _mm_aesenc_si128(*state, key[4]);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:47:9: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: *state = _mm_aesenc_si128(*state, key[5]);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:49:9: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: *state = _mm_aesenc_si128(*state, key[6]);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:51:9: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: *state = _mm_aesenc_si128(*state, key[7]);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: ...

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

Compiler output

Implementation: crypto_aead/aesjambuv1/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/aesjambuv1/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: encrypt.c:38:11: warning: implicit declaration of function '_mm_aesenc_si128' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: *state = _mm_aesenc_si128(*state, key[1]);
encrypt.c: ^
encrypt.c: encrypt.c:38:9: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: *state = _mm_aesenc_si128(*state, key[1]);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:41:9: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: *state = _mm_aesenc_si128(*state, key[2]);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:43:9: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: *state = _mm_aesenc_si128(*state, key[3]);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:45:9: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: *state = _mm_aesenc_si128(*state, key[4]);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:47:9: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: *state = _mm_aesenc_si128(*state, key[5]);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:49:9: error: assigning to '__m128i' from incompatible type 'int';
encrypt.c: *state = _mm_aesenc_si128(*state, key[6]);
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/aesjambuv1/aesni
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
encrypt.c: encrypt.c: In function 'aes_enc_128':
encrypt.c: encrypt.c:38:9: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:41:9: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:43:9: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:45:9: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:47:9: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:49:9: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:51:9: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:53:9: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:55:9: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:57:9: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c: In function 'crypto_aead_aesjambuv1_aesni_encrypt':
encrypt.c: encrypt.c:277:2: error: incompatible type for argument 2 of 'aes128_keyexpand'
encrypt.c: encrypt.c:23:9: note: expected '__m128i' but argument is of type 'int'
encrypt.c: encrypt.c:278:2: error: incompatible type for argument 2 of 'aes128_keyexpand'
encrypt.c: encrypt.c:23:9: note: expected '__m128i' but argument is of type 'int'
encrypt.c: encrypt.c:279:2: error: incompatible type for argument 2 of 'aes128_keyexpand'
encrypt.c: encrypt.c:23:9: note: expected '__m128i' but argument is of type 'int'
encrypt.c: encrypt.c:280:2: error: incompatible type for argument 2 of 'aes128_keyexpand'
encrypt.c: encrypt.c:23:9: note: expected '__m128i' but argument is of type 'int'
encrypt.c: encrypt.c:281:2: error: incompatible type for argument 2 of 'aes128_keyexpand'
encrypt.c: encrypt.c:23:9: note: expected '__m128i' but argument is of type 'int'
encrypt.c: encrypt.c:282:2: error: incompatible type for argument 2 of 'aes128_keyexpand'
encrypt.c: encrypt.c:23:9: note: expected '__m128i' but argument is of type 'int'
encrypt.c: encrypt.c:283:2: error: incompatible type for argument 2 of 'aes128_keyexpand'
encrypt.c: ...
encrypt.c: encrypt.c: In function 'aes_enc_128':
encrypt.c: encrypt.c:38:9: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:41:9: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:43:9: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:45:9: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:47:9: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:49:9: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:51:9: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:53:9: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:55:9: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:57:9: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c: In function 'crypto_aead_aesjambuv1_aesni_encrypt':
encrypt.c: encrypt.c:277:2: error: incompatible type for argument 2 of 'aes128_keyexpand'
encrypt.c: encrypt.c:23:9: note: expected '__m128i' but argument is of type 'int'
encrypt.c: encrypt.c:278:2: error: incompatible type for argument 2 of 'aes128_keyexpand'
encrypt.c: encrypt.c:23:9: note: expected '__m128i' but argument is of type 'int'
encrypt.c: encrypt.c:279:2: error: incompatible type for argument 2 of 'aes128_keyexpand'
encrypt.c: encrypt.c:23:9: note: expected '__m128i' but argument is of type 'int'
encrypt.c: encrypt.c:280:2: error: incompatible type for argument 2 of 'aes128_keyexpand'
encrypt.c: encrypt.c:23:9: note: expected '__m128i' but argument is of type 'int'
encrypt.c: encrypt.c:281:2: error: incompatible type for argument 2 of 'aes128_keyexpand'
encrypt.c: encrypt.c:23:9: note: expected '__m128i' but argument is of type 'int'
encrypt.c: encrypt.c:282:2: error: incompatible type for argument 2 of 'aes128_keyexpand'
encrypt.c: encrypt.c:23:9: note: expected '__m128i' but argument is of type 'int'
encrypt.c: encrypt.c:283:2: error: incompatible type for argument 2 of 'aes128_keyexpand'
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