Implementation notes: amd64, hydra2, crypto_aead/aesjambuv1

Computer: hydra2
Architecture: amd64
CPU ID: GenuineIntel-000206c2-bfebfbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: aesjambuv1
TimeImplementationCompilerBenchmark dateSUPERCOP version
53736aesniclang -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014072020140622
53744aesniclang -O3 -fwrapv -march=native -fomit-frame-pointer2014072020140622
54148aesnigcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014060520140525
55272aesnigcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014060520140525
55276aesnigcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014060520140525
61888aesnigcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014060520140525
174496refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014060520140525
174588refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014060520140525
174600refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014060520140525
174664refgcc -march=nocona -O3 -fomit-frame-pointer2014060520140525
174780refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014060520140525
174780refgcc -march=nocona -O2 -fomit-frame-pointer2014060520140525
174824refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014060520140525
174832refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014060520140525
175960refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014060520140525
175968refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014060520140525
176084refgcc -march=barcelona -O3 -fomit-frame-pointer2014060520140525
176124refgcc -O3 -fomit-frame-pointer2014060520140525
176164refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014060520140525
176184refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014060520140525
176184refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014060520140525
176200refgcc -funroll-loops -O3 -fomit-frame-pointer2014060520140525
176212refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014060520140525
176220refgcc -m64 -O3 -fomit-frame-pointer2014060520140525
176224refgcc -march=k8 -O3 -fomit-frame-pointer2014060520140525
176236refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014060520140525
176260refgcc -m64 -O2 -fomit-frame-pointer2014060520140525
176348refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014060520140525
176372refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014060520140525
176380refgcc -funroll-loops -O2 -fomit-frame-pointer2014060520140525
176404refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014060520140525
176404refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014060520140525
176432refgcc -march=k8 -O2 -fomit-frame-pointer2014060520140525
176436refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014060520140525
176440refgcc -march=barcelona -O2 -fomit-frame-pointer2014060520140525
176468refgcc -O2 -fomit-frame-pointer2014060520140525
176512refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014060520140525
176512refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014060520140525
176924refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014060520140525
177000refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014060520140525
177024refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014060520140525
177032refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014060520140525
177040refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014060520140525
177364refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014060520140525
177676refgcc -Os -fomit-frame-pointer2014060520140525
177808refgcc -march=nocona -Os -fomit-frame-pointer2014060520140525
177828refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014060520140525
177872refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014060520140525
177908refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014060520140525
177944refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014060520140525
177952refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014060520140525
177992refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014060520140525
177996refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014060520140525
178000refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014060520140525
178000refgcc -march=k8 -Os -fomit-frame-pointer2014060520140525
178020refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014060520140525
178068refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014060520140525
178080refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014060520140525
178084refgcc -m64 -Os -fomit-frame-pointer2014060520140525
178088refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014060520140525
178100refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014060520140525
178100refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014060520140525
178112refgcc -march=barcelona -Os -fomit-frame-pointer2014060520140525
178156refgcc -funroll-loops -Os -fomit-frame-pointer2014060520140525
178156refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014060520140525
178164refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014060520140525
178192refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014060520140525
178244refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014060520140525
178244refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014060520140525
178316refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014060520140525
181248refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014060520140525
181408refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014060520140525
181480refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014060520140525
181592refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014060520140525
181672refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014060520140525
184172refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014060520140525
184268refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014060520140525
184276refgcc -funroll-loops -O -fomit-frame-pointer2014060520140525
184296refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014060520140525
184316refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014060520140525
184324refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014060520140525
184344refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014060520140525
184412refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014060520140525
184668refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014060520140525
186060refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014060520140525
186080refgcc -O -fomit-frame-pointer2014060520140525
186080refgcc -m64 -march=core2 -O -fomit-frame-pointer2014060520140525
186112refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014060520140525
186140refgcc -m64 -O -fomit-frame-pointer2014060520140525
186184refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014060520140525
186240refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014060520140525
186268refgcc -march=nocona -O -fomit-frame-pointer2014060520140525
186304refgcc -march=barcelona -O -fomit-frame-pointer2014060520140525
186356refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014060520140525
186372refgcc -m64 -march=nocona -O -fomit-frame-pointer2014060520140525
186400refgcc -fno-schedule-insns -O -fomit-frame-pointer2014060520140525
186412refgcc -march=k8 -O -fomit-frame-pointer2014060520140525
186612refgcc -m64 -march=k8 -O -fomit-frame-pointer2014060520140525
200584refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101420141014
200652refclang -O3 -fwrapv -march=native -fomit-frame-pointer2014072020140622
200760refclang -O3 -fomit-frame-pointer2014072020140622
200864refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014072020140622
201048refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101420141014
201116refclang -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014072020140622
201200refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014072020140622
379304refgcc2014060520140525
379364refcc2014060520140525
379396refgcc -funroll-loops2014060520140525

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: 87, 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=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: 3, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer ref
clang -O3 -fwrapv -march=native -fomit-frame-pointer aesni ref

Compiler output

Implementation: crypto_aead/aesjambuv1/ref
Compiler: clang -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
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: '-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=native -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=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
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=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer aesni

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