Implementation notes: amd64, par, crypto_hash/bmw512

Computer: par
Architecture: amd64
CPU ID: GenuineIntel-000406c3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_hash
Primitive: bmw512
TimeImplementationCompilerBenchmark dateSUPERCOP version
13040opt008_asm64gcc -march=native -mcpu=native -O32016121420161026
13060opt008_asm64gcc -march=native -mcpu=native -O22016121420161026
13080opt008_asm64gcc -funroll-loops -march=native -mcpu=native -O22016121420161026
13080opt008_asm64gcc -funroll-loops -march=native -mcpu=native -O32016121420161026
13280opt008_asm64gcc -march=native -mcpu=native -Os2016121420161026
13300opt008_asm64gcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
13360optc01gcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
13400optc02gcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
13600optbbegcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
13660optabegcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
13660optc02gcc -march=native -mcpu=native -Os2016121420161026
13680optc04gcc -funroll-loops -march=native -mcpu=native -O22016121420161026
13680optc04gcc -funroll-loops -march=native -mcpu=native -O32016121420161026
13740optc01gcc -march=native -mcpu=native -Os2016121420161026
13780optabegcc -march=native -mcpu=native -Os2016121420161026
13780optbbegcc -march=native -mcpu=native -Os2016121420161026
13860optc03gcc -funroll-loops -march=native -mcpu=native -O22016121420161026
13980optc03gcc -funroll-loops -march=native -mcpu=native -O32016121420161026
14000optc02gcc -funroll-loops -march=native -mcpu=native -O32016121420161026
14020optc01gcc -funroll-loops -march=native -mcpu=native -O32016121420161026
14080optc04gcc -march=native -mcpu=native -O22016121420161026
14120optc02gcc -funroll-loops -march=native -mcpu=native -O22016121420161026
14120optc04gcc -march=native -mcpu=native -O32016121420161026
14160optc01gcc -funroll-loops -march=native -mcpu=native -O22016121420161026
14220optabegcc -funroll-loops -march=native -mcpu=native -O22016121420161026
14220optbbegcc -funroll-loops -march=native -mcpu=native -O22016121420161026
14220optabegcc -funroll-loops -march=native -mcpu=native -O32016121420161026
14220optbbegcc -funroll-loops -march=native -mcpu=native -O32016121420161026
14300optc03gcc -march=native -mcpu=native -O22016121420161026
14320optc03gcc -march=native -mcpu=native -O32016121420161026
14560optc02gcc -march=native -mcpu=native -O32016121420161026
14580optbbegcc -march=native -mcpu=native -O22016121420161026
14580optc01gcc -march=native -mcpu=native -O22016121420161026
14580optc01gcc -march=native -mcpu=native -O32016121420161026
14600optc02gcc -march=native -mcpu=native -O22016121420161026
14620optabegcc -march=native -mcpu=native -O22016121420161026
14620optabegcc -march=native -mcpu=native -O32016121420161026
14660optbgbegcc -funroll-loops -march=native -mcpu=native -O22016121420161026
14660optbgbegcc -funroll-loops -march=native -mcpu=native -O32016121420161026
14660optbbegcc -march=native -mcpu=native -O32016121420161026
14940optbgbegcc -march=native -mcpu=native -O32016121420161026
15020optbgbegcc -march=native -mcpu=native -O22016121420161026
15080optbgbegcc -march=native -mcpu=native -Os2016121420161026
15240sphlibgcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
15300optbgbegcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
15320sphlibgcc -funroll-loops -march=native -mcpu=native -O22016121420161026
15320sphlibgcc -funroll-loops -march=native -mcpu=native -O32016121420161026
15740optc03gcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
15740optc03gcc -march=native -mcpu=native -Os2016121420161026
15800sphlibgcc -march=native -mcpu=native -Os2016121420161026
15960sphlibgcc -march=native -mcpu=native -O32016121420161026
16000optc04gcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
16020sphlibgcc -march=native -mcpu=native -O22016121420161026
16400optc04gcc -march=native -mcpu=native -Os2016121420161026
20600sphlib-smallgcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
21120sphlib-smallgcc -funroll-loops -march=native -mcpu=native -O22016121420161026
21360sphlib-smallgcc -march=native -mcpu=native -O22016121420161026
21680sphlib-smallgcc -march=native -mcpu=native -Os2016121420161026
24320sphlib-smallgcc -march=native -mcpu=native -O32016121420161026
24800sphlib-smallgcc -funroll-loops -march=native -mcpu=native -O32016121420161026
26860refgcc -funroll-loops -march=native -mcpu=native -O32016121420161026
26940refgcc -funroll-loops -march=native -mcpu=native -O22016121420161026
27900refgcc -march=native -mcpu=native -O32016121420161026
28240refgcc -march=native -mcpu=native -O22016121420161026
53360refgcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
55100refgcc -march=native -mcpu=native -Os2016121420161026

Compiler output

Implementation: crypto_hash/bmw512/optx86sse2
Compiler: gcc -funroll-loops -march=native -mcpu=native -O2
BlueMidnightWish.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
BlueMidnightWish.c: BlueMidnightWish.c: In function 'Compress512':
BlueMidnightWish.c: BlueMidnightWish.c:390:44: warning: passing argument 1 of '_mm_load_si128' from incompatible pointer type [-Wincompatible-pointer-types]
BlueMidnightWish.c: _mm_store_si128(&p512[00], _mm_load_si128(&hashState512(state)->gt;DoublePipe[0]));
BlueMidnightWish.c: ^
BlueMidnightWish.c: In file included from BlueMidnightWish.c:12:0:
BlueMidnightWish.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/emmintrin.h:690:1: note: expected 'const __vector(2) long long int *' but argument is of type 'u_int64_t * {aka long unsigned int *}'
BlueMidnightWish.c: _mm_load_si128 (__m128i const *__P)
BlueMidnightWish.c: ^~~~~~~~~~~~~~
BlueMidnightWish.c: BlueMidnightWish.c:390:18: warning: passing argument 1 of '_mm_store_si128' from incompatible pointer type [-Wincompatible-pointer-types]
BlueMidnightWish.c: _mm_store_si128(&p512[00], _mm_load_si128(&hashState512(state)->gt;DoublePipe[0]));
BlueMidnightWish.c: ^
BlueMidnightWish.c: In file included from BlueMidnightWish.c:12:0:
BlueMidnightWish.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/emmintrin.h:708:1: note: expected '__vector(2) long long int *' but argument is of type 'u_int64_t * {aka long unsigned int *}'
BlueMidnightWish.c: _mm_store_si128 (__m128i *__P, __m128i __B)
BlueMidnightWish.c: ^~~~~~~~~~~~~~~
BlueMidnightWish.c: BlueMidnightWish.c:391:44: warning: passing argument 1 of '_mm_load_si128' from incompatible pointer type [-Wincompatible-pointer-types]
BlueMidnightWish.c: _mm_store_si128(&p512[02], _mm_load_si128(&hashState512(state)->gt;DoublePipe[2]));
BlueMidnightWish.c: ^
BlueMidnightWish.c: In file included from BlueMidnightWish.c:12:0:
BlueMidnightWish.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/emmintrin.h:690:1: note: expected 'const __vector(2) long long int *' but argument is of type 'u_int64_t * {aka long unsigned int *}'
BlueMidnightWish.c: _mm_load_si128 (__m128i const *__P)
BlueMidnightWish.c: ^~~~~~~~~~~~~~
BlueMidnightWish.c: BlueMidnightWish.c:391:18: warning: passing argument 1 of '_mm_store_si128' from incompatible pointer type [-Wincompatible-pointer-types]
BlueMidnightWish.c: _mm_store_si128(&p512[02], _mm_load_si128(&hashState512(state)->gt;DoublePipe[2]));
BlueMidnightWish.c: ...

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -march=native -mcpu=native -O2 optx86sse2
gcc -funroll-loops -march=native -mcpu=native -O3 optx86sse2
gcc -funroll-loops -march=native -mcpu=native -Os optx86sse2
gcc -march=native -mcpu=native -O2 optx86sse2
gcc -march=native -mcpu=native -O3 optx86sse2
gcc -march=native -mcpu=native -Os optx86sse2

Compiler output

Implementation: crypto_hash/bmw512/optc01
Compiler: gcc -funroll-loops -march=native -mcpu=native -O2
BlueMidnightWish.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
hash.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
try.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
try.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
measure.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead

Number of similar (compiler,implementation) pairs: 30, namely:
CompilerImplementations
gcc -funroll-loops -march=native -mcpu=native -O2 optc01 optc02 optc03 optc04 ref
gcc -funroll-loops -march=native -mcpu=native -O3 optc01 optc02 optc03 optc04 ref
gcc -funroll-loops -march=native -mcpu=native -Os optc01 optc02 optc03 optc04 ref
gcc -march=native -mcpu=native -O2 optc01 optc02 optc03 optc04 ref
gcc -march=native -mcpu=native -O3 optc01 optc02 optc03 optc04 ref
gcc -march=native -mcpu=native -Os optc01 optc02 optc03 optc04 ref

Compiler output

Implementation: crypto_hash/bmw512/sphlib
Compiler: gcc -funroll-loops -march=native -mcpu=native -O2
bmw.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
hash.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
try.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
try.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
measure.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead

Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
gcc -funroll-loops -march=native -mcpu=native -O2 sphlib sphlib-small
gcc -funroll-loops -march=native -mcpu=native -O3 sphlib sphlib-small
gcc -funroll-loops -march=native -mcpu=native -Os sphlib sphlib-small
gcc -march=native -mcpu=native -O2 sphlib sphlib-small
gcc -march=native -mcpu=native -O3 sphlib sphlib-small
gcc -march=native -mcpu=native -Os sphlib sphlib-small

Compiler output

Implementation: crypto_hash/bmw512/optbgbe
Compiler: gcc -funroll-loops -march=native -mcpu=native -O2
bmw_large_speed.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
hash.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
memxor.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
try.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
try.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
measure.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -march=native -mcpu=native -O2 optbgbe
gcc -funroll-loops -march=native -mcpu=native -O3 optbgbe
gcc -funroll-loops -march=native -mcpu=native -Os optbgbe
gcc -march=native -mcpu=native -O2 optbgbe
gcc -march=native -mcpu=native -O3 optbgbe
gcc -march=native -mcpu=native -Os optbgbe

Compiler output

Implementation: crypto_hash/bmw512/optabe
Compiler: gcc -funroll-loops -march=native -mcpu=native -O2
hash.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
try.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
try.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
measure.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead

Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
gcc -funroll-loops -march=native -mcpu=native -O2 optabe optbbe
gcc -funroll-loops -march=native -mcpu=native -O3 optabe optbbe
gcc -funroll-loops -march=native -mcpu=native -Os optabe optbbe
gcc -march=native -mcpu=native -O2 optabe optbbe
gcc -march=native -mcpu=native -O3 optabe optbbe
gcc -march=native -mcpu=native -Os optabe optbbe

Compiler output

Implementation: crypto_hash/bmw512/opt008_asm64
Compiler: gcc -funroll-loops -march=native -mcpu=native -O2
hash.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
update.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
Compress.s: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
try.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
try.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
measure.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -march=native -mcpu=native -O2 opt008_asm64
gcc -funroll-loops -march=native -mcpu=native -O3 opt008_asm64
gcc -funroll-loops -march=native -mcpu=native -Os opt008_asm64
gcc -march=native -mcpu=native -O2 opt008_asm64
gcc -march=native -mcpu=native -O3 opt008_asm64
gcc -march=native -mcpu=native -Os opt008_asm64