Implementation notes: x86, thoth, crypto_aead/aes256cpfbv1

Computer: thoth
Architecture: x86
CPU ID: AuthenticAMD-00000622-0183f9ff
SUPERCOP version: 20160806
Operation: crypto_aead
Primitive: aes256cpfbv1
TimeImplementationCompilerBenchmark dateSUPERCOP version
303126aesrefgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072620160724
316559aesrefgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072620160724
362887aesrefgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072620160724
381747aesrefgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072620160724
420451aesrefclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016072620160724
489048refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072620160724
503761refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016072620160724
527721refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072620160724
539281refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072620160724
562787refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072620160724
625971evpclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016072620160724
626034evpgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072620160724
632419evpgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072620160724
632549evpgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072620160724
661849evpgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072620160724

Compiler output

Implementation: crypto_aead/aes256cpfbv1/gladman
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
aeskey.c: aeskey.c:25:12: fatal error: 'aes_via_ace.h' file not found
aeskey.c: # include "aes_via_ace.h"
aeskey.c: ^
aeskey.c: 1 error generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments gladman

Compiler output

Implementation: crypto_aead/aes256cpfbv1/aesni
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
cpfbkey.c: cpfbkey.c:46:8: error: always_inline function '_mm_loadu_si128' requires target feature 'sse2', but would be inlined into function 'AES_128_Key_Expansion_and_encryption' that is compiled without support for 'sse2'
cpfbkey.c: temp1= _mm_loadu_si128(userkey);
cpfbkey.c: ^
cpfbkey.c: cpfbkey.c:48:6: error: always_inline function '_mm_xor_si128' requires target feature 'sse2', but would be inlined into function 'AES_128_Key_Expansion_and_encryption' that is compiled without support for 'sse2'
cpfbkey.c: k1 = _mm_xor_si128(in1,temp1);
cpfbkey.c: ^
cpfbkey.c: cpfbkey.c:49:6: error: always_inline function '_mm_xor_si128' requires target feature 'sse2', but would be inlined into function 'AES_128_Key_Expansion_and_encryption' that is compiled without support for 'sse2'
cpfbkey.c: k2 = _mm_xor_si128(in2,temp1);
cpfbkey.c: ^
cpfbkey.c: cpfbkey.c:50:9: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
cpfbkey.c: temp2 = _mm_aeskeygenassist_si128 (temp1,0x1);
cpfbkey.c: ^
cpfbkey.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/__wmmintrin_aes.h:62:12: note: expanded from macro '_mm_aeskeygenassist_si128'
cpfbkey.c: (__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R))
cpfbkey.c: ^
cpfbkey.c: cpfbkey.c:52:6: error: always_inline function '_mm_aesenc_si128' requires target feature 'sse2', but would be inlined into function 'AES_128_Key_Expansion_and_encryption' that is compiled without support for 'sse2'
cpfbkey.c: k1 = _mm_aesenc_si128(k1,temp1);
cpfbkey.c: ^
cpfbkey.c: cpfbkey.c:53:6: error: always_inline function '_mm_aesenc_si128' requires target feature 'sse2', but would be inlined into function 'AES_128_Key_Expansion_and_encryption' that is compiled without support for 'sse2'
cpfbkey.c: k2 = _mm_aesenc_si128(k2,temp1);
cpfbkey.c: ^
cpfbkey.c: cpfbkey.c:54:9: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
cpfbkey.c: temp2 = _mm_aeskeygenassist_si128 (temp1,0x2);
cpfbkey.c: ^
cpfbkey.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/__wmmintrin_aes.h:62:12: note: expanded from macro '_mm_aeskeygenassist_si128'
cpfbkey.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments aesni

Compiler output

Implementation: crypto_aead/aes256cpfbv1/gladman
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
aeskey.c: aeskey.c:25:27: fatal error: aes_via_ace.h: No such file or directory
aeskey.c: # include "aes_via_ace.h"
aeskey.c: ^
aeskey.c: compilation terminated.

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

Compiler output

Implementation: crypto_aead/aes256cpfbv1/aesni
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
cpfbkey.c: cpfbkey.c: In function 'AES_128_Key_Expansion_and_encryption':
cpfbkey.c: cpfbkey.c:46:6: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
cpfbkey.c: temp1= _mm_loadu_si128(userkey);
cpfbkey.c: ^
cpfbkey.c: In file included from /usr/lib/gcc/i686-linux-gnu/5/include/wmmintrin.h:31:0,
cpfbkey.c: from cpfbkey.c:15:
cpfbkey.c: cpfbkey.c: In function 'key_expansion_128':
cpfbkey.c: /usr/lib/gcc/i686-linux-gnu/5/include/emmintrin.h:1286:1: error: inlining failed in call to always_inline '_mm_xor_si128': target specific option mismatch
cpfbkey.c: _mm_xor_si128 (__m128i __A, __m128i __B)
cpfbkey.c: ^
cpfbkey.c: cpfbkey.c:34:10: error: called from here
cpfbkey.c: *temp1 = _mm_xor_si128 (*temp1, *temp2);
cpfbkey.c: ^
cpfbkey.c: In file included from /usr/lib/gcc/i686-linux-gnu/5/include/wmmintrin.h:31:0,
cpfbkey.c: from cpfbkey.c:15:
cpfbkey.c: /usr/lib/gcc/i686-linux-gnu/5/include/emmintrin.h:1286:1: error: inlining failed in call to always_inline '_mm_xor_si128': target specific option mismatch
cpfbkey.c: _mm_xor_si128 (__m128i __A, __m128i __B)
cpfbkey.c: ^
cpfbkey.c: cpfbkey.c:33:10: error: called from here
cpfbkey.c: *temp1 = _mm_xor_si128 (*temp1, temp3);
cpfbkey.c: ^
cpfbkey.c: In file included from /usr/lib/gcc/i686-linux-gnu/5/include/wmmintrin.h:31:0,
cpfbkey.c: from cpfbkey.c:15:
cpfbkey.c: /usr/lib/gcc/i686-linux-gnu/5/include/emmintrin.h:1186:1: error: inlining failed in call to always_inline '_mm_slli_si128': target specific option mismatch
cpfbkey.c: _mm_slli_si128 (__m128i __A, const int __N)
cpfbkey.c: ...

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