Implementation notes: x86, thoth, crypto_hash/cubehash161

Computer: thoth
Architecture: x86
CPU ID: AuthenticAMD-00000622-0183f9ff
SUPERCOP version: 20160806
Operation: crypto_hash
Primitive: cubehash161
TimeImplementationCompilerBenchmark dateSUPERCOP version
2769258unrolledgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072620160724
2794150unrolledgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072620160724
2806141simplegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072620160724
2888838unrolledgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072620160724
2927607unrolledgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072620160724
3736383unrolledclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016072620160724
3895016specgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072620160724
4892979specclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016072620160724
7106820simpleclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016072620160724
9045150specgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072620160724
10148142specgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072620160724
11763249specgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072620160724
17880853simplegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072620160724
18280974simplegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072620160724
18340488simplegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072620160724

Compiler output

Implementation: crypto_hash/cubehash161/emmintrin4
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
cubehash.c: cubehash.c:100:19: error: always_inline function '_mm_set_epi32' requires target feature 'sse2', but would be inlined into function 'Init' that is compiled without support for 'sse2'
cubehash.c: state->gt;x[0] = _mm_set_epi32(0xc80d94b9,0x54e54554,0xdd5912e8,0xa56f35bb);
cubehash.c: ^
cubehash.c: cubehash.c:101:19: error: always_inline function '_mm_set_epi32' requires target feature 'sse2', but would be inlined into function 'Init' that is compiled without support for 'sse2'
cubehash.c: state->gt;x[1] = _mm_set_epi32(0x6073b109,0x556c80e1,0xfba02fad,0x9f339c2c);
cubehash.c: ^
cubehash.c: cubehash.c:102:19: error: always_inline function '_mm_set_epi32' requires target feature 'sse2', but would be inlined into function 'Init' that is compiled without support for 'sse2'
cubehash.c: state->gt;x[2] = _mm_set_epi32(0xbe23312d,0xc15533d2,0x1c777f4c,0x14a61bb8);
cubehash.c: ^
cubehash.c: cubehash.c:103:19: error: always_inline function '_mm_set_epi32' requires target feature 'sse2', but would be inlined into function 'Init' that is compiled without support for 'sse2'
cubehash.c: state->gt;x[3] = _mm_set_epi32(0xf38b5d32,0xe06381cc,0xb5fef8cd,0xd38bf988);
cubehash.c: ^
cubehash.c: cubehash.c:104:19: error: always_inline function '_mm_set_epi32' requires target feature 'sse2', but would be inlined into function 'Init' that is compiled without support for 'sse2'
cubehash.c: state->gt;x[4] = _mm_set_epi32(0x76e92d7f,0x8101ee4f,0xe3f21d5a,0x92e8deef);
cubehash.c: ^
cubehash.c: cubehash.c:105:19: error: always_inline function '_mm_set_epi32' requires target feature 'sse2', but would be inlined into function 'Init' that is compiled without support for 'sse2'
cubehash.c: state->gt;x[5] = _mm_set_epi32(0x6d6bce12,0x98bcba91,0x0c3a8c2f,0x3f6bc864);
cubehash.c: ^
cubehash.c: cubehash.c:106:19: error: always_inline function '_mm_set_epi32' requires target feature 'sse2', but would be inlined into function 'Init' that is compiled without support for 'sse2'
cubehash.c: state->gt;x[6] = _mm_set_epi32(0x14552aba,0xb3c7d569,0x6a5b76f5,0x4987783b);
cubehash.c: ^
cubehash.c: cubehash.c:107:19: error: always_inline function '_mm_set_epi32' requires target feature 'sse2', but would be inlined into function 'Init' that is compiled without support for 'sse2'
cubehash.c: state->gt;x[7] = _mm_set_epi32(0x184a3c99,0x418c06b8,0xdea0e480,0x2b2541d0);
cubehash.c: ^
cubehash.c: cubehash.c:109:19: error: always_inline function '_mm_set_epi32' requires target feature 'sse2', but would be inlined into function 'Init' that is compiled without support for 'sse2'
cubehash.c: ...

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

Compiler output

Implementation: crypto_hash/cubehash161/emmintrin4
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
cubehash.c: cubehash.c: In function 'Init':
cubehash.c: cubehash.c:100:17: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
cubehash.c: state->gt;x[0] = _mm_set_epi32(0xc80d94b9,0x54e54554,0xdd5912e8,0xa56f35bb);
cubehash.c: ^
cubehash.c: In file included from cubehash.h:14:0,
cubehash.c: from cubehash.c:9:
cubehash.c: cubehash.c: In function 'transform':
cubehash.c: /usr/lib/gcc/i686-linux-gnu/5/include/emmintrin.h:1415:1: error: inlining failed in call to always_inline '_mm_shuffle_epi32': target specific option mismatch
cubehash.c: _mm_shuffle_epi32 (__m128i __A, const int __mask)
cubehash.c: ^
cubehash.c: cubehash.c:75:8: error: called from here
cubehash.c: x7 = _mm_shuffle_epi32(x7,0xb1);
cubehash.c: ^
cubehash.c: In file included from cubehash.h:14:0,
cubehash.c: from cubehash.c:9:
cubehash.c: /usr/lib/gcc/i686-linux-gnu/5/include/emmintrin.h:1415:1: error: inlining failed in call to always_inline '_mm_shuffle_epi32': target specific option mismatch
cubehash.c: _mm_shuffle_epi32 (__m128i __A, const int __mask)
cubehash.c: ^
cubehash.c: cubehash.c:74:8: error: called from here
cubehash.c: x6 = _mm_shuffle_epi32(x6,0xb1);
cubehash.c: ^
cubehash.c: In file included from cubehash.h:14:0,
cubehash.c: from cubehash.c:9:
cubehash.c: /usr/lib/gcc/i686-linux-gnu/5/include/emmintrin.h:1415:1: error: inlining failed in call to always_inline '_mm_shuffle_epi32': target specific option mismatch
cubehash.c: _mm_shuffle_epi32 (__m128i __A, const int __mask)
cubehash.c: ...

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