Implementation notes: x86, thoth, crypto_aead/silverv1

Computer: thoth
Architecture: x86
CPU ID: AuthenticAMD-00000622-0183f9ff
SUPERCOP version: 20160806
Operation: crypto_aead
Primitive: silverv1
TimeImplementationCompilerBenchmark dateSUPERCOP version
166544littleendoptnotaesnigcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072720160724
167753littleendoptnotaesnigcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072720160724
176469littleendoptnotaesnigcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072720160724
186817littleendoptnotaesnigcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072720160724
189745anotherlittleendgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072720160724
196317anotherlittleendgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072720160724
226917anotherlittleendgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072720160724
238570anotherlittleendgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072720160724
239054anotherlittleendclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016072720160724
244434littleendoptnotaesniclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016072720160724
1147881refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072720160724
1237157refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016072720160724
1595318refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072720160724
1666056refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072720160724
1689469refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072720160724

Compiler output

Implementation: crypto_aead/silverv1/aesnioptimized
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
encrypt.c: In file included from encrypt.c:36:
encrypt.c: ./macs4AESNI.h:33:11: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
encrypt.c: kp[1] = AES_128_key_exp(kp[0], 0x01);
encrypt.c: ^
encrypt.c: ./macs4AESNI.h:29:58: note: expanded from macro 'AES_128_key_exp'
encrypt.c: #define AES_128_key_exp(K, RCON) aes_128_key_expansion(K,_mm_aeskeygenassist_si128(K, RCON))
encrypt.c: ^
encrypt.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'
encrypt.c: (__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R))
encrypt.c: ^
encrypt.c: In file included from encrypt.c:36:
encrypt.c: ./macs4AESNI.h:34:11: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
encrypt.c: kp[2] = AES_128_key_exp(kp[1], 0x02);
encrypt.c: ^
encrypt.c: ./macs4AESNI.h:29:58: note: expanded from macro 'AES_128_key_exp'
encrypt.c: #define AES_128_key_exp(K, RCON) aes_128_key_expansion(K,_mm_aeskeygenassist_si128(K, RCON))
encrypt.c: ^
encrypt.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'
encrypt.c: (__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R))
encrypt.c: ^
encrypt.c: In file included from encrypt.c:36:
encrypt.c: ./macs4AESNI.h:35:11: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
encrypt.c: kp[3] = AES_128_key_exp(kp[2], 0x04);
encrypt.c: ^
encrypt.c: ./macs4AESNI.h:29:58: note: expanded from macro 'AES_128_key_exp'
encrypt.c: ...

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

Compiler output

Implementation: crypto_aead/silverv1/bigendoptimized
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
encrypt.c: encrypt.c:28:2: error: "This code produces standard results only on BE machines"
encrypt.c: #error "This code produces standard results only on BE machines"
encrypt.c: ^
encrypt.c: 1 error generated.

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

Compiler output

Implementation: crypto_aead/silverv1/aesnioptimized
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
encrypt.c: In file included from encrypt.c:36:0:
encrypt.c: macs4AESNI.h: In function 'aes_128_key_expansion':
encrypt.c: macs4AESNI.h:21:1: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
encrypt.c: {
encrypt.c: ^
encrypt.c: In file included from /usr/lib/gcc/i686-linux-gnu/5/include/wmmintrin.h:31:0,
encrypt.c: from macs4AESNI.h:6,
encrypt.c: from encrypt.c:36:
encrypt.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
encrypt.c: _mm_xor_si128 (__m128i __A, __m128i __B)
encrypt.c: ^
encrypt.c: In file included from encrypt.c:36:0:
encrypt.c: macs4AESNI.h:26:9: error: called from here
encrypt.c: return _mm_xor_si128(key, keygened);
encrypt.c: ^
encrypt.c: In file included from /usr/lib/gcc/i686-linux-gnu/5/include/wmmintrin.h:31:0,
encrypt.c: from macs4AESNI.h:6,
encrypt.c: from encrypt.c:36:
encrypt.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
encrypt.c: _mm_xor_si128 (__m128i __A, __m128i __B)
encrypt.c: ^
encrypt.c: In file included from encrypt.c:36:0:
encrypt.c: macs4AESNI.h:25:6: error: called from here
encrypt.c: key = _mm_xor_si128(key, _mm_slli_si128(key, 4));
encrypt.c: ^
encrypt.c: ...

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

Compiler output

Implementation: crypto_aead/silverv1/bigendoptimized
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
encrypt.c: encrypt.c:28:2: error: #error "This code produces standard results only on BE machines"
encrypt.c: #error "This code produces standard results only on BE machines"
encrypt.c: ^

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