Implementation notes: amd64, gcc16, crypto_stream/aes256ctr

Computer: gcc16
Architecture: amd64
CPU ID: AuthenticAMD-00100f23-178bfbff
SUPERCOP version: 20171020
Operation: crypto_stream
Primitive: aes256ctr
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
25815? ? ?? ? ?cryptoppg++_-fno-schedule-insns_-O3_-fomit-frame-pointer2017072120170718
25816? ? ?? ? ?cryptoppg++_-O3_-fomit-frame-pointer2017072120170718
25834? ? ?? ? ?cryptoppg++_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017072120170718
25838? ? ?? ? ?cryptoppg++_-march=barcelona_-O2_-fomit-frame-pointer2017072120170718
25848? ? ?? ? ?cryptoppg++_-m64_-O2_-fomit-frame-pointer2017072120170718
25848? ? ?? ? ?cryptoppg++_-m64_-march=k8_-O2_-fomit-frame-pointer2017072120170718
25851? ? ?? ? ?cryptoppg++_-O2_-fomit-frame-pointer2017072120170718
25853? ? ?? ? ?cryptoppg++_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2017072120170718
25854? ? ?? ? ?cryptoppg++_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017072120170718
25857? ? ?? ? ?cryptoppg++_-m64_-O3_-fomit-frame-pointer2017072120170718
25858? ? ?? ? ?cryptoppg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017072120170718
25865? ? ?? ? ?cryptoppg++_-march=k8_-O2_-fomit-frame-pointer2017072120170718
25871? ? ?? ? ?cryptoppg++_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2017072120170718
25877? ? ?? ? ?cryptoppg++_-march=k8_-O3_-fomit-frame-pointer2017072120170718
25884? ? ?? ? ?cryptoppg++_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017072120170718
25885? ? ?? ? ?cryptoppg++_-m64_-march=core2_-O3_-fomit-frame-pointer2017072120170718
25904? ? ?? ? ?cryptoppg++_-m64_-march=k8_-O3_-fomit-frame-pointer2017072120170718
25910? ? ?? ? ?cryptoppg++_-m64_-march=core2_-O_-fomit-frame-pointer2017072120170718
25917? ? ?? ? ?cryptoppg++_-m64_-march=core2_-O2_-fomit-frame-pointer2017072120170718
25934? ? ?? ? ?cryptoppg++_-march=k8_-O_-fomit-frame-pointer2017072120170718
25938? ? ?? ? ?cryptoppg++_-march=nocona_-O2_-fomit-frame-pointer2017072120170718
25939? ? ?? ? ?cryptoppg++_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017072120170718
25941? ? ?? ? ?cryptoppg++_-m64_-march=nocona_-O2_-fomit-frame-pointer2017072120170718
25943? ? ?? ? ?cryptoppg++_-m64_-march=k8_-O_-fomit-frame-pointer2017072120170718
25947? ? ?? ? ?cryptoppg++_-m64_-march=nocona_-O3_-fomit-frame-pointer2017072120170718
25948? ? ?? ? ?cryptoppg++_-fno-schedule-insns_-O2_-fomit-frame-pointer2017072120170718
25950? ? ?? ? ?cryptoppg++_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017072120170718
25959? ? ?? ? ?cryptoppg++_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017072120170718
25961? ? ?? ? ?cryptoppg++_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017072120170718
25961? ? ?? ? ?cryptoppg++_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017072120170718
25987? ? ?? ? ?cryptoppg++_-march=nocona_-O3_-fomit-frame-pointer2017072120170718
26015? ? ?? ? ?cryptoppg++_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017072120170718
26026? ? ?? ? ?cryptoppg++_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017072120170718
26037? ? ?? ? ?cryptoppg++_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017072120170718
26044? ? ?? ? ?cryptoppg++_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017072120170718
26047? ? ?? ? ?cryptoppg++_-m64_-Os_-fomit-frame-pointer2017072120170718
26060? ? ?? ? ?cryptoppg++_-O_-fomit-frame-pointer2017072120170718
26065? ? ?? ? ?cryptoppg++_-Os_-fomit-frame-pointer2017072120170718
26066? ? ?? ? ?cryptoppg++_-m64_-O_-fomit-frame-pointer2017072120170718
26069? ? ?? ? ?cryptoppg++_-march=barcelona_-O_-fomit-frame-pointer2017072120170718
26070? ? ?? ? ?cryptoppg++_-fno-schedule-insns_-O_-fomit-frame-pointer2017072120170718
26072? ? ?? ? ?cryptoppg++_-m64_-march=k8_-Os_-fomit-frame-pointer2017072120170718
26078? ? ?? ? ?cryptoppg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017072120170718
26086? ? ?? ? ?cryptoppg++_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017072120170718
26093? ? ?? ? ?cryptoppg++_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017072120170718
26098? ? ?? ? ?cryptoppg++_-m64_-march=barcelona_-O_-fomit-frame-pointer2017072120170718
26100? ? ?? ? ?cryptoppg++_-march=barcelona_-O3_-fomit-frame-pointer2017072120170718
26108? ? ?? ? ?cryptoppg++_-m64_-march=nocona_-Os_-fomit-frame-pointer2017072120170718
26110? ? ?? ? ?cryptoppg++_-march=nocona_-O_-fomit-frame-pointer2017072120170718
26115? ? ?? ? ?cryptoppg++_-march=k8_-Os_-fomit-frame-pointer2017072120170718
26126? ? ?? ? ?cryptoppg++_-m64_-march=nocona_-O_-fomit-frame-pointer2017072120170718
26130? ? ?? ? ?cryptoppg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017072120170718
26133? ? ?? ? ?cryptoppg++_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017072120170718
26135? ? ?? ? ?cryptoppg++_-march=nocona_-Os_-fomit-frame-pointer2017072120170718
26146? ? ?? ? ?cryptoppg++_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017072120170718
26150? ? ?? ? ?cryptoppg++_-fno-schedule-insns_-Os_-fomit-frame-pointer2017072120170718
26154? ? ?? ? ?cryptoppg++_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017072120170718
26172? ? ?? ? ?cryptoppg++_-march=barcelona_-Os_-fomit-frame-pointer2017072120170718
26178? ? ?? ? ?cryptoppg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017072120170718
26193? ? ?? ? ?cryptoppg++_-m64_-march=core2_-Os_-fomit-frame-pointer2017072120170718
27926? ? ?? ? ?cryptoppg++2017072120170718

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:27: warning: passing argument 1 of '_mm_loadu_si128' from incompatible pointer type
aesenc-int.c: /usr/lib/gcc/x86_64-linux-gnu/4.4.5/include/emmintrin.h:683: note: expected 'const long long int __vector__ *' but argument is of type 'const unsigned int *'
aesenc-int.c: aesenc-int.c:28: warning: passing argument 1 of '_mm_loadu_si128' from incompatible pointer type
aesenc-int.c: /usr/lib/gcc/x86_64-linux-gnu/4.4.5/include/emmintrin.h:683: note: expected 'const long long int __vector__ *' but argument is of type 'const unsigned int *'
aesenc-int.c: aesenc-int.c:57: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:58: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:60: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:61: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:63: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:64: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:66: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:67: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:69: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:70: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:72: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:73: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:75: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c: In function 'aesni_encrypt1':
aesenc-int.c: aesenc-int.c:86: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:88: 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:194: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:194: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:194: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: ...

Number of similar (compiler,implementation) pairs: 91, 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=native -mtune=native -O2 -fomit-frame-pointer -fwrapv dolbeau/aesenc-int
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv dolbeau/aesenc-int
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv dolbeau/aesenc-int
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv 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_xor':
stream.c: stream.c:30: 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: 91, 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=native -mtune=native -O2 -fomit-frame-pointer -fwrapv openssl
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv openssl
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv openssl
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv 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:27: warning: passing argument 1 of '_mm_loadu_si128' from incompatible pointer type
aesenc-int.c: /usr/lib/gcc/x86_64-linux-gnu/4.4.5/include/emmintrin.h:683: note: expected 'const long long int __vector__ *' but argument is of type 'const unsigned int *'
aesenc-int.c: aesenc-int.c:28: warning: passing argument 1 of '_mm_loadu_si128' from incompatible pointer type
aesenc-int.c: /usr/lib/gcc/x86_64-linux-gnu/4.4.5/include/emmintrin.h:683: note: expected 'const long long int __vector__ *' but argument is of type 'const unsigned int *'
aesenc-int.c: aesenc-int.c:57: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:58: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:60: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:61: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:63: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:64: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:66: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:67: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:69: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:70: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:72: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:73: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:75: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c: In function 'aesni_encrypt1':
aesenc-int.c: aesenc-int.c:86: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:88: 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:194: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:194: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:194: 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:27: warning: passing argument 1 of '_mm_loadu_si128' from incompatible pointer type
aesenc-int.c: /usr/lib/gcc/x86_64-linux-gnu/4.4.5/include/emmintrin.h:683: note: expected 'const long long int __vector__ *' but argument is of type 'const unsigned int *'
aesenc-int.c: aesenc-int.c:28: warning: passing argument 1 of '_mm_loadu_si128' from incompatible pointer type
aesenc-int.c: /usr/lib/gcc/x86_64-linux-gnu/4.4.5/include/emmintrin.h:683: note: expected 'const long long int __vector__ *' but argument is of type 'const unsigned int *'
aesenc-int.c: aesenc-int.c:57: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:58: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:60: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:61: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:63: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:64: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:66: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:67: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:69: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:70: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:72: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:73: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:75: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c: In function 'aesni_encrypt1':
aesenc-int.c: aesenc-int.c:86: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:88: 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:194: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:194: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:194: 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_xor':
stream.c: stream.c:30: 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_xor':
stream.c: stream.c:30: 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