Implementation notes: amd64, gcc16, crypto_aead/aes128gcmv1

Computer: gcc16
Architecture: amd64
CPU ID: AuthenticAMD-00100f23-178bfbff
SUPERCOP version: 20171020
Operation: crypto_aead
Primitive: aes128gcmv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
6229094? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2017072220170718
6235627? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017072220170718
6236834? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2017072220170718
6254257? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2017072220170718
6259795? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2017072220170718
6371054? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2017072220170718
6394068? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017072220170718
6493938? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2017072220170718
6502472? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2017072220170718
8110876? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2017072220170718
8111380? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2017072220170718
8112624? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2017072220170718
8300163? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2017072220170718
8301323? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2017072220170718
8308664? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2017072220170718
8313469? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017072220170718
8394492? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2017072220170718
8414890? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017072220170718
8423247? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2017072220170718
8430083? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2017072220170718
8524080? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2017072220170718
8532914? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2017072220170718
18135982? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017072220170718
18153135? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2017072220170718
18153274? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2017072220170718
18182247? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2017072220170718
18184254? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2017072220170718
18404485? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2017072220170718
18424912? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017072220170718
18526282? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2017072220170718
18532617? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2017072220170718
18934245? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2017072220170718
18934687? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2017072220170718
19023881? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017072220170718
19030308? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2017072220170718
19063975? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2017072220170718
19119126? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2017072220170718
19120534? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2017072220170718
19137932? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2017072220170718
19138433? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2017072220170718
21562533? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017072220170718
21564341? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017072220170718
21564495? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017072220170718
21564796? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2017072220170718
21626404? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2017072220170718
21627682? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2017072220170718
21657013? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2017072220170718
21657031? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017072220170718
21657108? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017072220170718
21657324? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2017072220170718
21660120? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2017072220170718
21671879? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2017072220170718
21671989? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2017072220170718
21674473? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2017072220170718
21784055? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2017072220170718
21784941? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2017072220170718
21807161? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2017072220170718
21809228? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017072220170718
21809909? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017072220170718
21810256? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2017072220170718
21814279? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2017072220170718
22015910? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017072220170718
22016845? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2017072220170718
22022188? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2017072220170718
22034161? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2017072220170718
22034264? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2017072220170718
22038073? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2017072220170718
22039408? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2017072220170718
22040373? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2017072220170718
22041110? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2017072220170718
22041380? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2017072220170718
22041494? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017072220170718
22043643? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2017072220170718
22198301? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2017072220170718
22201415? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2017072220170718
22303740? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2017072220170718
22376096? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2017072220170718
22401272? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017072220170718
22401983? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2017072220170718
22404579? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017072220170718
22516691? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017072220170718
22544056? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2017072220170718
22544355? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2017072220170718
22544889? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2017072220170718
23051603? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017072220170718
23051874? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017072220170718
23054463? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2017072220170718
24511667? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017072220170718
24987004? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2017072220170718
24988472? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017072220170718
24988552? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017072220170718
24988686? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017072220170718
117313172? ? ?? ? ?refgcc_-funroll-loops2017072220170718
117345640? ? ?? ? ?refgcc2017072220170718
117369920? ? ?? ? ?refcc2017072220170718

Compiler output

Implementation: crypto_aead/aes128gcmv1/dolbeau/aesenc-int
Compiler: cc
aesenc-int.c: aesenc-int.c: In function 'aesni_key128_expand':
aesenc-int.c: aesenc-int.c:42: 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: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:62: 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:65: 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:68: 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: In function 'aesni_encrypt1':
aesenc-int.c: aesenc-int.c:80: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:82: 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:164: error: incompatible types when initializing type '__m128i' using type 'int'
aesenc-int.c: aesenc-int.c:164: error: incompatible types when initializing type '__m128i' using type 'int'
aesenc-int.c: aesenc-int.c:164: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:164: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:164: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:164: 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:165: error: incompatible types when initializing type '__m128i' using type 'int'
aesenc-int.c: ...

Number of similar (compiler,implementation) pairs: 79, 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=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_aead/aes128gcmv1/openssl
Compiler: cc
decrypt.c: decrypt.c: In function 'crypto_aead_aes128gcmv1_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: 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_aead/aes128gcmv1/dolbeau/aesenc-int
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
aesenc-int.c: aesenc-int.c: In function 'aesni_key128_expand':
aesenc-int.c: aesenc-int.c:42: 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: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:62: 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:65: 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:68: 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: In function 'aesni_encrypt1':
aesenc-int.c: aesenc-int.c:80: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:82: 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:164: error: incompatible types when initializing type '__m128i' using type 'int'
aesenc-int.c: aesenc-int.c:164: error: incompatible types when initializing type '__m128i' using type 'int'
aesenc-int.c: aesenc-int.c:164: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:164: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:164: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:164: 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:165: error: incompatible types when initializing type '__m128i' using type 'int'
aesenc-int.c: ...
aesenc-int.c: aesenc-int.c: In function 'aesni_key128_expand':
aesenc-int.c: aesenc-int.c:42: 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: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:62: 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:65: 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:68: 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: In function 'aesni_encrypt1':
aesenc-int.c: aesenc-int.c:80: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:82: 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:164: error: incompatible types when initializing type '__m128i' using type 'int'
aesenc-int.c: aesenc-int.c:164: error: incompatible types when initializing type '__m128i' using type 'int'
aesenc-int.c: aesenc-int.c:164: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:164: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:164: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:164: 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:165: error: incompatible types when initializing type '__m128i' using 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_aead/aes128gcmv1/openssl
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
decrypt.c: decrypt.c: In function 'crypto_aead_aes128gcmv1_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_aes128gcmv1_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/aes128gcmv1/dolbeau/aesenc-int
Compiler: gcc -m64 -march=core2 -O2 -fomit-frame-pointer
aesenc-int.c: aesenc-int.c: In function 'aesni_key128_expand':
aesenc-int.c: aesenc-int.c:42: 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: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:62: 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:65: 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:68: 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: In function 'aesni_encrypt1':
aesenc-int.c: aesenc-int.c:80: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:82: 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:164: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:164: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:164: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:164: 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:165: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:165: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: aesenc-int.c:165: error: incompatible types when assigning to type '__m128i' from type 'int'
aesenc-int.c: ...

Number of similar (compiler,implementation) pairs: 12, 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