Implementation notes: amd64, par, crypto_aead/aes256gcmv1

Computer: par
Architecture: amd64
CPU ID: GenuineIntel-000406c3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: aes256gcmv1
TimeImplementationCompilerBenchmark dateSUPERCOP version
38520opensslgcc -funroll-loops -march=native -mcpu=native -O22016121420161026
38520opensslgcc -march=native -mcpu=native -Os2016121420161026
38540opensslgcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
38580opensslgcc -funroll-loops -march=native -mcpu=native -O32016121420161026
38620opensslgcc -march=native -mcpu=native -O22016121420161026
38640opensslgcc -march=native -mcpu=native -O32016121420161026
43980dolbeau/aesenc-intgcc -march=native -mcpu=native -O32016121420161026
44300dolbeau/aesenc-intgcc -march=native -mcpu=native -O22016121420161026
44860dolbeau/aesenc-intgcc -march=native -mcpu=native -Os2016121420161026
46940dolbeau/aesenc-intgcc -funroll-loops -march=native -mcpu=native -O32016121420161026
48720dolbeau/aesenc-intgcc -funroll-loops -march=native -mcpu=native -O22016121420161026
52180dolbeau/aesenc-intgcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
3068440refgcc -funroll-loops -march=native -mcpu=native -O32016121420161026
3430460refgcc -march=native -mcpu=native -O32016121420161026
15048960refgcc -funroll-loops -march=native -mcpu=native -O22016121420161026
21827360refgcc -march=native -mcpu=native -O22016121420161026
28113180refgcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
28115000refgcc -march=native -mcpu=native -Os2016121420161026

Compiler output

Implementation: crypto_aead/aes256gcmv1/cryptopp
Compiler: g++ -funroll-loops -march=native -mcpu=native -O2
stream.cpp: g++: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
stream.cpp: stream.cpp:2:26: fatal error: cryptopp/aes.h: No such file or directory
stream.cpp: #include gt;
stream.cpp: ^
stream.cpp: compilation terminated.

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
g++ -funroll-loops -march=native -mcpu=native -O2 cryptopp
g++ -funroll-loops -march=native -mcpu=native -O3 cryptopp
g++ -funroll-loops -march=native -mcpu=native -Os cryptopp
g++ -march=native -mcpu=native -O2 cryptopp
g++ -march=native -mcpu=native -O3 cryptopp
g++ -march=native -mcpu=native -Os cryptopp

Compiler output

Implementation: crypto_aead/aes256gcmv1/dolbeau/aesenc-int
Compiler: gcc -funroll-loops -march=native -mcpu=native -O2
aesenc-int.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
aesenc-int.c: aesenc-int.c: In function 'aesni_key256_expand':
aesenc-int.c: aesenc-int.c:42:34: warning: passing argument 1 of '_mm_loadu_si128' from incompatible pointer type [-Wincompatible-pointer-types]
aesenc-int.c: __m128i key0 = _mm_loadu_si128((const unsigned int *)(key+0));
aesenc-int.c: ^
aesenc-int.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/xmmintrin.h:1249:0,
aesenc-int.c: from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:29,
aesenc-int.c: from aesenc-int.c:11:
aesenc-int.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/emmintrin.h:696:1: note: expected 'const __vector(2) long long int *' but argument is of type 'const unsigned int *'
aesenc-int.c: _mm_loadu_si128 (__m128i const *__P)
aesenc-int.c: ^~~~~~~~~~~~~~~
aesenc-int.c: aesenc-int.c:43:34: warning: passing argument 1 of '_mm_loadu_si128' from incompatible pointer type [-Wincompatible-pointer-types]
aesenc-int.c: __m128i key1 = _mm_loadu_si128((const unsigned int *)(key+16));
aesenc-int.c: ^
aesenc-int.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/xmmintrin.h:1249:0,
aesenc-int.c: from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:29,
aesenc-int.c: from aesenc-int.c:11:
aesenc-int.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/emmintrin.h:696:1: note: expected 'const __vector(2) long long int *' but argument is of type 'const unsigned int *'
aesenc-int.c: _mm_loadu_si128 (__m128i const *__P)
aesenc-int.c: ^~~~~~~~~~~~~~~
try.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
try.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
measure.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -march=native -mcpu=native -O2 dolbeau/aesenc-int
gcc -funroll-loops -march=native -mcpu=native -O3 dolbeau/aesenc-int
gcc -funroll-loops -march=native -mcpu=native -Os dolbeau/aesenc-int
gcc -march=native -mcpu=native -O2 dolbeau/aesenc-int
gcc -march=native -mcpu=native -O3 dolbeau/aesenc-int
gcc -march=native -mcpu=native -Os dolbeau/aesenc-int

Compiler output

Implementation: crypto_aead/aes256gcmv1/openssl
Compiler: gcc -funroll-loops -march=native -mcpu=native -O2
decrypt.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
encrypt.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
try.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
try.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
measure.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -march=native -mcpu=native -O2 openssl
gcc -funroll-loops -march=native -mcpu=native -O3 openssl
gcc -funroll-loops -march=native -mcpu=native -Os openssl
gcc -march=native -mcpu=native -O2 openssl
gcc -march=native -mcpu=native -O3 openssl
gcc -march=native -mcpu=native -Os openssl

Compiler output

Implementation: crypto_aead/aes256gcmv1/ref
Compiler: gcc -funroll-loops -march=native -mcpu=native -O2
encrypt.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
try.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
try.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
measure.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -march=native -mcpu=native -O2 ref
gcc -funroll-loops -march=native -mcpu=native -O3 ref
gcc -funroll-loops -march=native -mcpu=native -Os ref
gcc -march=native -mcpu=native -O2 ref
gcc -march=native -mcpu=native -O3 ref
gcc -march=native -mcpu=native -Os ref