Implementation notes: amd64, enigma, crypto_aead/aes128gcmv1

Computer: enigma
Architecture: amd64
CPU ID: GenuineIntel-000006fb-bfebfbff
SUPERCOP version: 20140529
Operation: crypto_aead
Primitive: aes128gcmv1
TimeImplementationCompilerBenchmark dateSUPERCOP version
36994932refgcc -funroll-loops -O3 -fomit-frame-pointer2014060120140529
37210275refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014060120140529
37225458refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014060120140529
37412919refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014060120140529
37590210refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014060120140529
37874889refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014060120140529
37878651refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014060120140529
37919898refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014060120140529
38011752refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014060120140529
39452013refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014060120140529
39670857refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014060120140529
39671136refgcc -march=barcelona -O3 -fomit-frame-pointer2014060120140529
39698091refgcc -march=nocona -O3 -fomit-frame-pointer2014060120140529
39700980refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014060120140529
39729231refgcc -O3 -fomit-frame-pointer2014060120140529
39876453refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014060120140529
40018851refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014060120140529
40124862refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014060120140529
40150989refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014060120140529
40152771refgcc -m64 -O3 -fomit-frame-pointer2014060120140529
40167945refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014060120140529
40183578refgcc -march=k8 -O3 -fomit-frame-pointer2014060120140529
40328433refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014060120140529
46906245refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014060120140529
46938960refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014060120140529
47617821refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014060120140529
47682675refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014060120140529
47745801refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014060120140529
47805759refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014060120140529
47815038refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014060120140529
47824488refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014060120140529
47825298refgcc -funroll-loops -O2 -fomit-frame-pointer2014060120140529
47864007refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014060120140529
47872890refgcc -funroll-loops -O -fomit-frame-pointer2014060120140529
47879262refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014060120140529
47899206refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014060120140529
47915262refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014060120140529
47932479refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014060120140529
47935062refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014060120140529
47943657refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014060120140529
48123090refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014060120140529
52395759refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014060120140529
52453503refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014060120140529
52464852refgcc -march=barcelona -O2 -fomit-frame-pointer2014060120140529
52467300refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014060120140529
52524801refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014060120140529
52548111refgcc -O2 -fomit-frame-pointer2014060120140529
52553232refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014060120140529
52553799refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014060120140529
52575282refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014060120140529
52596999refgcc -march=nocona -O2 -fomit-frame-pointer2014060120140529
52600437refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014060120140529
52617915refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014060120140529
52619058refgcc -funroll-loops -Os -fomit-frame-pointer2014060120140529
52620759refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014060120140529
52623900refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014060120140529
52625889refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014060120140529
52633773refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014060120140529
52642422refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014060120140529
52642458refgcc -Os -fomit-frame-pointer2014060120140529
52643772refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014060120140529
52660458refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014060120140529
52666596refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014060120140529
52671375refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014060120140529
52674921refgcc -m64 -Os -fomit-frame-pointer2014060120140529
52675722refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014060120140529
52676451refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014060120140529
52676892refgcc -march=barcelona -Os -fomit-frame-pointer2014060120140529
52677054refgcc -march=k8 -Os -fomit-frame-pointer2014060120140529
52713027refgcc -march=k8 -O2 -fomit-frame-pointer2014060120140529
52714647refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014060120140529
52716609refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014060120140529
52732827refgcc -m64 -O2 -fomit-frame-pointer2014060120140529
52735554refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014060120140529
52738650refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014060120140529
52739451refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014060120140529
52740288refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014060120140529
52744050refgcc -march=nocona -Os -fomit-frame-pointer2014060120140529
52923897refgcc -march=nocona -O -fomit-frame-pointer2014060120140529
52928226refgcc -m64 -march=nocona -O -fomit-frame-pointer2014060120140529
53039709refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014060120140529
53040042refgcc -march=k8 -O -fomit-frame-pointer2014060120140529
53061885refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014060120140529
53202924refgcc -fno-schedule-insns -O -fomit-frame-pointer2014060120140529
53209602refgcc -m64 -O -fomit-frame-pointer2014060120140529
53209656refgcc -O -fomit-frame-pointer2014060120140529
53229906refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014060120140529
53231526refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014060120140529
53235801refgcc -m64 -march=k8 -O -fomit-frame-pointer2014060120140529
53365131refgcc -m64 -march=core2 -O -fomit-frame-pointer2014060120140529
53423217refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014060120140529
53425116refgcc -march=barcelona -O -fomit-frame-pointer2014060120140529
119319219refgcc -funroll-loops2014060120140529
119377251refcc2014060120140529
119401668refgcc2014060120140529

Compiler output

Implementation: crypto_aead/aes128gcmv1/openssl
Compiler: cc
decrypt.c: decrypt.c:1:25: error: openssl/evp.h: No such file or directory
decrypt.c: decrypt.c: In function 'crypto_aead_aes128gcmv1_openssl_decrypt':
decrypt.c: decrypt.c:13: error: 'EVP_CIPHER_CTX' undeclared (first use in this function)
decrypt.c: decrypt.c:13: error: (Each undeclared identifier is reported only once
decrypt.c: decrypt.c:13: error: for each function it appears in.)
decrypt.c: decrypt.c:13: error: expected ';' before 'x'
decrypt.c: decrypt.c:24: error: 'x' undeclared (first use in this function)
decrypt.c: decrypt.c:26: error: 'EVP_CTRL_GCM_SET_IVLEN' undeclared (first use in this function)
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/aes128gcmv1/openssl
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
decrypt.c: decrypt.c:1:25: error: openssl/evp.h: No such file or directory
decrypt.c: decrypt.c: In function 'crypto_aead_aes128gcmv1_openssl_decrypt':
decrypt.c: decrypt.c:13: error: 'EVP_CIPHER_CTX' undeclared (first use in this function)
decrypt.c: decrypt.c:13: error: (Each undeclared identifier is reported only once
decrypt.c: decrypt.c:13: error: for each function it appears in.)
decrypt.c: decrypt.c:13: error: expected ';' before 'x'
decrypt.c: decrypt.c:24: error: 'x' undeclared (first use in this function)
decrypt.c: decrypt.c:26: error: 'EVP_CTRL_GCM_SET_IVLEN' undeclared (first use in this function)
decrypt.c: decrypt.c:27: error: 'EVP_CTRL_GCM_SET_TAG' undeclared (first use in this function)
decrypt.c: decrypt.c:1:25: error: openssl/evp.h: No such file or directory
decrypt.c: decrypt.c: In function 'crypto_aead_aes128gcmv1_openssl_decrypt':
decrypt.c: decrypt.c:13: error: 'EVP_CIPHER_CTX' undeclared (first use in this function)
decrypt.c: decrypt.c:13: error: (Each undeclared identifier is reported only once
decrypt.c: decrypt.c:13: error: for each function it appears in.)
decrypt.c: decrypt.c:13: error: expected ';' before 'x'
decrypt.c: decrypt.c:24: error: 'x' undeclared (first use in this function)
decrypt.c: decrypt.c:26: error: 'EVP_CTRL_GCM_SET_IVLEN' undeclared (first use in this function)
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