Implementation notes: amd64, hydra5, crypto_stream/aes256ctr

Computer: hydra5
Architecture: amd64
CPU ID: AuthenticAMD-00300f10-178bfbff
SUPERCOP version: 20191221
Operation: crypto_stream
Primitive: aes256ctr
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
239879591 1480 01330529 145135 10200cryptoppclang++_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122120191221
2401312418 2064 01334492 145143 10200cryptoppclang++_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122120191221
2405421992 2800 01637661 145095 10296cryptoppg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122120191221
2413421919 2800 01634921 145095 10296cryptoppg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122120191221
241528530 2960 01623330 145863 10264cryptoppg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122120191221
2420821391 2800 01632842 145103 10296cryptoppg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122120191221
2425712418 2064 01334492 145143 10200cryptoppclang++_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122120191221
2430612304 1480 01336308 145143 10200cryptoppclang++_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122120191221

Compiler output

Implementation: dolbeau/aesenc-int
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
aesenc-int.c: aesenc-int.c:58:3: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
aesenc-int.c: BLOCK1(0x01);
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:39:11: note: expanded from macro 'BLOCK1'
aesenc-int.c: temp1 = _mm_aeskeygenassist_si128(temp2, IMM); \
aesenc-int.c: ^
aesenc-int.c: /usr/lib/llvm-6.0/lib/clang/6.0.0/include/__wmmintrin_aes.h:147:12: note: expanded from macro '_mm_aeskeygenassist_si128'
aesenc-int.c: (__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R))
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:59:3: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
aesenc-int.c: BLOCK2(0x01);
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:49:11: note: expanded from macro 'BLOCK2'
aesenc-int.c: temp1 = _mm_aeskeygenassist_si128(temp0, IMM); \
aesenc-int.c: ^
aesenc-int.c: /usr/lib/llvm-6.0/lib/clang/6.0.0/include/__wmmintrin_aes.h:147:12: note: expanded from macro '_mm_aeskeygenassist_si128'
aesenc-int.c: (__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R))
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:61:3: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
aesenc-int.c: BLOCK1(0x02);
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:39:11: note: expanded from macro 'BLOCK1'
aesenc-int.c: temp1 = _mm_aeskeygenassist_si128(temp2, IMM); \
aesenc-int.c: ^
aesenc-int.c: /usr/lib/llvm-6.0/lib/clang/6.0.0/include/__wmmintrin_aes.h:147:12: note: expanded from macro '_mm_aeskeygenassist_si128'
aesenc-int.c: ...

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE dolbeau/aesenc-int
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE dolbeau/aesenc-int
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE dolbeau/aesenc-int
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE dolbeau/aesenc-int
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE dolbeau/aesenc-int

Compiler output

Implementation: dolbeau/aesenc-int
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
aesenc-int.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:39:0,
aesenc-int.c: from aesenc-int.c:12:
aesenc-int.c: aesenc-int.c: In function 'aesni_key256_expand':
aesenc-int.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/wmmintrin.h:87:1: error: inlining failed in call to always_inline '_mm_aeskeygenassist_si128': target specific option mismatch
aesenc-int.c: _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
aesenc-int.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
aesenc-int.c: aesenc-int.c:39:9: note: called from here
aesenc-int.c: temp1 = _mm_aeskeygenassist_si128(temp2, IMM); \
aesenc-int.c: ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
aesenc-int.c: aesenc-int.c:76:3: note: in expansion of macro 'BLOCK1'
aesenc-int.c: BLOCK1(0x40);
aesenc-int.c: ^~~~~~
aesenc-int.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:39:0,
aesenc-int.c: from aesenc-int.c:12:
aesenc-int.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/wmmintrin.h:87:1: error: inlining failed in call to always_inline '_mm_aeskeygenassist_si128': target specific option mismatch
aesenc-int.c: _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
aesenc-int.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
aesenc-int.c: aesenc-int.c:49:9: note: called from here
aesenc-int.c: temp1 = _mm_aeskeygenassist_si128(temp0, IMM); \
aesenc-int.c: ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
aesenc-int.c: aesenc-int.c:74:3: note: in expansion of macro 'BLOCK2'
aesenc-int.c: BLOCK2(0x20);
aesenc-int.c: ^~~~~~
aesenc-int.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:39:0,
aesenc-int.c: from aesenc-int.c:12:
aesenc-int.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE dolbeau/aesenc-int
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE dolbeau/aesenc-int
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE dolbeau/aesenc-int
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE dolbeau/aesenc-int

Compiler output

Implementation: openssl
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
stream.c: stream.c:2:10: fatal error: 'openssl/evp.h' file not found
stream.c: #include <openssl/evp.h>
stream.c: ^~~~~~~~~~~~~~~
stream.c: 1 error generated.

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE openssl
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE openssl
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE openssl
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE openssl
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE openssl

Compiler output

Implementation: openssl
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
stream.c: stream.c:2:10: fatal error: openssl/evp.h: No such file or directory
stream.c: #include <openssl/evp.h>
stream.c: ^~~~~~~~~~~~~~~
stream.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE openssl
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE openssl
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE openssl
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE openssl