Implementation notes: amd64, floodyberry, crypto_hash/blake64

Computer: floodyberry
Architecture: amd64
CPU ID: GenuineIntel-00010676-bfebfbff
SUPERCOP version: 20140505
Operation: crypto_hash
Primitive: blake64
TimeImplementationCompilerBenchmark dateSUPERCOP version
12112sphlibicc -m64 -O3 -static -xHost -fomit-frame-pointer2014050720140505
12150sphlibgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
12162sphlibgcc -m64 -O2 -fomit-frame-pointer2014050720140505
12162sphlibicc -m64 -O1 -static -xHost -fomit-frame-pointer2014050720140505
12225sphlibgcc -m64 -O3 -fomit-frame-pointer2014050720140505
12262sphlibgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
14513sphlibclang -O3 -march=native -m64 -fomit-frame-pointer2014050720140505
14712sphlib-smallgcc -m64 -O3 -fomit-frame-pointer2014050720140505
14850sphlib-smallgcc -m64 -O2 -fomit-frame-pointer2014050720140505
15113sphlib-smallgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
15125sphlib-smallgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
15562sphlibclang -O1 -march=native -m64 -fomit-frame-pointer2014050720140505
15625sphlib-smallicc -m64 -O3 -static -xHost -fomit-frame-pointer2014050720140505
15887sphlib-smallicc -m64 -O1 -static -xHost -fomit-frame-pointer2014050720140505
16712reficc -m64 -O3 -static -xHost -fomit-frame-pointer2014050720140505
16937refgcc -m64 -O2 -fomit-frame-pointer2014050720140505
17125refgcc -m64 -O3 -fomit-frame-pointer2014050720140505
17137refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
17138refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
18600reficc -m64 -O1 -static -xHost -fomit-frame-pointer2014050720140505
19250ssse3gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
19275ssse3gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
20662sphlib-smallclang -O3 -march=native -m64 -fomit-frame-pointer2014050720140505
21750sse2gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
21762sse2gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
22288sse2gcc -m64 -O2 -fomit-frame-pointer2014050720140505
22350sse2gcc -m64 -O3 -fomit-frame-pointer2014050720140505
22475sphlib-smallclang -O1 -march=native -m64 -fomit-frame-pointer2014050720140505
23837refclang -O1 -march=native -m64 -fomit-frame-pointer2014050720140505

Test failure

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

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -O1 -march=native -m64 -fomit-frame-pointer sse2 ssse3
clang -O3 -march=native -m64 -fomit-frame-pointer ref sse2 ssse3

Compiler output

Implementation: crypto_hash/blake64/ssse3
Compiler: gcc -m64 -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/tmmintrin.h:31:3: error: #error "SSSE3 instruction set not enabled"
hash.c: hash.c: In function 'blake64_compress':
hash.c: hash.c:268:3: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:268:3: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:268:3: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:268:3: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:269:3: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:269:3: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:269:3: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:269:3: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:270:3: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:270:3: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:270:3: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:270:3: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:271:3: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:271:3: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:271:3: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:271:3: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:272:3: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:272:3: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:272:3: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:272:3: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:273:3: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: hash.c:273: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 -O2 -fomit-frame-pointer ssse3
gcc -m64 -O3 -fomit-frame-pointer ssse3

Compiler output

Implementation: crypto_hash/blake64/sse2
Compiler: icc -m64 -O1 -static -xHost -fomit-frame-pointer
hash.c: hash.c(123): error: cast to type "__m64" is not allowed
hash.c: row1b = _mm_set_epi64((__m64)state->gt;h[3],(__m64)state->gt;h[2]);
hash.c: ^
hash.c:
hash.c: hash.c(123): error: cast to type "__m64" is not allowed
hash.c: row1b = _mm_set_epi64((__m64)state->gt;h[3],(__m64)state->gt;h[2]);
hash.c: ^
hash.c:
hash.c: hash.c(124): error: cast to type "__m64" is not allowed
hash.c: row1a = _mm_set_epi64((__m64)state->gt;h[1],(__m64)state->gt;h[0]);
hash.c: ^
hash.c:
hash.c: hash.c(124): error: cast to type "__m64" is not allowed
hash.c: row1a = _mm_set_epi64((__m64)state->gt;h[1],(__m64)state->gt;h[0]);
hash.c: ^
hash.c:
hash.c: hash.c(125): error: cast to type "__m64" is not allowed
hash.c: row2b = _mm_set_epi64((__m64)state->gt;h[7],(__m64)state->gt;h[6]);
hash.c: ^
hash.c:
hash.c: hash.c(125): error: cast to type "__m64" is not allowed
hash.c: row2b = _mm_set_epi64((__m64)state->gt;h[7],(__m64)state->gt;h[6]);
hash.c: ^
hash.c:
hash.c: hash.c(126): error: cast to type "__m64" is not allowed
hash.c: ...

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

Compiler output

Implementation: crypto_hash/blake64/ssse3
Compiler: icc -m64 -O1 -static -xHost -fomit-frame-pointer
hash.c: hash.c(128): error: cast to type "__m64" is not allowed
hash.c: row1b = _mm_set_epi64((__m64)state->gt;h[3],(__m64)state->gt;h[2]);
hash.c: ^
hash.c:
hash.c: hash.c(128): error: cast to type "__m64" is not allowed
hash.c: row1b = _mm_set_epi64((__m64)state->gt;h[3],(__m64)state->gt;h[2]);
hash.c: ^
hash.c:
hash.c: hash.c(129): error: cast to type "__m64" is not allowed
hash.c: row1a = _mm_set_epi64((__m64)state->gt;h[1],(__m64)state->gt;h[0]);
hash.c: ^
hash.c:
hash.c: hash.c(129): error: cast to type "__m64" is not allowed
hash.c: row1a = _mm_set_epi64((__m64)state->gt;h[1],(__m64)state->gt;h[0]);
hash.c: ^
hash.c:
hash.c: hash.c(130): error: cast to type "__m64" is not allowed
hash.c: row2b = _mm_set_epi64((__m64)state->gt;h[7],(__m64)state->gt;h[6]);
hash.c: ^
hash.c:
hash.c: hash.c(130): error: cast to type "__m64" is not allowed
hash.c: row2b = _mm_set_epi64((__m64)state->gt;h[7],(__m64)state->gt;h[6]);
hash.c: ^
hash.c:
hash.c: hash.c(131): error: cast to type "__m64" is not allowed
hash.c: ...

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