Implementation notes: x86, thoth, crypto_aead/stribob192r2

Computer: thoth
Architecture: x86
CPU ID: AuthenticAMD-00000622-0183f9ff
SUPERCOP version: 20160806
Operation: crypto_aead
Primitive: stribob192r2
TimeImplementationCompilerBenchmark dateSUPERCOP version
789463refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072720160724
804027refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072720160724
813294refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016072720160724
909540refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072720160724
947442refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072720160724
1255240smallerclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016072720160724
1555897smallergcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072720160724
1558276smallergcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072720160724
1570702smallergcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072720160724
1641428smallergcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072720160724
2200208bitsliceclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016072720160724
2674308bitslicegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072720160724
2717877bitslicegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072720160724
2723377bitslicegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072720160724
2739720bitslicegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072720160724
55017718bitclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016072720160724
56843618bitgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072720160724
63103628bitgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072720160724
65806088bitgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072720160724
65955588bitgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072720160724

Compiler output

Implementation: crypto_aead/stribob192r2/ssse3
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
wbob_pissse3.c: wbob_pissse3.c:147:14: error: always_inline function '_mm_load_si128' requires target feature 'sse2', but would be inlined into function 'wbob_pi' that is compiled without support for 'sse2'
wbob_pissse3.c: s0_box = _mm_load_si128((__m128i*)(SBOXES + 0));
wbob_pissse3.c: ^
wbob_pissse3.c: wbob_pissse3.c:148:14: error: always_inline function '_mm_load_si128' requires target feature 'sse2', but would be inlined into function 'wbob_pi' that is compiled without support for 'sse2'
wbob_pissse3.c: s1_box = _mm_load_si128((__m128i*)(SBOXES + 16));
wbob_pissse3.c: ^
wbob_pissse3.c: wbob_pissse3.c:149:14: error: always_inline function '_mm_load_si128' requires target feature 'sse2', but would be inlined into function 'wbob_pi' that is compiled without support for 'sse2'
wbob_pissse3.c: s2_box = _mm_load_si128((__m128i*)(SBOXES + 32));
wbob_pissse3.c: ^
wbob_pissse3.c: wbob_pissse3.c:150:12: error: always_inline function '_mm_load_si128' requires target feature 'sse2', but would be inlined into function 'wbob_pi' that is compiled without support for 'sse2'
wbob_pissse3.c: rot0 = _mm_load_si128((__m128i*)(CONSTANTS + 0));
wbob_pissse3.c: ^
wbob_pissse3.c: wbob_pissse3.c:151:12: error: always_inline function '_mm_load_si128' requires target feature 'sse2', but would be inlined into function 'wbob_pi' that is compiled without support for 'sse2'
wbob_pissse3.c: rot1 = _mm_load_si128((__m128i*)(CONSTANTS + 16));
wbob_pissse3.c: ^
wbob_pissse3.c: wbob_pissse3.c:152:12: error: always_inline function '_mm_load_si128' requires target feature 'sse2', but would be inlined into function 'wbob_pi' that is compiled without support for 'sse2'
wbob_pissse3.c: rot2 = _mm_load_si128((__m128i*)(CONSTANTS + 32));
wbob_pissse3.c: ^
wbob_pissse3.c: wbob_pissse3.c:153:12: error: always_inline function '_mm_load_si128' requires target feature 'sse2', but would be inlined into function 'wbob_pi' that is compiled without support for 'sse2'
wbob_pissse3.c: rot3 = _mm_load_si128((__m128i*)(CONSTANTS + 48));
wbob_pissse3.c: ^
wbob_pissse3.c: wbob_pissse3.c:154:14: error: always_inline function '_mm_load_si128' requires target feature 'sse2', but would be inlined into function 'wbob_pi' that is compiled without support for 'sse2'
wbob_pissse3.c: ileave = _mm_load_si128((__m128i*)(CONSTANTS + 64));
wbob_pissse3.c: ^
wbob_pissse3.c: wbob_pissse3.c:156:12: error: always_inline function '_mm_set1_epi8' requires target feature 'sse2', but would be inlined into function 'wbob_pi' that is compiled without support for 'sse2'
wbob_pissse3.c: ...

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

Compiler output

Implementation: crypto_aead/stribob192r2/ssse3
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
wbob_pissse3.c: wbob_pissse3.c: In function 'wbob_pi':
wbob_pissse3.c: wbob_pissse3.c:147:12: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
wbob_pissse3.c: s0_box = _mm_load_si128((__m128i*)(SBOXES + 0));
wbob_pissse3.c: ^
wbob_pissse3.c: In file included from /usr/lib/gcc/i686-linux-gnu/5/include/pmmintrin.h:31:0,
wbob_pissse3.c: from /usr/lib/gcc/i686-linux-gnu/5/include/tmmintrin.h:31,
wbob_pissse3.c: from wbob_pissse3.c:7:
wbob_pissse3.c: /usr/lib/gcc/i686-linux-gnu/5/include/emmintrin.h:975:1: error: inlining failed in call to always_inline '_mm_unpackhi_epi32': target specific option mismatch
wbob_pissse3.c: _mm_unpackhi_epi32 (__m128i __A, __m128i __B)
wbob_pissse3.c: ^
wbob_pissse3.c: wbob_pissse3.c:108:10: error: called from here
wbob_pissse3.c: y##3 = _mm_unpackhi_epi32(x##1,x##3); \
wbob_pissse3.c: ^
wbob_pissse3.c: wbob_pissse3.c:166:5: note: in expansion of macro 'TRANSPOSE'
wbob_pissse3.c: TRANSPOSE(x,y);
wbob_pissse3.c: ^
wbob_pissse3.c: In file included from /usr/lib/gcc/i686-linux-gnu/5/include/pmmintrin.h:31:0,
wbob_pissse3.c: from /usr/lib/gcc/i686-linux-gnu/5/include/tmmintrin.h:31,
wbob_pissse3.c: from wbob_pissse3.c:7:
wbob_pissse3.c: /usr/lib/gcc/i686-linux-gnu/5/include/emmintrin.h:999:1: error: inlining failed in call to always_inline '_mm_unpacklo_epi32': target specific option mismatch
wbob_pissse3.c: _mm_unpacklo_epi32 (__m128i __A, __m128i __B)
wbob_pissse3.c: ^
wbob_pissse3.c: wbob_pissse3.c:107:10: error: called from here
wbob_pissse3.c: y##2 = _mm_unpacklo_epi32(x##1,x##3); \
wbob_pissse3.c: ^
wbob_pissse3.c: ...

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