Implementation notes: x86, thoth, crypto_hashblocks/rfsb509

Computer: thoth
Architecture: x86
CPU ID: AuthenticAMD-00000622-0183f9ff
SUPERCOP version: 20160806
Operation: crypto_hashblocks
Primitive: rfsb509
TimeImplementationCompilerBenchmark dateSUPERCOP version
446928refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072620160724
477795refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016072620160724
501610refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072620160724
595788refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072620160724
1252560refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072620160724

Compiler output

Implementation: crypto_hashblocks/rfsb509/xmm1reg
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
compress.c: compress.c:38:9: error: always_inline function '_mm_srli_epi64' requires target feature 'sse2', but would be inlined into function 'crypto_hashblocks_rfsb509_xmm1reg' that is compiled without support for 'sse2'
compress.c: u = _mm_srli_epi64(ci,61);
compress.c: ^
compress.c: compress.c:39:14: error: always_inline function '_mm_setzero_si128' requires target feature 'sse2', but would be inlined into function 'crypto_hashblocks_rfsb509_xmm1reg' that is compiled without support for 'sse2'
compress.c: carry0 = _mm_shuffle_epi32(u,0x45);
compress.c: ^
compress.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/emmintrin.h:1337:44: note: expanded from macro '_mm_shuffle_epi32'
compress.c: (__v4si)_mm_setzero_si128(), \
compress.c: ^
compress.c: compress.c:40:15: error: always_inline function '_mm_slli_epi64' requires target feature 'sse2', but would be inlined into function 'crypto_hashblocks_rfsb509_xmm1reg' that is compiled without support for 'sse2'
compress.c: carry0 ^= _mm_slli_epi64(ci,3);
compress.c: ^
compress.c: compress.c:41:14: error: always_inline function '_mm_setzero_si128' requires target feature 'sse2', but would be inlined into function 'crypto_hashblocks_rfsb509_xmm1reg' that is compiled without support for 'sse2'
compress.c: carry3 = _mm_srli_si128(u,8); /* XXX: always 0... */
compress.c: ^
compress.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/emmintrin.h:924:45: note: expanded from macro '_mm_srli_si128'
compress.c: (__v16qi)_mm_setzero_si128(), \
compress.c: ^
compress.c: compress.c:45:9: error: always_inline function '_mm_srli_epi64' requires target feature 'sse2', but would be inlined into function 'crypto_hashblocks_rfsb509_xmm1reg' that is compiled without support for 'sse2'
compress.c: u = _mm_srli_epi64(ci,61);
compress.c: ^
compress.c: compress.c:46:14: error: always_inline function '_mm_setzero_si128' requires target feature 'sse2', but would be inlined into function 'crypto_hashblocks_rfsb509_xmm1reg' that is compiled without support for 'sse2'
compress.c: carry1 = _mm_shuffle_epi32(u,0x45);
compress.c: ^
compress.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/emmintrin.h:1337:44: note: expanded from macro '_mm_shuffle_epi32'
compress.c: ...

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

Compiler output

Implementation: crypto_hashblocks/rfsb509/xmm1
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
compress.c: compress.c:60:11: error: always_inline function '_mm_srli_epi64' requires target feature 'sse2', but would be inlined into function 'crypto_hashblocks_rfsb509_xmm1' that is compiled without support for 'sse2'
compress.c: u = _mm_srli_epi64(c[i],61); /* B0D0 */
compress.c: ^
compress.c: compress.c:61:19: error: always_inline function '_mm_slli_epi64' requires target feature 'sse2', but would be inlined into function 'crypto_hashblocks_rfsb509_xmm1' that is compiled without support for 'sse2'
compress.c: c[i + 4] ^= _mm_slli_epi64(c[i],3); /* 0A0C */
compress.c: ^
compress.c: compress.c:62:19: error: always_inline function '_mm_setzero_si128' requires target feature 'sse2', but would be inlined into function 'crypto_hashblocks_rfsb509_xmm1' that is compiled without support for 'sse2'
compress.c: c[i + 4] ^= _mm_shuffle_epi32(u,0x45); /* 00B0 */
compress.c: ^
compress.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/emmintrin.h:1337:44: note: expanded from macro '_mm_shuffle_epi32'
compress.c: (__v4si)_mm_setzero_si128(), \
compress.c: ^
compress.c: compress.c:63:19: error: always_inline function '_mm_setzero_si128' requires target feature 'sse2', but would be inlined into function 'crypto_hashblocks_rfsb509_xmm1' that is compiled without support for 'sse2'
compress.c: c[i + 3] ^= _mm_srli_si128(u,8); /* D000 */
compress.c: ^
compress.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/emmintrin.h:924:45: note: expanded from macro '_mm_srli_si128'
compress.c: (__v16qi)_mm_setzero_si128(), \
compress.c: ^
compress.c: compress.c:67:9: error: always_inline function '_mm_srli_epi64' requires target feature 'sse2', but would be inlined into function 'crypto_hashblocks_rfsb509_xmm1' that is compiled without support for 'sse2'
compress.c: u = _mm_srli_epi64(c[111],61); /* B0D0 */
compress.c: ^
compress.c: compress.c:68:15: error: always_inline function '_mm_setzero_si128' requires target feature 'sse2', but would be inlined into function 'crypto_hashblocks_rfsb509_xmm1' that is compiled without support for 'sse2'
compress.c: c[114] ^= _mm_srli_si128(u,8); /* D000 */
compress.c: ^
compress.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/emmintrin.h:924:45: note: expanded from macro '_mm_srli_si128'
compress.c: ...

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

Compiler output

Implementation: crypto_hashblocks/rfsb509/xmm2
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
compress.c: compress.c:60:20: error: always_inline function '_mm_setzero_si128' requires target feature 'sse2', but would be inlined into function 'crypto_hashblocks_rfsb509_xmm2' that is compiled without support for 'sse2'
compress.c: c[i + 64] ^= _mm_slli_si128(u,6);
compress.c: ^
compress.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/emmintrin.h:840:45: note: expanded from macro '_mm_slli_si128'
compress.c: (__m128i)__builtin_shufflevector((__v16qi)_mm_setzero_si128(), \
compress.c: ^
compress.c: compress.c:61:20: error: always_inline function '_mm_setzero_si128' requires target feature 'sse2', but would be inlined into function 'crypto_hashblocks_rfsb509_xmm2' that is compiled without support for 'sse2'
compress.c: c[i + 63] ^= _mm_srli_si128(u,10);
compress.c: ^
compress.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/emmintrin.h:924:45: note: expanded from macro '_mm_srli_si128'
compress.c: (__v16qi)_mm_setzero_si128(), \
compress.c: ^
compress.c: compress.c:66:11: error: always_inline function '_mm_srli_epi64' requires target feature 'sse2', but would be inlined into function 'crypto_hashblocks_rfsb509_xmm2' that is compiled without support for 'sse2'
compress.c: u = _mm_srli_epi64(c[i],61); /* B0D0 */
compress.c: ^
compress.c: compress.c:67:19: error: always_inline function '_mm_slli_epi64' requires target feature 'sse2', but would be inlined into function 'crypto_hashblocks_rfsb509_xmm2' that is compiled without support for 'sse2'
compress.c: c[i + 4] ^= _mm_slli_epi64(c[i],3); /* 0A0C */
compress.c: ^
compress.c: compress.c:68:19: error: always_inline function '_mm_setzero_si128' requires target feature 'sse2', but would be inlined into function 'crypto_hashblocks_rfsb509_xmm2' that is compiled without support for 'sse2'
compress.c: c[i + 4] ^= _mm_shuffle_epi32(u,0x45); /* 00B0 */
compress.c: ^
compress.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/emmintrin.h:1337:44: note: expanded from macro '_mm_shuffle_epi32'
compress.c: (__v4si)_mm_setzero_si128(), \
compress.c: ^
compress.c: compress.c:69:19: error: always_inline function '_mm_setzero_si128' requires target feature 'sse2', but would be inlined into function 'crypto_hashblocks_rfsb509_xmm2' that is compiled without support for 'sse2'
compress.c: ...

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

Compiler output

Implementation: crypto_hashblocks/rfsb509/xmm4
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
compress.c: compress.c:60:20: error: always_inline function '_mm_setzero_si128' requires target feature 'sse2', but would be inlined into function 'crypto_hashblocks_rfsb509_xmm4' that is compiled without support for 'sse2'
compress.c: c[i + 64] ^= _mm_slli_si128(u,6);
compress.c: ^
compress.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/emmintrin.h:840:45: note: expanded from macro '_mm_slli_si128'
compress.c: (__m128i)__builtin_shufflevector((__v16qi)_mm_setzero_si128(), \
compress.c: ^
compress.c: compress.c:61:20: error: always_inline function '_mm_setzero_si128' requires target feature 'sse2', but would be inlined into function 'crypto_hashblocks_rfsb509_xmm4' that is compiled without support for 'sse2'
compress.c: c[i + 63] ^= _mm_srli_si128(u,10);
compress.c: ^
compress.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/emmintrin.h:924:45: note: expanded from macro '_mm_srli_si128'
compress.c: (__v16qi)_mm_setzero_si128(), \
compress.c: ^
compress.c: compress.c:66:20: error: always_inline function '_mm_setzero_si128' requires target feature 'sse2', but would be inlined into function 'crypto_hashblocks_rfsb509_xmm4' that is compiled without support for 'sse2'
compress.c: c[i + 32] ^= _mm_slli_si128(u,3);
compress.c: ^
compress.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/emmintrin.h:840:45: note: expanded from macro '_mm_slli_si128'
compress.c: (__m128i)__builtin_shufflevector((__v16qi)_mm_setzero_si128(), \
compress.c: ^
compress.c: compress.c:67:20: error: always_inline function '_mm_setzero_si128' requires target feature 'sse2', but would be inlined into function 'crypto_hashblocks_rfsb509_xmm4' that is compiled without support for 'sse2'
compress.c: c[i + 31] ^= _mm_srli_si128(u,13);
compress.c: ^
compress.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/emmintrin.h:924:45: note: expanded from macro '_mm_srli_si128'
compress.c: (__v16qi)_mm_setzero_si128(), \
compress.c: ^
compress.c: compress.c:72:11: error: always_inline function '_mm_srli_epi64' requires target feature 'sse2', but would be inlined into function 'crypto_hashblocks_rfsb509_xmm4' that is compiled without support for 'sse2'
compress.c: ...

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

Compiler output

Implementation: crypto_hashblocks/rfsb509/xmm1
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
compress.c: compress.c: In function 'crypto_hashblocks_rfsb509_xmm1':
compress.c: compress.c:60:9: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
compress.c: u = _mm_srli_epi64(c[i],61); /* B0D0 */
compress.c: ^
compress.c: In file included from compress.c:1:0:
compress.c: /usr/lib/gcc/i686-linux-gnu/5/include/emmintrin.h:1180:1: error: inlining failed in call to always_inline '_mm_srli_si128': target specific option mismatch
compress.c: _mm_srli_si128 (__m128i __A, const int __N)
compress.c: ^
compress.c: compress.c:63:19: error: called from here
compress.c: c[i + 3] ^= _mm_srli_si128(u,8); /* D000 */
compress.c: ^
compress.c: In file included from compress.c:1:0:
compress.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
compress.c: _mm_shuffle_epi32 (__m128i __A, const int __mask)
compress.c: ^
compress.c: compress.c:62:19: error: called from here
compress.c: c[i + 4] ^= _mm_shuffle_epi32(u,0x45); /* 00B0 */
compress.c: ^
compress.c: In file included from compress.c:1:0:
compress.c: /usr/lib/gcc/i686-linux-gnu/5/include/emmintrin.h:1149:1: error: inlining failed in call to always_inline '_mm_slli_epi64': target specific option mismatch
compress.c: _mm_slli_epi64 (__m128i __A, int __B)
compress.c: ^
compress.c: compress.c:61:19: error: called from here
compress.c: c[i + 4] ^= _mm_slli_epi64(c[i],3); /* 0A0C */
compress.c: ^
compress.c: ...

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

Compiler output

Implementation: crypto_hashblocks/rfsb509/xmm1reg
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
compress.c: compress.c: In function 'crypto_hashblocks_rfsb509_xmm1reg':
compress.c: compress.c:38:7: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
compress.c: u = _mm_srli_epi64(ci,61);
compress.c: ^
compress.c: In file included from compress.c:1:0:
compress.c: /usr/lib/gcc/i686-linux-gnu/5/include/emmintrin.h:1180:1: error: inlining failed in call to always_inline '_mm_srli_si128': target specific option mismatch
compress.c: _mm_srli_si128 (__m128i __A, const int __N)
compress.c: ^
compress.c: compress.c:66:15: error: called from here
compress.c: carry2 ^= _mm_srli_si128(u,8);
compress.c: ^
compress.c: In file included from compress.c:1:0:
compress.c: /usr/lib/gcc/i686-linux-gnu/5/include/emmintrin.h:1149:1: error: inlining failed in call to always_inline '_mm_slli_epi64': target specific option mismatch
compress.c: _mm_slli_epi64 (__m128i __A, int __B)
compress.c: ^
compress.c: compress.c:65:15: error: called from here
compress.c: carry3 ^= _mm_slli_epi64(ci,3);
compress.c: ^
compress.c: In file included from compress.c:1:0:
compress.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
compress.c: _mm_shuffle_epi32 (__m128i __A, const int __mask)
compress.c: ^
compress.c: compress.c:64:12: error: called from here
compress.c: carry3 = _mm_shuffle_epi32(u,0x45);
compress.c: ^
compress.c: ...

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

Compiler output

Implementation: crypto_hashblocks/rfsb509/xmm2
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
compress.c: compress.c: In function 'crypto_hashblocks_rfsb509_xmm2':
compress.c: compress.c:60:20: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
compress.c: c[i + 64] ^= _mm_slli_si128(u,6);
compress.c: ^
compress.c: In file included from compress.c:1:0:
compress.c: /usr/lib/gcc/i686-linux-gnu/5/include/emmintrin.h:1180:1: error: inlining failed in call to always_inline '_mm_srli_si128': target specific option mismatch
compress.c: _mm_srli_si128 (__m128i __A, const int __N)
compress.c: ^
compress.c: compress.c:61:20: error: called from here
compress.c: c[i + 63] ^= _mm_srli_si128(u,10);
compress.c: ^
compress.c: In file included from compress.c:1:0:
compress.c: /usr/lib/gcc/i686-linux-gnu/5/include/emmintrin.h:1186:1: error: inlining failed in call to always_inline '_mm_slli_si128': target specific option mismatch
compress.c: _mm_slli_si128 (__m128i __A, const int __N)
compress.c: ^
compress.c: compress.c:60:20: error: called from here
compress.c: c[i + 64] ^= _mm_slli_si128(u,6);
compress.c: ^
compress.c: In file included from compress.c:1:0:
compress.c: /usr/lib/gcc/i686-linux-gnu/5/include/emmintrin.h:1180:1: error: inlining failed in call to always_inline '_mm_srli_si128': target specific option mismatch
compress.c: _mm_srli_si128 (__m128i __A, const int __N)
compress.c: ^
compress.c: compress.c:69:19: error: called from here
compress.c: c[i + 3] ^= _mm_srli_si128(u,8); /* D000 */
compress.c: ^
compress.c: ...

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

Compiler output

Implementation: crypto_hashblocks/rfsb509/xmm4
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
compress.c: compress.c: In function 'crypto_hashblocks_rfsb509_xmm4':
compress.c: compress.c:60:20: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
compress.c: c[i + 64] ^= _mm_slli_si128(u,6);
compress.c: ^
compress.c: In file included from compress.c:1:0:
compress.c: /usr/lib/gcc/i686-linux-gnu/5/include/emmintrin.h:1180:1: error: inlining failed in call to always_inline '_mm_srli_si128': target specific option mismatch
compress.c: _mm_srli_si128 (__m128i __A, const int __N)
compress.c: ^
compress.c: compress.c:61:20: error: called from here
compress.c: c[i + 63] ^= _mm_srli_si128(u,10);
compress.c: ^
compress.c: In file included from compress.c:1:0:
compress.c: /usr/lib/gcc/i686-linux-gnu/5/include/emmintrin.h:1186:1: error: inlining failed in call to always_inline '_mm_slli_si128': target specific option mismatch
compress.c: _mm_slli_si128 (__m128i __A, const int __N)
compress.c: ^
compress.c: compress.c:60:20: error: called from here
compress.c: c[i + 64] ^= _mm_slli_si128(u,6);
compress.c: ^
compress.c: In file included from compress.c:1:0:
compress.c: /usr/lib/gcc/i686-linux-gnu/5/include/emmintrin.h:1180:1: error: inlining failed in call to always_inline '_mm_srli_si128': target specific option mismatch
compress.c: _mm_srli_si128 (__m128i __A, const int __N)
compress.c: ^
compress.c: compress.c:67:20: error: called from here
compress.c: c[i + 31] ^= _mm_srli_si128(u,13);
compress.c: ^
compress.c: ...

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