Implementation notes: amd64, floodyberry, crypto_hash/bmw512

Computer: floodyberry
Architecture: amd64
CPU ID: GenuineIntel-00010676-bfebfbff
SUPERCOP version: 20140505
Operation: crypto_hash
Primitive: bmw512
TimeImplementationCompilerBenchmark dateSUPERCOP version
6800opt008_asm64gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
6863opt008_asm64icc -m64 -O3 -static -xHost -fomit-frame-pointer2014050720140505
6875opt008_asm64gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
6900opt008_asm64clang -O1 -march=native -m64 -fomit-frame-pointer2014050720140505
6925opt008_asm64gcc -m64 -O3 -fomit-frame-pointer2014050720140505
6950optc04icc -m64 -O1 -static -xHost -fomit-frame-pointer2014050720140505
6962opt008_asm64clang -O3 -march=native -m64 -fomit-frame-pointer2014050720140505
6975opt008_asm64gcc -m64 -O2 -fomit-frame-pointer2014050720140505
6975opt008_asm64icc -m64 -O1 -static -xHost -fomit-frame-pointer2014050720140505
7313optc03icc -m64 -O1 -static -xHost -fomit-frame-pointer2014050720140505
7537optc04icc -m64 -O3 -static -xHost -fomit-frame-pointer2014050720140505
7562optc01icc -m64 -O1 -static -xHost -fomit-frame-pointer2014050720140505
7562optc02icc -m64 -O1 -static -xHost -fomit-frame-pointer2014050720140505
7600optc03icc -m64 -O3 -static -xHost -fomit-frame-pointer2014050720140505
7713optc02icc -m64 -O3 -static -xHost -fomit-frame-pointer2014050720140505
7725optc01icc -m64 -O3 -static -xHost -fomit-frame-pointer2014050720140505
7800optbbeicc -m64 -O3 -static -xHost -fomit-frame-pointer2014050720140505
7838optc02gcc -m64 -O3 -fomit-frame-pointer2014050720140505
7838optabeicc -m64 -O3 -static -xHost -fomit-frame-pointer2014050720140505
7850optc01gcc -m64 -O3 -fomit-frame-pointer2014050720140505
7850optc02gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
7862optc01gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
7913optc02gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
7913optabeicc -m64 -O1 -static -xHost -fomit-frame-pointer2014050720140505
7925optc01gcc -m64 -O2 -fomit-frame-pointer2014050720140505
7925optbbeicc -m64 -O1 -static -xHost -fomit-frame-pointer2014050720140505
7937optc02gcc -m64 -O2 -fomit-frame-pointer2014050720140505
8112optbgbeicc -m64 -O3 -static -xHost -fomit-frame-pointer2014050720140505
8162optc01gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
8300optbbegcc -m64 -O3 -fomit-frame-pointer2014050720140505
8300optbgbegcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
8325optabegcc -m64 -O3 -fomit-frame-pointer2014050720140505
8350optbbegcc -m64 -O2 -fomit-frame-pointer2014050720140505
8350optc03gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
8362optbbegcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
8375optabegcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
8375optbbegcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
8375optc03gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
8375optabegcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
8388optabegcc -m64 -O2 -fomit-frame-pointer2014050720140505
8388optbgbegcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
8413optc03gcc -m64 -O2 -fomit-frame-pointer2014050720140505
8425optbgbegcc -m64 -O3 -fomit-frame-pointer2014050720140505
8437optabeclang -O1 -march=native -m64 -fomit-frame-pointer2014050720140505
8475optbgbegcc -m64 -O2 -fomit-frame-pointer2014050720140505
8538optc04gcc -m64 -O3 -fomit-frame-pointer2014050720140505
8550optc04gcc -m64 -O2 -fomit-frame-pointer2014050720140505
8563optbbeclang -O3 -march=native -m64 -fomit-frame-pointer2014050720140505
8575optc04gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
8600optc03gcc -m64 -O3 -fomit-frame-pointer2014050720140505
8613optbgbeicc -m64 -O1 -static -xHost -fomit-frame-pointer2014050720140505
8625optc04gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
8650optabeclang -O3 -march=native -m64 -fomit-frame-pointer2014050720140505
8650optbgbeclang -O3 -march=native -m64 -fomit-frame-pointer2014050720140505
8700optbgbeclang -O1 -march=native -m64 -fomit-frame-pointer2014050720140505
8763optbbeclang -O1 -march=native -m64 -fomit-frame-pointer2014050720140505
9288sphlibclang -O3 -march=native -m64 -fomit-frame-pointer2014050720140505
9425sphlibgcc -m64 -O3 -fomit-frame-pointer2014050720140505
9463sphlibgcc -m64 -O2 -fomit-frame-pointer2014050720140505
9475sphlibgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
9550optc01clang -O1 -march=native -m64 -fomit-frame-pointer2014050720140505
9562sphlibicc -m64 -O1 -static -xHost -fomit-frame-pointer2014050720140505
9575sphlibgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
9750optc01clang -O3 -march=native -m64 -fomit-frame-pointer2014050720140505
9787optc02clang -O1 -march=native -m64 -fomit-frame-pointer2014050720140505
9900optc02clang -O3 -march=native -m64 -fomit-frame-pointer2014050720140505
9925optc04clang -O3 -march=native -m64 -fomit-frame-pointer2014050720140505
9950optc04clang -O1 -march=native -m64 -fomit-frame-pointer2014050720140505
9988sphlibicc -m64 -O3 -static -xHost -fomit-frame-pointer2014050720140505
10062optc03clang -O3 -march=native -m64 -fomit-frame-pointer2014050720140505
10175optc03clang -O1 -march=native -m64 -fomit-frame-pointer2014050720140505
10587sphlibclang -O1 -march=native -m64 -fomit-frame-pointer2014050720140505
11650reficc -m64 -O3 -static -xHost -fomit-frame-pointer2014050720140505
11950sphlib-smallicc -m64 -O3 -static -xHost -fomit-frame-pointer2014050720140505
11987sphlib-smallclang -O3 -march=native -m64 -fomit-frame-pointer2014050720140505
12525sphlib-smallgcc -m64 -O2 -fomit-frame-pointer2014050720140505
12663sphlib-smallgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
13562sphlib-smallicc -m64 -O1 -static -xHost -fomit-frame-pointer2014050720140505
14562sphlib-smallgcc -m64 -O3 -fomit-frame-pointer2014050720140505
14575sphlib-smallgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
14850refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
14875refgcc -m64 -O3 -fomit-frame-pointer2014050720140505
14950refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
15000refgcc -m64 -O2 -fomit-frame-pointer2014050720140505
15575reficc -m64 -O1 -static -xHost -fomit-frame-pointer2014050720140505
17850refclang -O3 -march=native -m64 -fomit-frame-pointer2014050720140505
18275refclang -O1 -march=native -m64 -fomit-frame-pointer2014050720140505
21038sphlib-smallclang -O1 -march=native -m64 -fomit-frame-pointer2014050720140505

Compiler output

Implementation: crypto_hash/bmw512/optx86sse2
Compiler: clang -O1 -march=native -m64 -fomit-frame-pointer
BlueMidnightWish.c: BlueMidnightWish.c:390:44: warning: incompatible pointer types passing 'u_int64_t *' (aka 'unsigned long *') to parameter of type 'const __m128i *' [-Wincompatible-pointer-types]
BlueMidnightWish.c: _mm_store_si128(&p512[00], _mm_load_si128(&hashState512(state)->gt;DoublePipe[0]));
BlueMidnightWish.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BlueMidnightWish.c: /usr/bin/../lib/clang/3.4/include/emmintrin.h:1055:31: note: passing argument to parameter '__p' here
BlueMidnightWish.c: _mm_load_si128(__m128i const *__p)
BlueMidnightWish.c: ^
BlueMidnightWish.c: BlueMidnightWish.c:390:18: warning: incompatible pointer types passing 'u_int64_t *' (aka 'unsigned long *') to parameter of type '__m128i *' [-Wincompatible-pointer-types]
BlueMidnightWish.c: _mm_store_si128(&p512[00], _mm_load_si128(&hashState512(state)->gt;DoublePipe[0]));
BlueMidnightWish.c: ^~~~~~~~~
BlueMidnightWish.c: /usr/bin/../lib/clang/3.4/include/emmintrin.h:1169:26: note: passing argument to parameter '__p' here
BlueMidnightWish.c: _mm_store_si128(__m128i *__p, __m128i __b)
BlueMidnightWish.c: ^
BlueMidnightWish.c: BlueMidnightWish.c:391:44: warning: incompatible pointer types passing 'u_int64_t *' (aka 'unsigned long *') to parameter of type 'const __m128i *' [-Wincompatible-pointer-types]
BlueMidnightWish.c: _mm_store_si128(&p512[02], _mm_load_si128(&hashState512(state)->gt;DoublePipe[2]));
BlueMidnightWish.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BlueMidnightWish.c: /usr/bin/../lib/clang/3.4/include/emmintrin.h:1055:31: note: passing argument to parameter '__p' here
BlueMidnightWish.c: _mm_load_si128(__m128i const *__p)
BlueMidnightWish.c: ^
BlueMidnightWish.c: BlueMidnightWish.c:391:18: warning: incompatible pointer types passing 'u_int64_t *' (aka 'unsigned long *') to parameter of type '__m128i *' [-Wincompatible-pointer-types]
BlueMidnightWish.c: _mm_store_si128(&p512[02], _mm_load_si128(&hashState512(state)->gt;DoublePipe[2]));
BlueMidnightWish.c: ^~~~~~~~~
BlueMidnightWish.c: /usr/bin/../lib/clang/3.4/include/emmintrin.h:1169:26: note: passing argument to parameter '__p' here
BlueMidnightWish.c: _mm_store_si128(__m128i *__p, __m128i __b)
BlueMidnightWish.c: ^
BlueMidnightWish.c: BlueMidnightWish.c:392:44: warning: incompatible pointer types passing 'u_int64_t *' (aka 'unsigned long *') to parameter of type 'const __m128i *' [-Wincompatible-pointer-types]
BlueMidnightWish.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O1 -march=native -m64 -fomit-frame-pointer optx86sse2
clang -O3 -march=native -m64 -fomit-frame-pointer optx86sse2

Compiler output

Implementation: crypto_hash/bmw512/opt008_asm64
Compiler: clang -O1 -march=native -m64 -fomit-frame-pointer
Compress.s: clang: warning: argument unused during compilation: '-fomit-frame-pointer'
Compress.s: clang: warning: argument unused during compilation: '-D SUPERCOP'
Compress.s: clang: warning: argument unused during compilation: '-I .'
Compress.s: clang: warning: argument unused during compilation: '-I /home/bloom/supercop-20140505/supercop-data/floodyberry/amd64/include'

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O1 -march=native -m64 -fomit-frame-pointer opt008_asm64
clang -O3 -march=native -m64 -fomit-frame-pointer opt008_asm64

Compiler output

Implementation: crypto_hash/bmw512/optx86sse2
Compiler: gcc -m64 -O2 -fomit-frame-pointer
BlueMidnightWish.c: BlueMidnightWish.c: In function 'Compress512':
BlueMidnightWish.c: BlueMidnightWish.c:390:2: warning: passing argument 1 of '_mm_load_si128' from incompatible pointer type [enabled by default]
BlueMidnightWish.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/emmintrin.h:677:1: note: expected 'const __vector(2) long long int *' but argument is of type 'u_int64_t *'
BlueMidnightWish.c: BlueMidnightWish.c:390:2: warning: passing argument 1 of '_mm_store_si128' from incompatible pointer type [enabled by default]
BlueMidnightWish.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/emmintrin.h:695:1: note: expected '__vector(2) long long int *' but argument is of type 'u_int64_t *'
BlueMidnightWish.c: BlueMidnightWish.c:391:2: warning: passing argument 1 of '_mm_load_si128' from incompatible pointer type [enabled by default]
BlueMidnightWish.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/emmintrin.h:677:1: note: expected 'const __vector(2) long long int *' but argument is of type 'u_int64_t *'
BlueMidnightWish.c: BlueMidnightWish.c:391:2: warning: passing argument 1 of '_mm_store_si128' from incompatible pointer type [enabled by default]
BlueMidnightWish.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/emmintrin.h:695:1: note: expected '__vector(2) long long int *' but argument is of type 'u_int64_t *'
BlueMidnightWish.c: BlueMidnightWish.c:392:2: warning: passing argument 1 of '_mm_load_si128' from incompatible pointer type [enabled by default]
BlueMidnightWish.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/emmintrin.h:677:1: note: expected 'const __vector(2) long long int *' but argument is of type 'u_int64_t *'
BlueMidnightWish.c: BlueMidnightWish.c:392:2: warning: passing argument 1 of '_mm_store_si128' from incompatible pointer type [enabled by default]
BlueMidnightWish.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/emmintrin.h:695:1: note: expected '__vector(2) long long int *' but argument is of type 'u_int64_t *'
BlueMidnightWish.c: BlueMidnightWish.c:393:2: warning: passing argument 1 of '_mm_load_si128' from incompatible pointer type [enabled by default]
BlueMidnightWish.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/emmintrin.h:677:1: note: expected 'const __vector(2) long long int *' but argument is of type 'u_int64_t *'
BlueMidnightWish.c: BlueMidnightWish.c:393:2: warning: passing argument 1 of '_mm_store_si128' from incompatible pointer type [enabled by default]
BlueMidnightWish.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/emmintrin.h:695:1: note: expected '__vector(2) long long int *' but argument is of type 'u_int64_t *'
BlueMidnightWish.c: BlueMidnightWish.c:394:2: warning: passing argument 1 of '_mm_load_si128' from incompatible pointer type [enabled by default]
BlueMidnightWish.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/emmintrin.h:677:1: note: expected 'const __vector(2) long long int *' but argument is of type 'u_int64_t *'
BlueMidnightWish.c: BlueMidnightWish.c:394:2: warning: passing argument 1 of '_mm_store_si128' from incompatible pointer type [enabled by default]
BlueMidnightWish.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/emmintrin.h:695:1: note: expected '__vector(2) long long int *' but argument is of type 'u_int64_t *'
BlueMidnightWish.c: BlueMidnightWish.c:395:2: warning: passing argument 1 of '_mm_load_si128' from incompatible pointer type [enabled by default]
BlueMidnightWish.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/emmintrin.h:677:1: note: expected 'const __vector(2) long long int *' but argument is of type 'u_int64_t *'
BlueMidnightWish.c: BlueMidnightWish.c:395:2: warning: passing argument 1 of '_mm_store_si128' from incompatible pointer type [enabled by default]
BlueMidnightWish.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/emmintrin.h:695:1: note: expected '__vector(2) long long int *' but argument is of type 'u_int64_t *'
BlueMidnightWish.c: ...

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

Compiler output

Implementation: crypto_hash/bmw512/optx86sse2
Compiler: icc -m64 -O1 -static -xHost -fomit-frame-pointer
BlueMidnightWish.c: BlueMidnightWish.c(390): warning #167: argument of type "u_int64_t={unsigned long} *" is incompatible with parameter of type "const __m128i *"
BlueMidnightWish.c: _mm_store_si128(&p512[00], _mm_load_si128(&hashState512(state)->gt;DoublePipe[0]));
BlueMidnightWish.c: ^
BlueMidnightWish.c:
BlueMidnightWish.c: BlueMidnightWish.c(390): warning #167: argument of type "u_int64_t={unsigned long} *" is incompatible with parameter of type "__m128i *"
BlueMidnightWish.c: _mm_store_si128(&p512[00], _mm_load_si128(&hashState512(state)->gt;DoublePipe[0]));
BlueMidnightWish.c: ^
BlueMidnightWish.c:
BlueMidnightWish.c: BlueMidnightWish.c(391): warning #167: argument of type "u_int64_t={unsigned long} *" is incompatible with parameter of type "const __m128i *"
BlueMidnightWish.c: _mm_store_si128(&p512[02], _mm_load_si128(&hashState512(state)->gt;DoublePipe[2]));
BlueMidnightWish.c: ^
BlueMidnightWish.c:
BlueMidnightWish.c: BlueMidnightWish.c(391): warning #167: argument of type "u_int64_t={unsigned long} *" is incompatible with parameter of type "__m128i *"
BlueMidnightWish.c: _mm_store_si128(&p512[02], _mm_load_si128(&hashState512(state)->gt;DoublePipe[2]));
BlueMidnightWish.c: ^
BlueMidnightWish.c:
BlueMidnightWish.c: BlueMidnightWish.c(392): warning #167: argument of type "u_int64_t={unsigned long} *" is incompatible with parameter of type "const __m128i *"
BlueMidnightWish.c: _mm_store_si128(&p512[04], _mm_load_si128(&hashState512(state)->gt;DoublePipe[4]));
BlueMidnightWish.c: ^
BlueMidnightWish.c:
BlueMidnightWish.c: BlueMidnightWish.c(392): warning #167: argument of type "u_int64_t={unsigned long} *" is incompatible with parameter of type "__m128i *"
BlueMidnightWish.c: _mm_store_si128(&p512[04], _mm_load_si128(&hashState512(state)->gt;DoublePipe[4]));
BlueMidnightWish.c: ^
BlueMidnightWish.c:
BlueMidnightWish.c: BlueMidnightWish.c(393): warning #167: argument of type "u_int64_t={unsigned long} *" is incompatible with parameter of type "const __m128i *"
BlueMidnightWish.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
icc -m64 -O1 -static -xHost -fomit-frame-pointer optx86sse2
icc -m64 -O3 -static -xHost -fomit-frame-pointer optx86sse2