Implementation notes: amd64, bigmem, crypto_aead/aes256gcmv1

Computer: bigmem
Architecture: amd64
CPU ID: GenuineIntel-000206e6-bfebfbff
SUPERCOP version: 20141124
Operation: crypto_aead
Primitive: aes256gcmv1
TimeImplementationCompilerBenchmark dateSUPERCOP version
94268cryptoppg++ -m64 -march=nocona -O3 -fomit-frame-pointer2015021520141124
94307cryptoppg++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2015021520141124
94336cryptoppg++ -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2015021520141124
94378cryptoppg++ -m64 -march=core2 -O2 -fomit-frame-pointer2015021520141124
94554cryptoppg++ -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2015021520141124
94583cryptoppg++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2015021620141124
94622cryptoppg++ -march=barcelona -O3 -fomit-frame-pointer2015021620141124
94679cryptoppg++ -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2015021520141124
94682cryptoppg++ -fno-schedule-insns -O2 -fomit-frame-pointer2015021620141124
94721cryptoppg++ -m64 -march=nocona -O2 -fomit-frame-pointer2015021520141124
94735cryptoppg++ -march=barcelona -O -fomit-frame-pointer2015021620141124
94738cryptoppg++ -march=nocona -O -fomit-frame-pointer2015021620141124
94809cryptoppg++ -m64 -march=k8 -O2 -fomit-frame-pointer2015021520141124
94812cryptoppg++ -O3 -fomit-frame-pointer2015021520141124
94820cryptoppg++ -m64 -march=core2 -O3 -fomit-frame-pointer2015021520141124
94874cryptoppg++ -m64 -march=nocona -O -fomit-frame-pointer2015021520141124
94920cryptoppg++ -march=nocona -O3 -fomit-frame-pointer2015021620141124
94925cryptoppg++ -m64 -march=k8 -O -fomit-frame-pointer2015021520141124
94942cryptoppg++ -m64 -march=barcelona -O3 -fomit-frame-pointer2015021520141124
94985cryptoppg++ -march=k8 -O -fomit-frame-pointer2015021620141124
94987cryptoppg++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2015021620141124
95109cryptoppg++ -march=k8 -Os -fomit-frame-pointer2015021620141124
95115cryptoppg++ -m64 -march=core2 -Os -fomit-frame-pointer2015021520141124
95118cryptoppg++ -m64 -O -fomit-frame-pointer2015021520141124
95135cryptoppg++ -m64 -march=native -mtune=native -O -fomit-frame-pointer2015021520141124
95138cryptoppg++ -O2 -fomit-frame-pointer2015021620141124
95152cryptoppg++ -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2015021520141124
95177cryptoppg++ -march=k8 -O2 -fomit-frame-pointer2015021620141124
95186cryptoppg++ -Os -fomit-frame-pointer2015021520141124
95229cryptoppg++ -O -fomit-frame-pointer2015021620141124
95231cryptoppg++ -m64 -march=core2 -O -fomit-frame-pointer2015021520141124
95243cryptoppg++ -m64 -O3 -fomit-frame-pointer2015021520141124
95248cryptoppg++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2015021620141124
95265cryptoppg++ -m64 -march=barcelona -O -fomit-frame-pointer2015021520141124
95308cryptoppg++ -m64 -march=barcelona -O2 -fomit-frame-pointer2015021520141124
95311cryptoppg++ -m64 -march=core2 -msse4 -O -fomit-frame-pointer2015021520141124
95336cryptoppg++ -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2015021520141124
95347cryptoppg++ -m64 -O2 -fomit-frame-pointer2015021520141124
95353cryptoppg++ -m64 -march=nocona -Os -fomit-frame-pointer2015021520141124
95356cryptoppg++ -march=k8 -O3 -fomit-frame-pointer2015021620141124
95418cryptoppg++ -fno-schedule-insns -Os -fomit-frame-pointer2015021620141124
95455cryptoppg++ -march=nocona -O2 -fomit-frame-pointer2015021620141124
95480cryptoppg++ -m64 -Os -fomit-frame-pointer2015021520141124
95483cryptoppg++ -fno-schedule-insns -O -fomit-frame-pointer2015021620141124
95497cryptoppg++ -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2015021520141124
95596cryptoppg++ -fno-schedule-insns -O3 -fomit-frame-pointer2015021620141124
95602cryptoppg++ -march=nocona -Os -fomit-frame-pointer2015021620141124
95625cryptoppg++ -march=barcelona -Os -fomit-frame-pointer2015021620141124
95852cryptoppg++ -m64 -march=k8 -O3 -fomit-frame-pointer2015021520141124
95877cryptoppg++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2015021620141124
96050cryptoppg++ -march=barcelona -O2 -fomit-frame-pointer2015021620141124
96160cryptoppg++ -m64 -march=k8 -Os -fomit-frame-pointer2015021520141124
96220cryptoppg++ -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2015021520141124
96271cryptoppg++ -m64 -march=barcelona -Os -fomit-frame-pointer2015021520141124
96325cryptoppg++ -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2015021520141124
97107cryptoppg++ -m64 -march=native -mtune=native -Os -fomit-frame-pointer2015021520141124
102425cryptoppg++2015021620141124
4689374refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2015021620141124
4692722refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2015021620141124
4725629refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2015021620141124
4735846refgcc -funroll-loops -O3 -fomit-frame-pointer2015021620141124
4740393refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2015021620141124
4752463refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2015021620141124
4753721refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2015021620141124
4819562refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2015021620141124
5179061refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2015021620141124
6269637refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2015021620141124
6339952refgcc -m64 -O3 -fomit-frame-pointer2015021620141124
6364618refgcc -O3 -fomit-frame-pointer2015021620141124
6438965refgcc -march=nocona -O3 -fomit-frame-pointer2015021620141124
6452982refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2015021620141124
6454265refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2015021620141124
6502865refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2015021620141124
6516038refgcc -march=barcelona -O3 -fomit-frame-pointer2015021620141124
6529972refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2015021620141124
6540653refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2015021620141124
6560351refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2015021620141124
6602497refgcc -march=k8 -O3 -fomit-frame-pointer2015021620141124
6729863refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2015021620141124
13156306refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2015021620141124
13159468refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2015021620141124
13161006refgcc -funroll-loops -O2 -fomit-frame-pointer2015021620141124
13170039refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2015021620141124
13182931refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2015021620141124
13221166refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2015021620141124
13221855refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2015021620141124
13224646refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2015021620141124
13236611refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2015021620141124
14052832refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2015021620141124
14056523refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2015021620141124
14090022refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2015021620141124
14091507refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2015021620141124
14091753refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2015021620141124
14094034refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2015021620141124
14261167refgcc -funroll-loops -m64 -O -fomit-frame-pointer2015021620141124
14261269refgcc -funroll-loops -O -fomit-frame-pointer2015021620141124
14263366refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2015021620141124
22866771refgcc -m64 -O2 -fomit-frame-pointer2015021620141124
22866788refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2015021620141124
22870001refgcc -O2 -fomit-frame-pointer2015021620141124
22975480refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2015021620141124
22976228refgcc -march=barcelona -O2 -fomit-frame-pointer2015021620141124
23105635refgcc -m64 -march=k8 -Os -fomit-frame-pointer2015021620141124
23105697refgcc -march=k8 -Os -fomit-frame-pointer2015021620141124
23106590refgcc -Os -fomit-frame-pointer2015021620141124
23106814refgcc -march=barcelona -Os -fomit-frame-pointer2015021620141124
23108834refgcc -fno-schedule-insns -Os -fomit-frame-pointer2015021620141124
23109639refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2015021620141124
23117368refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2015021620141124
23117566refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2015021620141124
23118530refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2015021620141124
23119652refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2015021620141124
23120266refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2015021620141124
23120453refgcc -funroll-loops -Os -fomit-frame-pointer2015021620141124
23120884refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2015021620141124
23121785refgcc -m64 -march=core2 -Os -fomit-frame-pointer2015021620141124
23122258refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2015021620141124
23123496refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2015021620141124
23124627refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2015021620141124
23148351refgcc -march=nocona -Os -fomit-frame-pointer2015021620141124
23148362refgcc -m64 -march=nocona -Os -fomit-frame-pointer2015021620141124
23174935refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2015021620141124
23175817refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2015021620141124
23190329refgcc -m64 -Os -fomit-frame-pointer2015021620141124
23318560refgcc -march=k8 -O2 -fomit-frame-pointer2015021620141124
23319466refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2015021620141124
23327094refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2015021620141124
23327208refgcc -m64 -march=nocona -O -fomit-frame-pointer2015021620141124
23328791refgcc -march=nocona -O -fomit-frame-pointer2015021620141124
23337458refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2015021620141124
23395505refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2015021620141124
23402650refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2015021620141124
23413525refgcc -march=nocona -O2 -fomit-frame-pointer2015021620141124
23482700refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2015021620141124
23533236refgcc -march=k8 -O -fomit-frame-pointer2015021620141124
23533758refgcc -m64 -march=k8 -O -fomit-frame-pointer2015021620141124
23567358refgcc -m64 -march=barcelona -O -fomit-frame-pointer2015021620141124
23568656refgcc -m64 -march=core2 -O -fomit-frame-pointer2015021620141124
23568698refgcc -march=barcelona -O -fomit-frame-pointer2015021620141124
23569471refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2015021620141124
23572687refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2015021620141124
23617534refgcc -fno-schedule-insns -O -fomit-frame-pointer2015021620141124
23621727refgcc -O -fomit-frame-pointer2015021620141124
23625906refgcc -m64 -O -fomit-frame-pointer2015021620141124
23646595refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2015021620141124
75267857refcc2015021620141124
75495762refgcc -funroll-loops2015021620141124
75510215refgcc2015021620141124

Compiler output

Implementation: crypto_aead/aes256gcmv1/dolbeau/aesenc-int
Compiler: cc
aesenc-int.c: aesenc-int.c: In function 'aesni_key256_expand':
aesenc-int.c: aesenc-int.c:82: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:83: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:85: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:86: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:88: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:89: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:91: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:92: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:94: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:95: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:97: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:98: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:100: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c: In function 'aesni_encrypt1':
aesenc-int.c: aesenc-int.c:111: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:113: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c: In function 'aesni_encrypt2':
aesenc-int.c: aesenc-int.c:195: error: incompatible types when initializing type '__m128i' using type 'int'
aesenc-int.c: aesenc-int.c:195: error: incompatible types when initializing type '__m128i' using type 'int'
aesenc-int.c: aesenc-int.c:195: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:195: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:195: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:195: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c: In function 'aesni_encrypt4':
aesenc-int.c: ...

Number of similar (compiler,implementation) pairs: 71, namely:
CompilerImplementations
cc dolbeau/aesenc-int
gcc dolbeau/aesenc-int
gcc -O2 -fomit-frame-pointer dolbeau/aesenc-int
gcc -O3 -fomit-frame-pointer dolbeau/aesenc-int
gcc -O -fomit-frame-pointer dolbeau/aesenc-int
gcc -Os -fomit-frame-pointer dolbeau/aesenc-int
gcc -fno-schedule-insns -O2 -fomit-frame-pointer dolbeau/aesenc-int
gcc -fno-schedule-insns -O3 -fomit-frame-pointer dolbeau/aesenc-int
gcc -fno-schedule-insns -O -fomit-frame-pointer dolbeau/aesenc-int
gcc -fno-schedule-insns -Os -fomit-frame-pointer dolbeau/aesenc-int
gcc -funroll-loops dolbeau/aesenc-int
gcc -funroll-loops -O2 -fomit-frame-pointer dolbeau/aesenc-int
gcc -funroll-loops -O3 -fomit-frame-pointer dolbeau/aesenc-int
gcc -funroll-loops -O -fomit-frame-pointer dolbeau/aesenc-int
gcc -funroll-loops -Os -fomit-frame-pointer dolbeau/aesenc-int
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer dolbeau/aesenc-int
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer dolbeau/aesenc-int
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer dolbeau/aesenc-int
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer dolbeau/aesenc-int
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer dolbeau/aesenc-int
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer dolbeau/aesenc-int
gcc -funroll-loops -m64 -O -fomit-frame-pointer dolbeau/aesenc-int
gcc -funroll-loops -m64 -Os -fomit-frame-pointer dolbeau/aesenc-int
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer dolbeau/aesenc-int
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer dolbeau/aesenc-int
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer dolbeau/aesenc-int
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer dolbeau/aesenc-int
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer dolbeau/aesenc-int
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer dolbeau/aesenc-int
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer dolbeau/aesenc-int
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer dolbeau/aesenc-int
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer dolbeau/aesenc-int
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer dolbeau/aesenc-int
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer dolbeau/aesenc-int
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer dolbeau/aesenc-int
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer dolbeau/aesenc-int
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer dolbeau/aesenc-int
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer dolbeau/aesenc-int
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer dolbeau/aesenc-int
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer dolbeau/aesenc-int
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer dolbeau/aesenc-int
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer dolbeau/aesenc-int
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer dolbeau/aesenc-int
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer dolbeau/aesenc-int
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer dolbeau/aesenc-int
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer dolbeau/aesenc-int
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -O2 -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -O3 -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -O -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -Os -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=k8 -O2 -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=k8 -O3 -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=k8 -O -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=k8 -Os -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=nocona -O2 -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=nocona -O3 -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=nocona -O -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=nocona -Os -fomit-frame-pointer dolbeau/aesenc-int
gcc -march=barcelona -O2 -fomit-frame-pointer dolbeau/aesenc-int
gcc -march=barcelona -O3 -fomit-frame-pointer dolbeau/aesenc-int
gcc -march=barcelona -O -fomit-frame-pointer dolbeau/aesenc-int
gcc -march=barcelona -Os -fomit-frame-pointer dolbeau/aesenc-int
gcc -march=k8 -O2 -fomit-frame-pointer dolbeau/aesenc-int
gcc -march=k8 -O3 -fomit-frame-pointer dolbeau/aesenc-int
gcc -march=k8 -O -fomit-frame-pointer dolbeau/aesenc-int
gcc -march=k8 -Os -fomit-frame-pointer dolbeau/aesenc-int
gcc -march=nocona -O2 -fomit-frame-pointer dolbeau/aesenc-int
gcc -march=nocona -O3 -fomit-frame-pointer dolbeau/aesenc-int
gcc -march=nocona -O -fomit-frame-pointer dolbeau/aesenc-int
gcc -march=nocona -Os -fomit-frame-pointer dolbeau/aesenc-int

Compiler output

Implementation: crypto_aead/aes256gcmv1/openssl
Compiler: cc
decrypt.c: decrypt.c: In function 'crypto_aead_aes256gcmv1_openssl_decrypt':
decrypt.c: decrypt.c:25: warning: passing argument 2 of 'EVP_DecryptInit_ex' makes pointer from integer without a cast
decrypt.c: /usr/include/openssl/evp.h:587: note: expected 'const struct EVP_CIPHER *' but argument is of type 'int'
decrypt.c: decrypt.c:26: error: 'EVP_CTRL_GCM_SET_IVLEN' undeclared (first use in this function)
decrypt.c: decrypt.c:26: error: (Each undeclared identifier is reported only once
decrypt.c: decrypt.c:26: error: for each function it appears in.)
decrypt.c: decrypt.c:27: error: 'EVP_CTRL_GCM_SET_TAG' undeclared (first use in this function)

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

Compiler output

Implementation: crypto_aead/aes256gcmv1/dolbeau/aesenc-int
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
aesenc-int.c: aesenc-int.c: In function 'aesni_key256_expand':
aesenc-int.c: aesenc-int.c:82: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:83: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:85: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:86: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:88: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:89: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:91: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:92: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:94: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:95: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:97: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:98: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:100: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c: In function 'aesni_encrypt1':
aesenc-int.c: aesenc-int.c:111: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:113: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c: In function 'aesni_encrypt2':
aesenc-int.c: aesenc-int.c:195: error: incompatible types when initializing type '__m128i' using type 'int'
aesenc-int.c: aesenc-int.c:195: error: incompatible types when initializing type '__m128i' using type 'int'
aesenc-int.c: aesenc-int.c:195: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:195: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:195: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:195: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c: In function 'aesni_encrypt4':
aesenc-int.c: ...
aesenc-int.c: aesenc-int.c: In function 'aesni_key256_expand':
aesenc-int.c: aesenc-int.c:82: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:83: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:85: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:86: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:88: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:89: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:91: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:92: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:94: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:95: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:97: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:98: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:100: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c: In function 'aesni_encrypt1':
aesenc-int.c: aesenc-int.c:111: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:113: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c: In function 'aesni_encrypt2':
aesenc-int.c: aesenc-int.c:195: error: incompatible types when initializing type '__m128i' using type 'int'
aesenc-int.c: aesenc-int.c:195: error: incompatible types when initializing type '__m128i' using type 'int'
aesenc-int.c: aesenc-int.c:195: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:195: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:195: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:195: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c: In function 'aesni_encrypt4':
aesenc-int.c: ...

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

Compiler output

Implementation: crypto_aead/aes256gcmv1/openssl
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
decrypt.c: decrypt.c: In function 'crypto_aead_aes256gcmv1_openssl_decrypt':
decrypt.c: decrypt.c:25: warning: passing argument 2 of 'EVP_DecryptInit_ex' makes pointer from integer without a cast
decrypt.c: /usr/include/openssl/evp.h:587: note: expected 'const struct EVP_CIPHER *' but argument is of type 'int'
decrypt.c: decrypt.c:26: error: 'EVP_CTRL_GCM_SET_IVLEN' undeclared (first use in this function)
decrypt.c: decrypt.c:26: error: (Each undeclared identifier is reported only once
decrypt.c: decrypt.c:26: error: for each function it appears in.)
decrypt.c: decrypt.c:27: error: 'EVP_CTRL_GCM_SET_TAG' undeclared (first use in this function)
decrypt.c: decrypt.c: In function 'crypto_aead_aes256gcmv1_openssl_decrypt':
decrypt.c: decrypt.c:25: warning: passing argument 2 of 'EVP_DecryptInit_ex' makes pointer from integer without a cast
decrypt.c: /usr/include/openssl/evp.h:587: note: expected 'const struct EVP_CIPHER *' but argument is of type 'int'
decrypt.c: decrypt.c:26: error: 'EVP_CTRL_GCM_SET_IVLEN' undeclared (first use in this function)
decrypt.c: decrypt.c:26: error: (Each undeclared identifier is reported only once
decrypt.c: decrypt.c:26: error: for each function it appears in.)
decrypt.c: decrypt.c:27: error: 'EVP_CTRL_GCM_SET_TAG' undeclared (first use in this function)

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

Compiler output

Implementation: crypto_aead/aes256gcmv1/dolbeau/aesenc-int
Compiler: gcc -m64 -march=core2 -O2 -fomit-frame-pointer
aesenc-int.c: aesenc-int.c: In function 'aesni_key256_expand':
aesenc-int.c: aesenc-int.c:82: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:83: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:85: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:86: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:88: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:89: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:91: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:92: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:94: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:95: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:97: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:98: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:100: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c: In function 'aesni_encrypt1':
aesenc-int.c: aesenc-int.c:111: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:113: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c: In function 'aesni_encrypt2':
aesenc-int.c: aesenc-int.c:195: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:195: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:195: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:195: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c: In function 'aesni_encrypt4':
aesenc-int.c: aesenc-int.c:196: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:196: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: ...

Number of similar (compiler,implementation) pairs: 16, namely:
CompilerImplementations
gcc -m64 -march=core2 -O2 -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=core2 -O3 -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=core2 -O -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=core2 -Os -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer dolbeau/aesenc-int