Implementation notes: x86, floodyberry, crypto_hash/blake256

Computer: floodyberry
Architecture: x86
CPU ID: GenuineIntel-00010676-bfebfbff
SUPERCOP version: 20140505
Operation: crypto_hash
Primitive: blake256
TimeImplementationCompilerBenchmark dateSUPERCOP version
13938ssse3icc -m32 -O3 -static -xHost -fomit-frame-pointer2014050720140505
14763ssse3icc -m32 -O1 -static -xHost -fomit-frame-pointer2014050720140505
14825vect128icc -m32 -O3 -static -xHost -fomit-frame-pointer2014050720140505
14950vect128icc -m32 -O1 -static -xHost -fomit-frame-pointer2014050720140505
15013vect128-mmxhackicc -m32 -O3 -static -xHost -fomit-frame-pointer2014050720140505
15237vect128gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
15688vect128gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
16813vect128-mmxhackicc -m32 -O1 -static -xHost -fomit-frame-pointer2014050720140505
17112sse2icc -m32 -O3 -static -xHost -fomit-frame-pointer2014050720140505
17600vect128-mmxhackgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
17850sse2-2icc -m32 -O3 -static -xHost -fomit-frame-pointer2014050720140505
17913sse2icc -m32 -O1 -static -xHost -fomit-frame-pointer2014050720140505
18125vect128-mmxhackgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
18138sse2-2icc -m32 -O1 -static -xHost -fomit-frame-pointer2014050720140505
19312sse2-2gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
19350sse2-2gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
19913sse2gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
20225sse2gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
25563sphlibicc -m32 -O3 -static -xHost -fomit-frame-pointer2014050720140505
26475sphlibicc -m32 -O1 -static -xHost -fomit-frame-pointer2014050720140505
27600bswapicc -m32 -O1 -static -xHost -fomit-frame-pointer2014050720140505
28037regsicc -m32 -O3 -static -xHost -fomit-frame-pointer2014050720140505
28100sphlibgcc -m32 -O2 -fomit-frame-pointer2014050720140505
28100sphlibgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
28113bswapicc -m32 -O3 -static -xHost -fomit-frame-pointer2014050720140505
28150sphlibgcc -m32 -O3 -fomit-frame-pointer2014050720140505
28350sphlibgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
28688regsicc -m32 -O1 -static -xHost -fomit-frame-pointer2014050720140505
28862bswapgcc -m32 -O3 -fomit-frame-pointer2014050720140505
29012bswapgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
29163bswapgcc -m32 -O2 -fomit-frame-pointer2014050720140505
29312bswapclang -O1 -march=native -m32 -fomit-frame-pointer2014050720140505
29600bswapgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
29988sphlibclang -O1 -march=native -m32 -fomit-frame-pointer2014050720140505
30250regsclang -O1 -march=native -m32 -fomit-frame-pointer2014050720140505
30375regsgcc -m32 -O2 -fomit-frame-pointer2014050720140505
30475sandygcc -m32 -O3 -fomit-frame-pointer2014050720140505
30487regsgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
30587sandygcc -m32 -O2 -fomit-frame-pointer2014050720140505
30612regsgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
30688regsgcc -m32 -O3 -fomit-frame-pointer2014050720140505
30775sandygcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
31012sandygcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
31312sandyicc -m32 -O3 -static -xHost -fomit-frame-pointer2014050720140505
31687sandyicc -m32 -O1 -static -xHost -fomit-frame-pointer2014050720140505
35950refgcc -m32 -O3 -fomit-frame-pointer2014050720140505
35988refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
36188sandyclang -O1 -march=native -m32 -fomit-frame-pointer2014050720140505
37987reficc -m32 -O3 -static -xHost -fomit-frame-pointer2014050720140505
38062refgcc -m32 -O2 -fomit-frame-pointer2014050720140505
38450refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
38587sphlib-smallicc -m32 -O3 -static -xHost -fomit-frame-pointer2014050720140505
38900sphlib-smallgcc -m32 -O3 -fomit-frame-pointer2014050720140505
38950sphlib-smallgcc -m32 -O2 -fomit-frame-pointer2014050720140505
39250sphlib-smallgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
39337sphlib-smallgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
39437sphlib-smallicc -m32 -O1 -static -xHost -fomit-frame-pointer2014050720140505
44525sphlib-smallclang -O1 -march=native -m32 -fomit-frame-pointer2014050720140505
45550reficc -m32 -O1 -static -xHost -fomit-frame-pointer2014050720140505
58888refclang -O1 -march=native -m32 -fomit-frame-pointer2014050720140505

Test failure

Implementation: crypto_hash/blake256/sse2
Compiler: clang -O1 -march=native -m32 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 20, namely:
CompilerImplementations
clang -O1 -march=native -m32 -fomit-frame-pointer sse2 sse2-2 sse41 sse41-2 ssse3
clang -O3 -march=native -m32 -fomit-frame-pointer bswap ref regs sandy sphlib sphlib-small sse2 sse2-2 sse41 sse41-2 ssse3
icc -m32 -O1 -static -xHost -fomit-frame-pointer sse41 sse41-2
icc -m32 -O3 -static -xHost -fomit-frame-pointer sse41 sse41-2

Compiler output

Implementation: crypto_hash/blake256/xop
Compiler: clang -O1 -march=native -m32 -fomit-frame-pointer
hash.c: hash.c:115:3: warning: implicit declaration of function '_mm_perm_epi8' is invalid in C99 [-Wimplicit-function-declaration]
hash.c: ROUND( 0);
hash.c: ^
hash.c: ./rounds.h:51:3: note: expanded from macro 'ROUND'
hash.c: LOAD_MSG_ ##r ##_1(buf1); \
hash.c: ^
hash.c: gt;:41:1: note: expanded from here
hash.c: LOAD_MSG_0_1
hash.c: ^
hash.c: ./load.xop.h:19:6: note: expanded from macro 'LOAD_MSG_0_1'
hash.c: s0 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(6),TOB(4),TOB(2),TOB(0)) ); \
hash.c: ^
hash.c: hash.c:115:3: error: assigning to '__m128i' from incompatible type 'int'
hash.c: ROUND( 0);
hash.c: ^
hash.c: ./rounds.h:51:3: note: expanded from macro 'ROUND'
hash.c: LOAD_MSG_ ##r ##_1(buf1); \
hash.c: ^
hash.c: gt;:41:1: note: expanded from here
hash.c: LOAD_MSG_0_1
hash.c: ^
hash.c: ./load.xop.h:19:4: note: expanded from macro 'LOAD_MSG_0_1'
hash.c: s0 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(6),TOB(4),TOB(2),TOB(0)) ); \
hash.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: hash.c:115:3: warning: implicit declaration of function '_mm_roti_epi32' is invalid in C99 [-Wimplicit-function-declaration]
hash.c: ...

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

Compiler output

Implementation: crypto_hash/blake256/vect128-mmxhack
Compiler: clang -O1 -march=native -m32 -fomit-frame-pointer
vector.c: vector.c:203:8: error: use of unknown builtin '__builtin_ia32_pshufd' [-Wimplicit-function-declaration]
vector.c: M0 = v32_shufrot(M0,1);
vector.c: ^
vector.c: ./vector.h:151:26: note: expanded from macro 'v32_shufrot'
vector.c: #define v32_shufrot(x,s) v32_shuf(x,XCAT(SHUFROT_,s))
vector.c: ^
vector.c: ./vector.h:140:18: note: expanded from macro 'v32_shuf'
vector.c: #define v32_shuf __builtin_ia32_pshufd
vector.c: ^
vector.c: vector.c:203:8: note: did you mean '__builtin_ia32_psubd'?
vector.c: ./vector.h:151:26: note: expanded from macro 'v32_shufrot'
vector.c: #define v32_shufrot(x,s) v32_shuf(x,XCAT(SHUFROT_,s))
vector.c: ^
vector.c: ./vector.h:140:18: note: expanded from macro 'v32_shuf'
vector.c: #define v32_shuf __builtin_ia32_pshufd
vector.c: ^
vector.c: vector.c:203:6: error: assigning to 'v32' (aka 'v4si') from incompatible type 'int'
vector.c: M0 = v32_shufrot(M0,1);
vector.c: ^ ~~~~~~~~~~~~~~~~~
vector.c: vector.c:205:6: error: assigning to 'v32' (aka 'v4si') from incompatible type 'int'
vector.c: M0 = v32_shufrot(M0,1);
vector.c: ^ ~~~~~~~~~~~~~~~~~
vector.c: vector.c:207:6: error: assigning to 'v32' (aka 'v4si') from incompatible type 'int'
vector.c: M0 = v32_shufrot(M0,1);
vector.c: ^ ~~~~~~~~~~~~~~~~~
vector.c: ...

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

Compiler output

Implementation: crypto_hash/blake256/vect128
Compiler: clang -O1 -march=native -m32 -fomit-frame-pointer
vector.c: vector.c:389:3: error: use of unknown builtin '__builtin_ia32_punpckldq128' [-Wimplicit-function-declaration]
vector.c: v32_interleave_inplace(M0,M2);
vector.c: ^
vector.c: ./vector.h:1038:17: note: expanded from macro 'v32_interleave_inplace'
vector.c: v32 c__ = v32_interleavel (a__, b__); \
vector.c: ^
vector.c: ./vector.h:100:27: note: expanded from macro 'v32_interleavel'
vector.c: #define v32_interleavel __builtin_ia32_punpckldq128
vector.c: ^
vector.c: vector.c:389:3: error: initializing 'v32' (aka 'v4si') with an expression of incompatible type 'int'
vector.c: v32_interleave_inplace(M0,M2);
vector.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vector.c: ./vector.h:1038:11: note: expanded from macro 'v32_interleave_inplace'
vector.c: v32 c__ = v32_interleavel (a__, b__); \
vector.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~
vector.c: vector.c:389:3: error: use of unknown builtin '__builtin_ia32_punpckhdq128' [-Wimplicit-function-declaration]
vector.c: ./vector.h:1039:17: note: expanded from macro 'v32_interleave_inplace'
vector.c: v32 d__ = v32_interleaveh (a__, b__); \
vector.c: ^
vector.c: ./vector.h:101:27: note: expanded from macro 'v32_interleaveh'
vector.c: #define v32_interleaveh __builtin_ia32_punpckhdq128
vector.c: ^
vector.c: vector.c:389:3: note: did you mean '__builtin_ia32_punpckldq128'?
vector.c: ./vector.h:1039:17: note: expanded from macro 'v32_interleave_inplace'
vector.c: v32 d__ = v32_interleaveh (a__, b__); \
vector.c: ...

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

Compiler output

Implementation: crypto_hash/blake256/sse41-2
Compiler: gcc -m32 -O2 -fomit-frame-pointer
hash.c: In file included from hash.c:2:0:
hash.c: blake256.h:176:1: error: unknown type name '__m128i'
hash.c: hash.c: In function 'blake256_compress':
hash.c: hash.c:53:3: error: unknown type name '__m128i'
hash.c: hash.c:54:3: error: unknown type name '__m128i'
hash.c: hash.c:55:3: error: unknown type name '__m128i'
hash.c: hash.c:56:3: error: unknown type name '__m128i'
hash.c: hash.c:58:3: error: unknown type name '__m128i'
hash.c: hash.c:59:3: error: unknown type name '__m128i'
hash.c: hash.c:60:3: error: unknown type name '__m128i'
hash.c: hash.c:64:3: error: unknown type name '__m128i'
hash.c: hash.c:93:3: error: unknown type name '__m128i'
hash.c: hash.c:93:39: error: '__m128i' undeclared (first use in this function)
hash.c: hash.c:93:39: note: each undeclared identifier is reported only once for each function it appears in
hash.c: hash.c:93:39: error: expected expression before ')' token
hash.c: hash.c:94:17: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'm1'
hash.c: hash.c:94:17: error: 'm1' undeclared (first use in this function)
hash.c: hash.c:94:39: error: expected expression before ')' token
hash.c: hash.c:95:17: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'm2'
hash.c: hash.c:95:17: error: 'm2' undeclared (first use in this function)
hash.c: hash.c:95:39: error: expected expression before ')' token
hash.c: hash.c:96:17: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'm3'
hash.c: hash.c:96:17: error: 'm3' undeclared (first use in this function)
hash.c: hash.c:96:39: error: expected expression before ')' token
hash.c: hash.c:101:10: error: expected expression before ')' token
hash.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m32 -O2 -fomit-frame-pointer sse41-2 xop
gcc -m32 -O3 -fomit-frame-pointer sse41-2 xop

Compiler output

Implementation: crypto_hash/blake256/sse41
Compiler: gcc -m32 -O2 -fomit-frame-pointer
hash.c: In file included from hash.c:3:0:
hash.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/emmintrin.h:32:3: error: #error "SSE2 instruction set not enabled"
hash.c: In file included from hash.c:4:0:
hash.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/tmmintrin.h:31:3: error: #error "SSSE3 instruction set not enabled"
hash.c: In file included from hash.c:5:0:
hash.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/smmintrin.h:32:3: error: #error "SSE4.1 instruction set not enabled"
hash.c: hash.c: In function 'blake256_compress':
hash.c: hash.c:68:3: error: unknown type name '__m128i'
hash.c: hash.c:69:3: error: unknown type name '__m128i'
hash.c: hash.c:70:3: error: unknown type name '__m128i'
hash.c: hash.c:71:3: error: unknown type name '__m128i'
hash.c: hash.c:100:3: error: unknown type name '__m128i'
hash.c: hash.c:101:3: error: unknown type name '__m128i'
hash.c: hash.c:102:3: error: unknown type name '__m128i'
hash.c: hash.c:104:41: error: '__m128i' undeclared (first use in this function)
hash.c: hash.c:104:41: note: each undeclared identifier is reported only once for each function it appears in
hash.c: hash.c:104:49: error: expected expression before ')' token
hash.c: hash.c:105:50: error: expected expression before ')' token
hash.c: hash.c:106:50: error: expected expression before ')' token
hash.c: hash.c:107:50: error: expected expression before ')' token
hash.c: In file included from hash.c:121:0:
hash.c: rounds.sse41.h:17:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.sse41.h:17:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.sse41.h:20:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.sse41.h:47:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc -m32 -O2 -fomit-frame-pointer sse41
gcc -m32 -O3 -fomit-frame-pointer sse41

Compiler output

Implementation: crypto_hash/blake256/ssse3
Compiler: gcc -m32 -O2 -fomit-frame-pointer
hash.c: In file included from hash.c:3:0:
hash.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/emmintrin.h:32:3: error: #error "SSE2 instruction set not enabled"
hash.c: In file included from hash.c:4:0:
hash.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/tmmintrin.h:31:3: error: #error "SSSE3 instruction set not enabled"
hash.c: hash.c: In function 'blake256_compress':
hash.c: hash.c:68:3: error: unknown type name '__m128i'
hash.c: hash.c:69:3: error: unknown type name '__m128i'
hash.c: hash.c:70:3: error: unknown type name '__m128i'
hash.c: hash.c:71:3: error: unknown type name '__m128i'
hash.c: hash.c:72:3: error: unknown type name '__m128i'
hash.c: hash.c:77:4: error: unknown type name '__m128i'
hash.c: hash.c:105:49: error: '__m128i' undeclared (first use in this function)
hash.c: hash.c:105:49: note: each undeclared identifier is reported only once for each function it appears in
hash.c: hash.c:105:57: error: expected expression before ')' token
hash.c: hash.c:106:57: error: expected expression before ')' token
hash.c: hash.c:107:57: error: expected expression before ')' token
hash.c: hash.c:108:57: error: expected expression before ')' token
hash.c: In file included from hash.c:122:0:
hash.c: rounds.ssse3.h:3:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.ssse3.h:3:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.ssse3.h:6:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.ssse3.h:27:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.ssse3.h:27:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.ssse3.h:30:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.ssse3.h:30:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc -m32 -O2 -fomit-frame-pointer ssse3
gcc -m32 -O3 -fomit-frame-pointer ssse3

Compiler output

Implementation: crypto_hash/blake256/sse2
Compiler: gcc -m32 -O2 -fomit-frame-pointer
hash.c: In file included from hash.c:3:0:
hash.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/emmintrin.h:32:3: error: #error "SSE2 instruction set not enabled"
hash.c: hash.c: In function 'blake256_compress':
hash.c: hash.c:73:3: error: unknown type name '__m128i'
hash.c: hash.c:74:3: error: unknown type name '__m128i'
hash.c: hash.c:78:5: error: unknown type name '__m128i'
hash.c: hash.c:107:15: error: '__m128i' undeclared (first use in this function)
hash.c: hash.c:107:15: note: each undeclared identifier is reported only once for each function it appears in
hash.c: hash.c:107:15: error: expected expression before ')' token
hash.c: hash.c:108:15: error: expected expression before ')' token
hash.c: hash.c:109:15: error: expected expression before ')' token
hash.c: hash.c:110:15: error: expected expression before ')' token
hash.c: hash.c:218:30: error: expected expression before ')' token
hash.c: hash.c:223:30: error: expected expression before ')' token

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc -m32 -O2 -fomit-frame-pointer sse2
gcc -m32 -O3 -fomit-frame-pointer sse2

Compiler output

Implementation: crypto_hash/blake256/sse2-2
Compiler: gcc -m32 -O2 -fomit-frame-pointer
hash.c: In file included from hash.c:3:0:
hash.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/emmintrin.h:32:3: error: #error "SSE2 instruction set not enabled"
hash.c: hash.c: In function 'blake256_compress':
hash.c: hash.c:78:3: error: unknown type name '__m128i'
hash.c: hash.c:79:3: error: unknown type name '__m128i'
hash.c: hash.c:83:5: error: unknown type name '__m128i'
hash.c: hash.c:112:15: error: '__m128i' undeclared (first use in this function)
hash.c: hash.c:112:15: note: each undeclared identifier is reported only once for each function it appears in
hash.c: hash.c:112:15: error: expected expression before ')' token
hash.c: hash.c:113:15: error: expected expression before ')' token
hash.c: hash.c:114:15: error: expected expression before ')' token
hash.c: hash.c:115:15: error: expected expression before ')' token
hash.c: hash.c:242:3: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__out'
hash.c: hash.c:242:3: error: '__out' undeclared (first use in this function)
hash.c: hash.c:242:3: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__in'
hash.c: hash.c:242:3: error: '__in' undeclared (first use in this function)
hash.c: hash.c:242:3: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__out'
hash.c: hash.c:242:3: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__in'
hash.c: hash.c:242:3: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__out'
hash.c: hash.c:242:3: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__in'
hash.c: hash.c:242:3: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__out'
hash.c: hash.c:242:3: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__in'
hash.c: hash.c:242:3: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__out'
hash.c: hash.c:242:3: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__in'
hash.c: hash.c:242:3: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__out'
hash.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc -m32 -O2 -fomit-frame-pointer sse2-2
gcc -m32 -O3 -fomit-frame-pointer sse2-2

Compiler output

Implementation: crypto_hash/blake256/vect128-mmxhack
Compiler: gcc -m32 -O2 -fomit-frame-pointer
vector.c: In file included from vector.c:7:0:
vector.c: vector.h:968:2: error: #error "I don't know how to vectorize on this architecture."
vector.c: vector.h:982:3: error: unknown type name 'v16'
vector.c: vector.h:987:3: error: unknown type name 'v8'
vector.c: vector.h:992:3: error: unknown type name 'v32'
vector.c: vector.h:997:3: error: unknown type name 'v64'
vector.c: vector.c:62:20: error: invalid initializer
vector.c: vector.c:63:20: error: invalid initializer
vector.c: vector.c:64:20: error: invalid initializer
vector.c: vector.c:65:20: error: invalid initializer
vector.c: In file included from vector.c:140:0:
vector.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/mmintrin.h:32:3: error: #error "MMX instruction set not enabled"
vector.c: In file included from vector.c:141:0:
vector.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/emmintrin.h:32:3: error: #error "SSE2 instruction set not enabled"
vector.c: vector.c:144:15: error: unknown type name 'v32'
vector.c: vector.c:144:24: error: unknown type name 'v32'
vector.c: vector.c:152:15: error: unknown type name 'v32'
vector.c: vector.c:152:24: error: unknown type name 'v32'
vector.c: vector.c: In function 'Blake_Compress':
vector.c: vector.c:783:15: error: 'v32' undeclared (first use in this function)
vector.c: vector.c:783:15: note: each undeclared identifier is reported only once for each function it appears in
vector.c: vector.c:783:19: error: expected expression before ')' token
vector.c: vector.c: In function 'blake256_update':
vector.c: vector.c:887:15: error: 'v32' undeclared (first use in this function)
vector.c: vector.c:887:19: error: expected expression before ')' token
vector.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc -m32 -O2 -fomit-frame-pointer vect128-mmxhack
gcc -m32 -O3 -fomit-frame-pointer vect128-mmxhack

Compiler output

Implementation: crypto_hash/blake256/vect128
Compiler: gcc -m32 -O2 -fomit-frame-pointer
vector.c: In file included from vector.c:7:0:
vector.c: vector.h:968:2: error: #error "I don't know how to vectorize on this architecture."
vector.c: vector.h:982:3: error: unknown type name 'v16'
vector.c: vector.h:987:3: error: unknown type name 'v8'
vector.c: vector.h:992:3: error: unknown type name 'v32'
vector.c: vector.h:997:3: error: unknown type name 'v64'
vector.c: vector.c:62:20: error: invalid initializer
vector.c: vector.c:63:20: error: invalid initializer
vector.c: vector.c:64:20: error: invalid initializer
vector.c: vector.c:65:20: error: invalid initializer
vector.c: vector.c:144:15: error: unknown type name 'v32'
vector.c: vector.c:144:24: error: unknown type name 'v32'
vector.c: vector.c:152:15: error: unknown type name 'v32'
vector.c: vector.c:152:24: error: unknown type name 'v32'
vector.c: vector.c: In function 'Blake_Compress':
vector.c: vector.c:783:15: error: 'v32' undeclared (first use in this function)
vector.c: vector.c:783:15: note: each undeclared identifier is reported only once for each function it appears in
vector.c: vector.c:783:19: error: expected expression before ')' token
vector.c: vector.c: In function 'blake256_update':
vector.c: vector.c:887:15: error: 'v32' undeclared (first use in this function)
vector.c: vector.c:887:19: error: expected expression before ')' token
vector.c: vector.c:902:19: error: expected expression before ')' token

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc -m32 -O2 -fomit-frame-pointer vect128
gcc -m32 -O3 -fomit-frame-pointer vect128

Compiler output

Implementation: crypto_hash/blake256/ssse3
Compiler: gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer
hash.c: In file included from hash.c:122:0:
hash.c: rounds.ssse3.h: In function 'blake256_compress':
hash.c: rounds.ssse3.h:3:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.ssse3.h:3:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.ssse3.h:6:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.ssse3.h:27:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.ssse3.h:27:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.ssse3.h:30:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.ssse3.h:30:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.ssse3.h:51:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.ssse3.h:51:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.ssse3.h:54:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.ssse3.h:54:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.ssse3.h:75:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.ssse3.h:75:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.ssse3.h:78:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.ssse3.h:99:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.ssse3.h:102:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.ssse3.h:102:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.ssse3.h:123:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.ssse3.h:123:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.ssse3.h:126:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.ssse3.h:126:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.ssse3.h:147:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.ssse3.h:147:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer ssse3
gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer ssse3

Compiler output

Implementation: crypto_hash/blake256/sse41
Compiler: gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer
hash.c: In file included from hash.c:5:0:
hash.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/smmintrin.h:32:3: error: #error "SSE4.1 instruction set not enabled"
hash.c: In file included from hash.c:121:0:
hash.c: rounds.sse41.h: In function 'blake256_compress':
hash.c: rounds.sse41.h:17:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.sse41.h:17:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.sse41.h:20:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.sse41.h:47:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.sse41.h:47:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.sse41.h:50:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.sse41.h:50:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.sse41.h:71:6: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: rounds.sse41.h:73:6: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: rounds.sse41.h:76:6: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: rounds.sse41.h:77:6: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: rounds.sse41.h:81:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.sse41.h:81:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.sse41.h:84:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.sse41.h:84:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.sse41.h:106:6: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: rounds.sse41.h:107:6: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: rounds.sse41.h:111:6: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: rounds.sse41.h:114:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.sse41.h:114:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: rounds.sse41.h:117:1: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
hash.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer sse41
gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer sse41

Compiler output

Implementation: crypto_hash/blake256/xop
Compiler: gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer
hash.c: hash.c: In function 'blake256_compress':
hash.c: hash.c:115:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:115:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:115:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:115:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:115:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:115:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:115:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:115:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:115:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:115:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:115:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:115:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:116:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:116:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:116:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:116:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:116:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:116:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:116:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:116:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:116:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:116:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:116:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:116:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer xop
gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer xop

Compiler output

Implementation: crypto_hash/blake256/sse41-2
Compiler: gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer
hash.c: hash.c: In function 'blake256_compress':
hash.c: hash.c:116:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:116:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:116:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:116:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:116:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:116:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:116:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:117:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:117:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:117:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:117:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:117:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:117:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:117:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:117:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:118:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:118:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:118:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:118:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:118:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:119:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:119:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:119:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:119:1: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer sse41-2
gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer sse41-2

Compiler output

Implementation: crypto_hash/blake256/xop
Compiler: icc -m32 -O1 -static -xHost -fomit-frame-pointer
hash.c: hash.c(115): error: a value of type "int" cannot be assigned to an entity of type "__m128i"
hash.c: ROUND( 0);
hash.c: ^
hash.c:
hash.c: hash.c(115): error: a value of type "int" cannot be assigned to an entity of type "__m128i"
hash.c: ROUND( 0);
hash.c: ^
hash.c:
hash.c: hash.c(115): error: a value of type "int" cannot be assigned to an entity of type "__m128i"
hash.c: ROUND( 0);
hash.c: ^
hash.c:
hash.c: hash.c(115): error: a value of type "int" cannot be assigned to an entity of type "__m128i"
hash.c: ROUND( 0);
hash.c: ^
hash.c:
hash.c: hash.c(115): error: a value of type "int" cannot be assigned to an entity of type "__m128i"
hash.c: ROUND( 0);
hash.c: ^
hash.c:
hash.c: hash.c(115): error: a value of type "int" cannot be assigned to an entity of type "__m128i"
hash.c: ROUND( 0);
hash.c: ^
hash.c:
hash.c: hash.c(115): error: a value of type "int" cannot be assigned to an entity of type "__m128i"
hash.c: ...

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

Compiler output

Implementation: crypto_hash/blake256/sse41
Compiler: icc -m32 -O1 -static -xHost -fomit-frame-pointer
try.c: ld: warning: skipping incompatible /opt/intel/composer_xe_2013_sp1.0.080/compiler/lib/intel64/libirc.a while searching for irc
try.c: ld: warning: skipping incompatible /opt/intel/composer_xe_2013_sp1.0.080/ipp/../compiler/lib/intel64/libirc.a while searching for irc
try.c: ld: warning: skipping incompatible /opt/intel/composer_xe_2013_sp1.0.080/compiler/lib/intel64/libirc.a while searching for irc

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

Compiler output

Implementation: crypto_hash/blake256/bswap
Compiler: icc -m32 -O1 -static -xHost -fomit-frame-pointer
try.c: ld: warning: skipping incompatible /opt/intel/composer_xe_2013_sp1.0.080/compiler/lib/intel64/libirc.a while searching for irc
try.c: ld: warning: skipping incompatible /opt/intel/composer_xe_2013_sp1.0.080/ipp/../compiler/lib/intel64/libirc.a while searching for irc
try.c: ld: warning: skipping incompatible /opt/intel/composer_xe_2013_sp1.0.080/compiler/lib/intel64/libirc.a while searching for irc
try.c: ld: warning: skipping incompatible /opt/intel/composer_xe_2013_sp1.0.080/compiler/lib/intel64/libirc.a while searching for irc
try.c: ld: warning: skipping incompatible /opt/intel/composer_xe_2013_sp1.0.080/ipp/../compiler/lib/intel64/libirc.a while searching for irc
try.c: ld: warning: skipping incompatible /opt/intel/composer_xe_2013_sp1.0.080/compiler/lib/intel64/libirc.a while searching for irc
measure.c: ld: warning: skipping incompatible /opt/intel/composer_xe_2013_sp1.0.080/compiler/lib/intel64/libirc.a while searching for irc
measure.c: ld: warning: skipping incompatible /opt/intel/composer_xe_2013_sp1.0.080/ipp/../compiler/lib/intel64/libirc.a while searching for irc
measure.c: ld: warning: skipping incompatible /opt/intel/composer_xe_2013_sp1.0.080/compiler/lib/intel64/libirc.a while searching for irc

Number of similar (compiler,implementation) pairs: 22, namely:
CompilerImplementations
icc -m32 -O1 -static -xHost -fomit-frame-pointer bswap ref regs sandy sphlib sphlib-small sse2 sse2-2 ssse3 vect128 vect128-mmxhack
icc -m32 -O3 -static -xHost -fomit-frame-pointer bswap ref regs sandy sphlib sphlib-small sse2 sse2-2 ssse3 vect128 vect128-mmxhack