Implementation notes: amd64, h4atom, crypto_hash/bmw256

Computer: h4atom
Architecture: amd64
CPU ID: GenuineIntel-000106ca-bfe9fbff
SUPERCOP version: 20160806
Operation: crypto_hash
Primitive: bmw256
TimeImplementationCompilerBenchmark dateSUPERCOP version
20760core_2_65nm/x86-64/ssse3_v1clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081220160806
20760core_2_65nm/x86-64/ssse3_v1gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
20768core_2_65nm/x86-64/ssse3_v1gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
20816core_2_65nm/x86-64/ssse3_v1gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
20816core_2_65nm/x86-64/ssse3_v1gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
20888opt29_v5_ssse3_asm64clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081220160806
20888opt29_v5_ssse3_asm64gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
20896opt29_v5_ssse3_asm64gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
20904opt29_v5_ssse3_asm64gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
20944opt29_v5_ssse3_asm64gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
22384amd_k10/x86-64/sse2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081120160806
22392amd_k10/x86-64/sse2clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081120160806
22400amd_k10/x86-64/sse2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081120160806
22408amd_k10/x86-64/sse2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081120160806
22432amd_k10/x86-64/sse2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081120160806
23160opt31ssse3_asm64gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
23168opt31ssse3_asm64gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
23200opt31ssse3_asm64gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
23208opt31ssse3_asm64clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081220160806
23432opt31ssse3_asm64gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
25728optabeclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081220160806
25736optbbeclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081220160806
26800optc01clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081220160806
27296amd_k8/x86-64/noSSEclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081120160806
27296amd_k8/x86-64/noSSEgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081120160806
27312amd_k8/x86-64/noSSEgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081120160806
27344amd_k8/x86-64/noSSEgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081120160806
27400amd_k8/x86-64/noSSEgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081120160806
28024optc03clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081220160806
28120optc02clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081220160806
28176optbgbeclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081220160806
28176optc04clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081220160806
28272sphlibclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081220160806
28616optc03gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
28616optc03gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
28840optc04gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
28848optc04gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
29496optabegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
29496optbbegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
29528optbbegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
29640optabegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
29904optc01gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
29920optc01gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
29992optbbegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
30016optabegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
30024optc01gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
30040optc02gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
30048optc02gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
31336optbgbegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
31480optbgbegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
33024optc03gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
33072sphlibgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
33200sphlibgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
33824sphlib-smallgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
34184optc04gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
34264optc02gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
34720optbgbegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
35288optc04gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
35384optbbegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
35424optabegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
35576sphlib-smallgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
35704optbgbegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
35856optc03gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
36440optc01gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
36592sphlibgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
36656optc02gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
39712sphlib-smallclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081220160806
40016sphlib-smallgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
40192sphlibgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
41760sphlib-smallgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
66688refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
66872refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
68488refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081220160806
75800refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
165224refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806

Test failure

Implementation: crypto_hash/bmw256/core_2_45nm/x86-64/sse4_v1
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
error 111

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments core_2_45nm/x86-64/sse4_v1 core_i7_45nm/x86-64/sse4_v1
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv core_2_45nm/x86-64/sse4_v1 core_i7_45nm/x86-64/sse4_v1
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv core_2_45nm/x86-64/sse4_v1 core_i7_45nm/x86-64/sse4_v1
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv core_2_45nm/x86-64/sse4_v1 core_i7_45nm/x86-64/sse4_v1
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv core_2_45nm/x86-64/sse4_v1 core_i7_45nm/x86-64/sse4_v1

Compiler output

Implementation: crypto_hash/bmw256/optc01
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
BlueMidnightWish.c: BlueMidnightWish.c:1326:86: warning: '&' within '^' [-Wbitwise-op-parentheses]
BlueMidnightWish.c: hashState256(state)->gt;LastPart[LastByte] = hashState256(state)->gt;LastPart[LastByte] & (0xff BlueMidnightWish.c: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BlueMidnightWish.c: BlueMidnightWish.c:1326:86: note: place parentheses around the '&' expression to silence this warning
BlueMidnightWish.c: hashState256(state)->gt;LastPart[LastByte] = hashState256(state)->gt;LastPart[LastByte] & (0xff BlueMidnightWish.c: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BlueMidnightWish.c: BlueMidnightWish.c:1360:86: warning: '&' within '^' [-Wbitwise-op-parentheses]
BlueMidnightWish.c: hashState512(state)->gt;LastPart[LastByte] = hashState512(state)->gt;LastPart[LastByte] & (0xff BlueMidnightWish.c: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BlueMidnightWish.c: BlueMidnightWish.c:1360:86: note: place parentheses around the '&' expression to silence this warning
BlueMidnightWish.c: hashState512(state)->gt;LastPart[LastByte] = hashState512(state)->gt;LastPart[LastByte] & (0xff BlueMidnightWish.c: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BlueMidnightWish.c: 2 warnings generated.

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

Compiler output

Implementation: crypto_hash/bmw256/optc03
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
BlueMidnightWish.c: BlueMidnightWish.c:735:84: warning: '&' within '^' [-Wbitwise-op-parentheses]
BlueMidnightWish.c: hashState256_(state).LastPart[LastByte] = hashState256_(state).LastPart[LastByte] & (0xff BlueMidnightWish.c: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BlueMidnightWish.c: BlueMidnightWish.c:735:84: note: place parentheses around the '&' expression to silence this warning
BlueMidnightWish.c: hashState256_(state).LastPart[LastByte] = hashState256_(state).LastPart[LastByte] & (0xff BlueMidnightWish.c: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BlueMidnightWish.c: 1 warning generated.

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

Compiler output

Implementation: crypto_hash/bmw256/optc04
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
BlueMidnightWish.c: BlueMidnightWish.c:865:84: warning: '&' within '^' [-Wbitwise-op-parentheses]
BlueMidnightWish.c: hashState256_(state).LastPart[LastByte] = hashState256_(state).LastPart[LastByte] & (0xff BlueMidnightWish.c: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BlueMidnightWish.c: BlueMidnightWish.c:865:84: note: place parentheses around the '&' expression to silence this warning
BlueMidnightWish.c: hashState256_(state).LastPart[LastByte] = hashState256_(state).LastPart[LastByte] & (0xff BlueMidnightWish.c: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BlueMidnightWish.c: 1 warning generated.

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

Compiler output

Implementation: crypto_hash/bmw256/optc02
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
BlueMidnightWish.c: BlueMidnightWish.c:878:84: warning: '&' within '^' [-Wbitwise-op-parentheses]
BlueMidnightWish.c: hashState256(state)->gt;LastPart[LastByte] = hashState256(state)->gt;LastPart[LastByte] & (0xff BlueMidnightWish.c: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BlueMidnightWish.c: BlueMidnightWish.c:878:84: note: place parentheses around the '&' expression to silence this warning
BlueMidnightWish.c: hashState256(state)->gt;LastPart[LastByte] = hashState256(state)->gt;LastPart[LastByte] & (0xff BlueMidnightWish.c: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BlueMidnightWish.c: 1 warning generated.

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

Compiler output

Implementation: crypto_hash/bmw256/optc31ssse3
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
Compress256_sse_31.c: Compress256_sse_31.c:374:18: warning: incompatible pointer types passing 'u_int32_t *' (aka 'unsigned int *') to parameter of type '__m128i *' [-Wincompatible-pointer-types]
Compress256_sse_31.c: _mm_store_si128(&p256[00], copyTemp);
Compress256_sse_31.c: ^~~~~~~~~
Compress256_sse_31.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/emmintrin.h:1226:26: note: passing argument to parameter '__p' here
Compress256_sse_31.c: _mm_store_si128(__m128i *__p, __m128i __b)
Compress256_sse_31.c: ^
Compress256_sse_31.c: Compress256_sse_31.c:377:28: warning: incompatible pointer types passing 'u_int32_t *' (aka 'unsigned int *') to parameter of type 'const __m128i *' [-Wincompatible-pointer-types]
Compress256_sse_31.c: copyTemp = _mm_load_si128(&hashState256(state)->gt;DoublePipe[ 4]);
Compress256_sse_31.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Compress256_sse_31.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/emmintrin.h:1106:31: note: passing argument to parameter '__p' here
Compress256_sse_31.c: _mm_load_si128(__m128i const *__p)
Compress256_sse_31.c: ^
Compress256_sse_31.c: Compress256_sse_31.c:378:18: warning: incompatible pointer types passing 'u_int32_t *' (aka 'unsigned int *') to parameter of type '__m128i *' [-Wincompatible-pointer-types]
Compress256_sse_31.c: _mm_store_si128(&p256[04], copyTemp);
Compress256_sse_31.c: ^~~~~~~~~
Compress256_sse_31.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/emmintrin.h:1226:26: note: passing argument to parameter '__p' here
Compress256_sse_31.c: _mm_store_si128(__m128i *__p, __m128i __b)
Compress256_sse_31.c: ^
Compress256_sse_31.c: Compress256_sse_31.c:379:28: warning: incompatible pointer types passing 'u_int32_t *' (aka 'unsigned int *') to parameter of type 'const __m128i *' [-Wincompatible-pointer-types]
Compress256_sse_31.c: copyTemp = _mm_load_si128(&hashState256(state)->gt;DoublePipe[ 8]);
Compress256_sse_31.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Compress256_sse_31.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/emmintrin.h:1106:31: note: passing argument to parameter '__p' here
Compress256_sse_31.c: _mm_load_si128(__m128i const *__p)
Compress256_sse_31.c: ^
Compress256_sse_31.c: Compress256_sse_31.c:380:18: warning: incompatible pointer types passing 'u_int32_t *' (aka 'unsigned int *') to parameter of type '__m128i *' [-Wincompatible-pointer-types]
Compress256_sse_31.c: ...

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

Compiler output

Implementation: crypto_hash/bmw256/opt31ssse3_asm64
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
wrapper.c: wrapper.c:37:9: warning: 'crypto_hash_BYTES' macro redefined [-Wmacro-redefined]
wrapper.c: #define crypto_hash_BYTES 32
wrapper.c: ^
wrapper.c: ./crypto_hash.h:7:9: note: previous definition is here
wrapper.c: #define crypto_hash_BYTES crypto_hash_bmw256_BYTES
wrapper.c: ^
wrapper.c: wrapper.c:39:8: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
wrapper.c: extern Compress256(u_int32_t *data32, u_int32_t *data32_end, hashState *state);
wrapper.c: ~~~~~~ ^
wrapper.c: wrapper.c:238:34: warning: incompatible pointer types passing 'u_int32_t *' (aka 'unsigned int *') to parameter of type 'hashState *' [-Wincompatible-pointer-types]
wrapper.c: Compress256(data32, data32 +16, CONST32final-4); // TODO: This is a HACK...
wrapper.c: ^~~~~~~~~~~~~~
wrapper.c: wrapper.c:39:73: note: passing argument to parameter 'state' here
wrapper.c: extern Compress256(u_int32_t *data32, u_int32_t *data32_end, hashState *state);
wrapper.c: ^
wrapper.c: 3 warnings generated.

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

Compiler output

Implementation: crypto_hash/bmw256/optc31ssse3
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
Compress256_sse_31.c: Compress256_sse_31.c: In function 'Compress256':
Compress256_sse_31.c: Compress256_sse_31.c:374:18: warning: passing argument 1 of '_mm_store_si128' from incompatible pointer type [-Wincompatible-pointer-types]
Compress256_sse_31.c: _mm_store_si128(&p256[00], copyTemp);
Compress256_sse_31.c: ^
Compress256_sse_31.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/pmmintrin.h:31:0,
Compress256_sse_31.c: from /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:31,
Compress256_sse_31.c: from Compress256_sse_31.c:12:
Compress256_sse_31.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h:708:1: note: expected '__vector(2) long long int *' but argument is of type 'u_int32_t * {aka unsigned int *}'
Compress256_sse_31.c: _mm_store_si128 (__m128i *__P, __m128i __B)
Compress256_sse_31.c: ^
Compress256_sse_31.c: Compress256_sse_31.c:377:28: warning: passing argument 1 of '_mm_load_si128' from incompatible pointer type [-Wincompatible-pointer-types]
Compress256_sse_31.c: copyTemp = _mm_load_si128(&hashState256(state)->gt;DoublePipe[ 4]);
Compress256_sse_31.c: ^
Compress256_sse_31.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/pmmintrin.h:31:0,
Compress256_sse_31.c: from /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:31,
Compress256_sse_31.c: from Compress256_sse_31.c:12:
Compress256_sse_31.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h:690:1: note: expected 'const __vector(2) long long int *' but argument is of type 'u_int32_t * {aka unsigned int *}'
Compress256_sse_31.c: _mm_load_si128 (__m128i const *__P)
Compress256_sse_31.c: ^
Compress256_sse_31.c: Compress256_sse_31.c:378:18: warning: passing argument 1 of '_mm_store_si128' from incompatible pointer type [-Wincompatible-pointer-types]
Compress256_sse_31.c: _mm_store_si128(&p256[04], copyTemp);
Compress256_sse_31.c: ^
Compress256_sse_31.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/pmmintrin.h:31:0,
Compress256_sse_31.c: from /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:31,
Compress256_sse_31.c: from Compress256_sse_31.c:12:
Compress256_sse_31.c: ...

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

Compiler output

Implementation: crypto_hash/bmw256/opt31ssse3_asm64
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
wrapper.c: wrapper.c:37:0: warning: "crypto_hash_BYTES" redefined
wrapper.c: #define crypto_hash_BYTES 32
wrapper.c: ^
wrapper.c: In file included from wrapper.c:20:0:
wrapper.c: crypto_hash.h:7:0: note: this is the location of the previous definition
wrapper.c: #define crypto_hash_BYTES crypto_hash_bmw256_BYTES
wrapper.c: ^
wrapper.c: wrapper.c:39:8: warning: type defaults to 'int' in declaration of 'Compress256' [-Wimplicit-int]
wrapper.c: extern Compress256(u_int32_t *data32, u_int32_t *data32_end, hashState *state);
wrapper.c: ^
wrapper.c: wrapper.c: In function 'crypto_hash_bmw256_opt31ssse3_asm64':
wrapper.c: wrapper.c:238:34: warning: passing argument 3 of 'Compress256' from incompatible pointer type [-Wincompatible-pointer-types]
wrapper.c: Compress256(data32, data32 +16, CONST32final-4); // TODO: This is a HACK...
wrapper.c: ^
wrapper.c: wrapper.c:39:8: note: expected 'hashState * {aka struct gt; *}' but argument is of type 'u_int32_t * {aka unsigned int *}'
wrapper.c: extern Compress256(u_int32_t *data32, u_int32_t *data32_end, hashState *state);
wrapper.c: ^

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