Implementation notes: amd64, bigmem, crypto_stream/aes256ctr

Computer: bigmem
Architecture: amd64
CPU ID: GenuineIntel-000206e6-bfebfbff
SUPERCOP version: 20141124
Operation: crypto_stream
Primitive: aes256ctr
TimeImplementationCompilerBenchmark dateSUPERCOP version
25282cryptoppg++ -march=k8 -O3 -fomit-frame-pointer2015021520141124
25288cryptoppg++ -m64 -march=barcelona -O2 -fomit-frame-pointer2015021520141124
25299cryptoppg++ -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2015021520141124
25316cryptoppg++ -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2015021520141124
25318cryptoppg++ -m64 -march=nocona -O3 -fomit-frame-pointer2015021520141124
25319cryptoppg++ -march=barcelona -O2 -fomit-frame-pointer2015021520141124
25330cryptoppg++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2015021520141124
25333cryptoppg++ -m64 -march=core2 -O2 -fomit-frame-pointer2015021520141124
25344cryptoppg++ -m64 -march=k8 -O2 -fomit-frame-pointer2015021520141124
25350cryptoppg++ -m64 -march=barcelona -Os -fomit-frame-pointer2015021520141124
25350cryptoppg++ -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2015021520141124
25353cryptoppg++ -march=k8 -Os -fomit-frame-pointer2015021520141124
25358cryptoppg++ -march=barcelona -Os -fomit-frame-pointer2015021520141124
25361cryptoppg++ -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2015021520141124
25367cryptoppg++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2015021520141124
25372cryptoppg++ -m64 -march=core2 -Os -fomit-frame-pointer2015021520141124
25373cryptoppg++ -fno-schedule-insns -O2 -fomit-frame-pointer2015021520141124
25375cryptoppg++ -m64 -O3 -fomit-frame-pointer2015021520141124
25381cryptoppg++ -fno-schedule-insns -O3 -fomit-frame-pointer2015021520141124
25384cryptoppg++ -m64 -march=nocona -O2 -fomit-frame-pointer2015021520141124
25387cryptoppg++ -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2015021520141124
25389cryptoppg++ -m64 -Os -fomit-frame-pointer2015021520141124
25395cryptoppg++ -march=nocona -O2 -fomit-frame-pointer2015021520141124
25401cryptoppg++ -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2015021520141124
25404cryptoppg++ -m64 -O2 -fomit-frame-pointer2015021520141124
25404cryptoppg++ -march=barcelona -O -fomit-frame-pointer2015021520141124
25404cryptoppg++ -march=k8 -O2 -fomit-frame-pointer2015021520141124
25407cryptoppg++ -march=nocona -O -fomit-frame-pointer2015021520141124
25409cryptoppg++ -m64 -march=barcelona -O -fomit-frame-pointer2015021520141124
25415cryptoppg++ -O2 -fomit-frame-pointer2015021520141124
25415cryptoppg++ -m64 -march=nocona -O -fomit-frame-pointer2015021520141124
25418cryptoppg++ -O3 -fomit-frame-pointer2015021520141124
25418cryptoppg++ -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2015021520141124
25421cryptoppg++ -march=barcelona -O3 -fomit-frame-pointer2015021520141124
25421cryptoppg++ -march=nocona -O3 -fomit-frame-pointer2015021520141124
25429cryptoppg++ -m64 -march=k8 -O3 -fomit-frame-pointer2015021520141124
25432cryptoppg++ -m64 -march=core2 -O -fomit-frame-pointer2015021520141124
25432cryptoppg++ -m64 -march=native -mtune=native -O -fomit-frame-pointer2015021520141124
25438cryptoppg++ -m64 -march=k8 -Os -fomit-frame-pointer2015021520141124
25446cryptoppg++ -m64 -march=barcelona -O3 -fomit-frame-pointer2015021520141124
25446cryptoppg++ -m64 -march=native -mtune=native -Os -fomit-frame-pointer2015021520141124
25457cryptoppg++ -Os -fomit-frame-pointer2015021520141124
25457cryptoppg++ -m64 -march=k8 -O -fomit-frame-pointer2015021520141124
25460cryptoppg++ -m64 -O -fomit-frame-pointer2015021520141124
25461cryptoppg++ -march=k8 -O -fomit-frame-pointer2015021520141124
25466cryptoppg++ -m64 -march=nocona -Os -fomit-frame-pointer2015021520141124
25469cryptoppg++ -fno-schedule-insns -Os -fomit-frame-pointer2015021520141124
25469cryptoppg++ -m64 -march=core2 -msse4 -O -fomit-frame-pointer2015021520141124
25471cryptoppg++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2015021520141124
25472cryptoppg++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2015021520141124
25514cryptoppg++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2015021520141124
25517cryptoppg++ -march=nocona -Os -fomit-frame-pointer2015021520141124
25528cryptoppg++ -O -fomit-frame-pointer2015021520141124
25551cryptoppg++ -m64 -march=core2 -O3 -fomit-frame-pointer2015021520141124
25653cryptoppg++ -fno-schedule-insns -O -fomit-frame-pointer2015021520141124
25693cryptoppg++ -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2015021520141124
27276cryptoppg++2015021520141124

Compiler output

Implementation: crypto_stream/aes256ctr/dolbeau/aesenc-int
Compiler: cc
aesenc-int.c: aesenc-int.c: In function 'aesni_key256_expand':
aesenc-int.c: aesenc-int.c:67: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:68: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:70: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:71: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:73: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:74: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:76: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:77: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:79: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:80: error: can't convert between vector values of different size
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: In function 'aesni_encrypt1':
aesenc-int.c: aesenc-int.c:96: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:98: 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:204: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:204: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:204: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:204: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:204: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:204: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:204: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: ...

Number of similar (compiler,implementation) pairs: 87, 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=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=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=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
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_stream/aes256ctr/openssl
Compiler: cc
stream.c: stream.c: In function 'crypto_stream_aes256ctr_openssl':
stream.c: stream.c:12: warning: incompatible implicit declaration of built-in function 'memset'
stream.c: stream.c: In function 'crypto_stream_aes256ctr_openssl_xor':
stream.c: stream.c:28: warning: passing argument 2 of 'EVP_EncryptInit_ex' makes pointer from integer without a cast
stream.c: /usr/include/openssl/evp.h:578: note: expected 'const struct EVP_CIPHER *' but argument is of type 'int'
try.c: crypto_stream_aes256ctr.a(stream.o): In function `crypto_stream_aes256ctr_openssl_xor':
try.c: stream.c:(.text+0x...): undefined reference to `EVP_aes_256_ctr'
try.c: collect2: ld returned 1 exit status

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_stream/aes256ctr/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:67: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:68: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:70: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:71: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:73: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:74: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:76: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:77: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:79: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:80: error: can't convert between vector values of different size
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: In function 'aesni_encrypt1':
aesenc-int.c: aesenc-int.c:96: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:98: 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:204: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:204: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:204: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:204: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:204: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:204: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:204: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: ...
aesenc-int.c: aesenc-int.c: In function 'aesni_key256_expand':
aesenc-int.c: aesenc-int.c:67: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:68: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:70: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:71: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:73: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:74: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:76: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:77: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:79: error: can't convert between vector values of different size
aesenc-int.c: aesenc-int.c:80: error: can't convert between vector values of different size
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: In function 'aesni_encrypt1':
aesenc-int.c: aesenc-int.c:96: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:98: 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:204: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:204: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:204: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:204: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:204: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:204: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:204: error: incompatible types when assigning to type '__m128i' from type 'int'
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_stream/aes256ctr/openssl
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
stream.c: stream.c: In function 'crypto_stream_aes256ctr_openssl':
stream.c: stream.c:12: warning: incompatible implicit declaration of built-in function 'memset'
stream.c: stream.c: In function 'crypto_stream_aes256ctr_openssl_xor':
stream.c: stream.c:28: warning: passing argument 2 of 'EVP_EncryptInit_ex' makes pointer from integer without a cast
stream.c: /usr/include/openssl/evp.h:578: note: expected 'const struct EVP_CIPHER *' but argument is of type 'int'
try.c: crypto_stream_aes256ctr.a(stream.o): In function `crypto_stream_aes256ctr_openssl_xor':
try.c: stream.c:(.text+0x...): undefined reference to `EVP_aes_256_ctr'
try.c: collect2: ld returned 1 exit status
stream.c: stream.c: In function 'crypto_stream_aes256ctr_openssl':
stream.c: stream.c:12: warning: incompatible implicit declaration of built-in function 'memset'
stream.c: stream.c: In function 'crypto_stream_aes256ctr_openssl_xor':
stream.c: stream.c:28: warning: passing argument 2 of 'EVP_EncryptInit_ex' makes pointer from integer without a cast
stream.c: /usr/include/openssl/evp.h:578: note: expected 'const struct EVP_CIPHER *' but argument is of type 'int'
try.c: crypto_stream_aes256ctr.a(stream.o): In function `crypto_stream_aes256ctr_openssl_xor':
try.c: stream.c:(.text+0x...): undefined reference to `EVP_aes_256_ctr'
try.c: collect2: ld returned 1 exit status

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