Implementation notes: amd64, floodyberry, crypto_hash/fugue512

Computer: floodyberry
Architecture: amd64
CPU ID: GenuineIntel-00010676-bfebfbff
SUPERCOP version: 20140505
Operation: crypto_hash
Primitive: fugue512
TimeImplementationCompilerBenchmark dateSUPERCOP version
65125ccalik/vpermgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
65137ccalik/vpermicc -m64 -O3 -static -xHost -fomit-frame-pointer2014050720140505
65225ccalik/vpermicc -m64 -O1 -static -xHost -fomit-frame-pointer2014050720140505
65462ccalik/vpermgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
77900ccalik/vpermclang -O1 -march=native -m64 -fomit-frame-pointer2014050720140505
89587sphlibicc -m64 -O3 -static -xHost -fomit-frame-pointer2014050720140505
95025sphlibclang -O1 -march=native -m64 -fomit-frame-pointer2014050720140505
95575sphlibclang -O3 -march=native -m64 -fomit-frame-pointer2014050720140505
96025sphlibicc -m64 -O1 -static -xHost -fomit-frame-pointer2014050720140505
116775sphlibgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
117587sphlibgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
118725sphlibgcc -m64 -O3 -fomit-frame-pointer2014050720140505
118913sphlibgcc -m64 -O2 -fomit-frame-pointer2014050720140505

Test failure

Implementation: crypto_hash/fugue512/ccalik/vperm
Compiler: clang -O3 -march=native -m64 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
clang -O3 -march=native -m64 -fomit-frame-pointer ccalik/vperm
icc -m64 -O1 -static -xHost -fomit-frame-pointer ccalik/aesni
icc -m64 -O3 -static -xHost -fomit-frame-pointer ccalik/aesni

Compiler output

Implementation: crypto_hash/fugue512/ccalik/aesni
Compiler: clang -O1 -march=native -m64 -fomit-frame-pointer
hash.c: In file included from hash.c:26:
hash.c: /usr/bin/../lib/clang/3.4/include/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 -O1 -march=native -m64 -fomit-frame-pointer ccalik/aesni
clang -O3 -march=native -m64 -fomit-frame-pointer ccalik/aesni

Compiler output

Implementation: crypto_hash/fugue512/ccalik/aesni
Compiler: gcc -m64 -O2 -fomit-frame-pointer
hash.c: In file included from hash_api.h:29:0,
hash.c: from hash.c:20:
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:20:0:
hash.c: hash_api.h:35:2: error: unknown type name '__m128i'
hash.c: In file included from hash.c:26:0:
hash.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
hash.c: hash.c: In function 'Compress256':
hash.c: hash.c:448:4: error: incompatible type for argument 1 of '_mm_shuffle_epi32'
hash.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/emmintrin.h:1378:1: note: expected '__m128i' but argument is of type 'int'
hash.c: hash.c:448:4: error: incompatible type for argument 1 of '_mm_xor_si128'
hash.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/emmintrin.h:1249:1: note: expected '__m128i' but argument is of type 'int'
hash.c: hash.c:448:4: error: incompatible type for argument 1 of '_mm_castsi128_ps'
hash.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/emmintrin.h:1500:1: note: expected '__m128i' but argument is of type 'int'
hash.c: hash.c:448:4: error: incompatible type for argument 1 of '_mm_xor_si128'
hash.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/emmintrin.h:1249:1: note: expected '__m128i' but argument is of type 'int'
hash.c: hash.c:448:4: error: incompatible type for argument 1 of '_mm_shuffle_epi32'
hash.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/emmintrin.h:1378:1: note: expected '__m128i' but argument is of type 'int'
hash.c: hash.c:448:4: error: incompatible type for argument 1 of '_mm_xor_si128'
hash.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/emmintrin.h:1249:1: note: expected '__m128i' but argument is of type 'int'
hash.c: hash.c:449:4: error: incompatible type for argument 1 of '_mm_shuffle_epi32'
hash.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/emmintrin.h:1378:1: note: expected '__m128i' but argument is of type 'int'
hash.c: hash.c:449:4: error: incompatible type for argument 1 of '_mm_shuffle_epi32'
hash.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/emmintrin.h:1378:1: note: expected '__m128i' but argument is of type 'int'
hash.c: hash.c:449:4: error: incompatible type for argument 1 of '_mm_xor_si128'
hash.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc -m64 -O2 -fomit-frame-pointer ccalik/aesni
gcc -m64 -O3 -fomit-frame-pointer ccalik/aesni

Compiler output

Implementation: crypto_hash/fugue512/ccalik/vperm
Compiler: gcc -m64 -O2 -fomit-frame-pointer
hash.c: In file included from hash_api.h:29:0,
hash.c: from hash.c:20:
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:20:0:
hash.c: hash_api.h:35:2: error: unknown type name '__m128i'
hash.c: hash.c: In function 'Compress256':
hash.c: hash.c:441:2: error: unknown type name '__m128i'
hash.c: hash.c:447:4: error: '__m128i' undeclared (first use in this function)
hash.c: hash.c:447:4: note: each undeclared identifier is reported only once for each function it appears in
hash.c: hash.c:447:4: error: expected expression before ')' token
hash.c: hash.c:447:4: error: expected expression before ')' token
hash.c: hash.c:447:4: error: expected expression before ')' token
hash.c: hash.c:447:4: error: expected expression before ')' token
hash.c: hash.c:448:4: error: expected expression before ')' token
hash.c: hash.c:448:4: error: expected expression before ')' token
hash.c: hash.c:448:4: error: expected expression before ')' token
hash.c: hash.c:448:4: error: expected expression before ')' token
hash.c: hash.c:448:4: error: expected expression before ')' token
hash.c: hash.c:448:4: error: expected expression before ')' token
hash.c: hash.c:448:4: error: expected expression before ')' token
hash.c: hash.c:448:4: error: expected expression before ')' token
hash.c: hash.c:448:4: error: expected expression before ')' token
hash.c: hash.c:448:4: error: expected expression before ')' token
hash.c: hash.c:448:4: error: expected expression before ')' token
hash.c: hash.c:448:4: error: expected expression before ')' token
hash.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc -m64 -O2 -fomit-frame-pointer ccalik/vperm
gcc -m64 -O3 -fomit-frame-pointer ccalik/vperm

Compiler output

Implementation: crypto_hash/fugue512/ccalik/aesni
Compiler: gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer
hash.c: In file included from hash.c:26:0:
hash.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
hash.c: hash.c: In function 'Compress256':
hash.c: hash.c:449:4: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:449:4: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:457:4: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:457:4: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:465:4: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:465:4: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:473:4: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:473:4: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:484:3: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:484:3: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:492:3: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:492:3: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:500:3: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:500:3: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:508:3: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:508:3: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:516:3: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:516:3: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c: In function 'Final256':
hash.c: hash.c:618:3: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:634:3: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:647:3: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: ...

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