Implementation notes: amd64, wintermute, crypto_hash/fugue384

Computer: wintermute
Architecture: amd64
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20140505
Operation: crypto_hash
Primitive: fugue384
TimeImplementationCompilerBenchmark dateSUPERCOP version
41080ccalik/vpermclang -O3 -mavx22014050820140505
41300ccalik/vpermclang -O3 -mavx2014050820140505

Compiler output

Implementation: crypto_hash/fugue384/ccalik/aesni
Compiler: cc
hash.c: In file included from hash.c:20:
hash.c: In file included from ./hash_api.h:29:
hash.c: /usr/include/clang/3.3/tmmintrin.h:28:2: error: "SSSE3 instruction set not enabled"
hash.c: #error "SSSE3 instruction set not enabled"
hash.c: ^
hash.c: In file included from hash.c:20:
hash.c: ./hash_api.h:35:2: error: unknown type name '__m128i'
hash.c: __m128i state[12];
hash.c: ^
hash.c: In file included from hash.c:26:
hash.c: /usr/include/clang/3.3/wmmintrin.h:30:3: error: "AES/PCLMUL instructions not enabled"
hash.c: # error "AES/PCLMUL instructions not enabled"
hash.c: ^
hash.c: hash.c:449:4: warning: implicit declaration of function '_mm_shuffle_epi8' is invalid in C99 [-Wimplicit-function-declaration]
hash.c: SUBROUND256_2(ctx->gt;state[8], ctx->gt;state[9], ctx->gt;state[7], ctx->gt;state[2], ctx->gt;state[7], ctx->gt;state[8], ctx->gt;state[6], ctx->gt;state[1]);
hash.c: ^
hash.c: hash.c:340:2: note: expanded from macro 'SUBROUND256_2'
hash.c: SUBSTITUTE(r0, _t1, _t2, _t3, _t0);\
hash.c: ^
hash.c: hash.c:249:10: note: expanded from macro 'SUBSTITUTE'
hash.c: _t2 = _mm_shuffle_epi8(r0, M128(_inv_shift_rows));\
hash.c: ^
hash.c: hash.c:449:4: warning: implicit declaration of function '_mm_aesenclast_si128' is invalid in C99 [-Wimplicit-function-declaration]
hash.c: hash.c:340:2: note: expanded from macro 'SUBROUND256_2'
hash.c: SUBSTITUTE(r0, _t1, _t2, _t3, _t0);\
hash.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
cc ccalik/aesni
clang -O3 ccalik/aesni

Compiler output

Implementation: crypto_hash/fugue384/ccalik/vperm
Compiler: cc
hash.c: In file included from hash.c:20:
hash.c: In file included from ./hash_api.h:29:
hash.c: /usr/include/clang/3.3/tmmintrin.h:28:2: error: "SSSE3 instruction set not enabled"
hash.c: #error "SSSE3 instruction set not enabled"
hash.c: ^
hash.c: In file included from hash.c:20:
hash.c: ./hash_api.h:35:2: error: unknown type name '__m128i'
hash.c: __m128i state[12];
hash.c: ^
hash.c: hash.c:442:2: error: use of undeclared identifier '__m128i'
hash.c: __m128i _t0, _t1, _t2, _t3;
hash.c: ^
hash.c: hash.c:448:77: error: use of undeclared identifier '_t0'
hash.c: TIX256(pmsg, ctx->gt;state[1], ctx->gt;state[0], ctx->gt;state[6], ctx->gt;state[8], _t0, _t1, _t2);
hash.c: ^
hash.c: hash.c:166:2: note: expanded from macro 'TIX256'
hash.c: t1 = _mm_shuffle_epi32(s0, _MM_SHUFFLE(3, 3, 0, 3));\
hash.c: ^
hash.c: hash.c:448:4: warning: implicit declaration of function '_mm_shuffle_epi32' is invalid in C99 [-Wimplicit-function-declaration]
hash.c: TIX256(pmsg, ctx->gt;state[1], ctx->gt;state[0], ctx->gt;state[6], ctx->gt;state[8], _t0, _t1, _t2);
hash.c: ^
hash.c: hash.c:166:7: note: expanded from macro 'TIX256'
hash.c: t1 = _mm_shuffle_epi32(s0, _MM_SHUFFLE(3, 3, 0, 3));\
hash.c: ^
hash.c: hash.c:448:4: warning: implicit declaration of function '_mm_xor_si128' is invalid in C99 [-Wimplicit-function-declaration]
hash.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
cc ccalik/vperm
clang -O3 ccalik/vperm

Compiler output

Implementation: crypto_hash/fugue384/ccalik/aesni
Compiler: clang -O3 -mavx
hash.c: In file included from hash.c:26:
hash.c: /usr/include/clang/3.3/wmmintrin.h:30:3: error: "AES/PCLMUL instructions not enabled"
hash.c: # error "AES/PCLMUL instructions not enabled"
hash.c: ^
hash.c: hash.c:449:4: warning: implicit declaration of function '_mm_aesenclast_si128' is invalid in C99 [-Wimplicit-function-declaration]
hash.c: SUBROUND256_2(ctx->gt;state[8], ctx->gt;state[9], ctx->gt;state[7], ctx->gt;state[2], ctx->gt;state[7], ctx->gt;state[8], ctx->gt;state[6], ctx->gt;state[1]);
hash.c: ^
hash.c: hash.c:340:2: note: expanded from macro 'SUBROUND256_2'
hash.c: SUBSTITUTE(r0, _t1, _t2, _t3, _t0);\
hash.c: ^
hash.c: hash.c:250:10: note: expanded from macro 'SUBSTITUTE'
hash.c: _t2 = _mm_aesenclast_si128(_t2, M128(_zero))
hash.c: ^
hash.c: hash.c:449:4: error: assigning to '__m128i' from incompatible type 'int'
hash.c: SUBROUND256_2(ctx->gt;state[8], ctx->gt;state[9], ctx->gt;state[7], ctx->gt;state[2], ctx->gt;state[7], ctx->gt;state[8], ctx->gt;state[6], ctx->gt;state[1]);
hash.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: hash.c:340:2: note: expanded from macro 'SUBROUND256_2'
hash.c: SUBSTITUTE(r0, _t1, _t2, _t3, _t0);\
hash.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: hash.c:250:8: note: expanded from macro 'SUBSTITUTE'
hash.c: _t2 = _mm_aesenclast_si128(_t2, M128(_zero))
hash.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: hash.c:449:4: error: assigning to '__m128i' from incompatible type 'int'
hash.c: SUBROUND256_2(ctx->gt;state[8], ctx->gt;state[9], ctx->gt;state[7], ctx->gt;state[2], ctx->gt;state[7], ctx->gt;state[8], ctx->gt;state[6], ctx->gt;state[1]);
hash.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O3 -mavx ccalik/aesni
clang -O3 -mavx2 ccalik/aesni