Implementation notes: x86, thoth, crypto_hash/cubehash832

Computer: thoth
Architecture: x86
CPU ID: AuthenticAMD-00000622-0183f9ff
SUPERCOP version: 20160806
Operation: crypto_hash
Primitive: cubehash832
TimeImplementationCompilerBenchmark dateSUPERCOP version
88018unrolledgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072620160724
88722unrolledgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072620160724
92829simplegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072620160724
94418unrolledgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072620160724
108757unrolledclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016072620160724
181782simpleclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016072620160724
278085unrolledgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072620160724
421491simplegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072620160724
426981simplegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072620160724
617885simplegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072620160724
938343specclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016072620160724
1006522specgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072620160724
1256227specgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072620160724
1360009specgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072620160724
1681408specgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072620160724

Compiler output

Implementation: crypto_hash/cubehash832/emmintrin4
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
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[0] = _mm_set_epi32(0x25ff7b5d,0x3d0d808d,0x806ab750,0x41ea3c65);
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[1] = _mm_set_epi32(0x373962b6,0xa3549c8f,0x7b71d0ac,0x995d4665);
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[2] = _mm_set_epi32(0xcc5e1636,0xa691246a,0xb88bb941,0xd6c2dbe7);
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[3] = _mm_set_epi32(0xbc5e839d,0xc71623c4,0xfcbcabf0,0x3f788a7b);
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[4] = _mm_set_epi32(0xec03b950,0x747685d1,0xb53fbaf7,0xb2ae2ad8);
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[5] = _mm_set_epi32(0x2d9881d6,0x15248ce2,0xd6bdf804,0x090d50ff);
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[6] = _mm_set_epi32(0xa9c43491,0xe46d06be,0x3e1d3f0b,0xd9ac2e10);
cubehash.c: ^
cubehash.c: cubehash.c:108: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(0x76260a22,0xab71dd4e,0x2eade92a,0x88ad1e5f);
cubehash.c: ^
cubehash.c: cubehash.c:110: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/cubehash832/emmintrin3
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
cubehash.c: cubehash.c:98:39: 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: for (i = 0;i gt;x[i] = _mm_set_epi32(0,0,0,0);
cubehash.c: ^
cubehash.c: cubehash.c:99:17: 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(0,CUBEHASH_ROUNDS,CUBEHASH_BLOCKBYTES,hashbitlen / 8);
cubehash.c: ^
cubehash.c: 2 errors generated.

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

Compiler output

Implementation: crypto_hash/cubehash832/emmintrin4
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
cubehash.c: cubehash.c: In function 'Init':
cubehash.c: cubehash.c:101:17: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
cubehash.c: state->gt;x[0] = _mm_set_epi32(0x25ff7b5d,0x3d0d808d,0x806ab750,0x41ea3c65);
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:76: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:75: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

Compiler output

Implementation: crypto_hash/cubehash832/emmintrin3
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
cubehash.c: cubehash.c: In function 'Init':
cubehash.c: cubehash.c:98:37: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
cubehash.c: for (i = 0;i gt;x[i] = _mm_set_epi32(0,0,0,0);
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:76: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:75: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 emmintrin3
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv emmintrin3
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv emmintrin3
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv emmintrin3