Implementation notes: x86, thoth, crypto_sign/tts6440

Computer: thoth
Architecture: x86
CPU ID: AuthenticAMD-00000622-0183f9ff
SUPERCOP version: 20160806
Operation: crypto_sign
Primitive: tts6440

Compiler output

Implementation: crypto_sign/tts6440/ref
Compiler: clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
TTS_simple-test.cpp: In file included from TTS_simple-test.cpp:6:
TTS_simple-test.cpp: ./TTS_simple.h:578:17: error: always_inline function '_mm_set1_epi16' requires target feature 'sse2', but would be inlined into function 'gen_key' that is compiled without support for 'sse2'
TTS_simple-test.cpp: __m128i mask = _mm_set1_epi16(31);
TTS_simple-test.cpp: ^
TTS_simple-test.cpp: ./TTS_simple.h:581:24: error: always_inline function '_mm_and_si128' requires target feature 'sse2', but would be inlined into function 'gen_key' that is compiled without support for 'sse2'
TTS_simple-test.cpp: const __m128i lo0 = _mm_and_si128(_mm_unpacklo_epi16(_polys[k][i].v, _polys[k][i+1].v), mask);
TTS_simple-test.cpp: ^
TTS_simple-test.cpp: ./TTS_simple.h:581:38: error: always_inline function '_mm_unpacklo_epi16' requires target feature 'sse2', but would be inlined into function 'gen_key' that is compiled without support for 'sse2'
TTS_simple-test.cpp: const __m128i lo0 = _mm_and_si128(_mm_unpacklo_epi16(_polys[k][i].v, _polys[k][i+1].v), mask);
TTS_simple-test.cpp: ^
TTS_simple-test.cpp: ./TTS_simple.h:582:24: error: always_inline function '_mm_and_si128' requires target feature 'sse2', but would be inlined into function 'gen_key' that is compiled without support for 'sse2'
TTS_simple-test.cpp: const __m128i lo1 = _mm_and_si128(_mm_unpacklo_epi16(_polys[k][i+2].v, _polys[k][i+3].v), mask);
TTS_simple-test.cpp: ^
TTS_simple-test.cpp: ./TTS_simple.h:582:38: error: always_inline function '_mm_unpacklo_epi16' requires target feature 'sse2', but would be inlined into function 'gen_key' that is compiled without support for 'sse2'
TTS_simple-test.cpp: const __m128i lo1 = _mm_and_si128(_mm_unpacklo_epi16(_polys[k][i+2].v, _polys[k][i+3].v), mask);
TTS_simple-test.cpp: ^
TTS_simple-test.cpp: ./TTS_simple.h:583:24: error: always_inline function '_mm_and_si128' requires target feature 'sse2', but would be inlined into function 'gen_key' that is compiled without support for 'sse2'
TTS_simple-test.cpp: const __m128i lo2 = _mm_and_si128(_mm_unpacklo_epi16(_polys[k][i+4].v, _polys[k][i+5].v), mask);
TTS_simple-test.cpp: ^
TTS_simple-test.cpp: ./TTS_simple.h:583:38: error: always_inline function '_mm_unpacklo_epi16' requires target feature 'sse2', but would be inlined into function 'gen_key' that is compiled without support for 'sse2'
TTS_simple-test.cpp: const __m128i lo2 = _mm_and_si128(_mm_unpacklo_epi16(_polys[k][i+4].v, _polys[k][i+5].v), mask);
TTS_simple-test.cpp: ^
TTS_simple-test.cpp: ./TTS_simple.h:584:24: error: always_inline function '_mm_or_si128' requires target feature 'sse2', but would be inlined into function 'gen_key' that is compiled without support for 'sse2'
TTS_simple-test.cpp: polys.q[k*2][i/6] = _mm_or_si128(lo0, _mm_or_si128(_mm_slli_epi16(lo1, 5), _mm_slli_epi16(lo2, 11)));
TTS_simple-test.cpp: ^
TTS_simple-test.cpp: ...

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

Compiler output

Implementation: crypto_sign/tts6440/ref
Compiler: g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
TTS_simple-test.cpp: In file included from TTS_simple-test.cpp:6:0:
TTS_simple-test.cpp: TTS_simple.h: In static member function 'static void TTS_g_64_40gt;::gen_key(uint8*, uint8*) [with unsigned int p = 31u; uint8 = unsigned char]':
TTS_simple-test.cpp: TTS_simple.h:578:34: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
TTS_simple-test.cpp: __m128i mask = _mm_set1_epi16(31);
TTS_simple-test.cpp: ^
TTS_simple-test.cpp: In file included from gfv.h:3:0,
TTS_simple-test.cpp: from bqas.h:5,
TTS_simple-test.cpp: from TTS_simple.h:8,
TTS_simple-test.cpp: from TTS_simple-test.cpp:6:
TTS_simple-test.cpp: /usr/lib/gcc/i686-linux-gnu/5/include/emmintrin.h: In function 'void transpose8(__m128i*, const __m128i*)':
TTS_simple-test.cpp: /usr/lib/gcc/i686-linux-gnu/5/include/emmintrin.h:969:1: error: inlining failed in call to always_inline '__m128i _mm_unpackhi_epi16(__m128i, __m128i)': target specific option mismatch
TTS_simple-test.cpp: _mm_unpackhi_epi16 (__m128i __A, __m128i __B)
TTS_simple-test.cpp: ^
TTS_simple-test.cpp: In file included from bqas.h:79:0,
TTS_simple-test.cpp: from TTS_simple.h:8,
TTS_simple-test.cpp: from TTS_simple-test.cpp:6:
TTS_simple-test.cpp: transpose8.h:34:32: error: called from here
TTS_simple-test.cpp: h = _mm_unpackhi_epi16(g1, h1);\
TTS_simple-test.cpp: ^
TTS_simple-test.cpp: transpose8.h:39:2: note: in expansion of macro '_transpose8'
TTS_simple-test.cpp: _transpose8(a,b,c,d,e,f,g,h);
TTS_simple-test.cpp: ^
TTS_simple-test.cpp: In file included from gfv.h:3:0,
TTS_simple-test.cpp: from bqas.h:5,
TTS_simple-test.cpp: from TTS_simple.h:8,
TTS_simple-test.cpp: ...

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