Implementation notes: amd64, utrecht, crypto_hash/fugue256

Computer: utrecht
Architecture: amd64
CPU ID: GenuineIntel-000006fb-bfebfbff
SUPERCOP version: 20160806
Operation: crypto_hash
Primitive: fugue256
TimeImplementationCompilerBenchmark dateSUPERCOP version
45288ANSI_opt64gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
48069sphlibgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
49689ANSI_opt64gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
49950ANSI_opt32gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
50472ANSI_opt64gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
54639sphlibgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
54945sphlibgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
56124ANSI_opt64gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
57690sphlibgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
58599ccalik/vpermgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
58788ccalik/vpermgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
61731ccalik/vpermgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
62829ccalik/vpermgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
64395ANSI_opt32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
64548ANSI_opt32gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
70497ANSI_opt32gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731

Checksum failure

Implementation: crypto_hash/fugue256/SSSE3
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
6280e50d7cb4daa1fd7b5765ca468406e644b95f6678e7009fd179f21e556418
Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv SSSE3
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv SSSE3
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv SSSE3
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv SSSE3

Compiler output

Implementation: crypto_hash/fugue256/SSSE3
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
hash.c: In file included from fugue_256_ssse3_code.h:15:0,
hash.c: from hash.c:22:
hash.c: aestab.h:53:92: warning: backslash and newline separated by space [enabled by default]
hash.c: w(r,0x8c), w(r,0xa1), w(r,0x89), w(r,0x0d), w(r,0xbf), w(r,0xe6), w(r,0x42), w(r,0x68),\
hash.c: ^
hash.c: In file included from hash.c:22:0:
hash.c: fugue_256_ssse3_code.h:111:23: warning: backslash and newline separated by space [enabled by default]
hash.c: t0 = xmm_out ; \
hash.c: ^

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

Compiler output

Implementation: crypto_hash/fugue256/SSE4.1
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
hash.c: In file included from hash.c:23:0:
hash.c: /usr/lib/gcc/x86_64-linux-gnu/4.8/include/smmintrin.h:31:3: error: #error "SSE4.1 instruction set not enabled"
hash.c: # error "SSE4.1 instruction set not enabled"
hash.c: ^
hash.c: In file included from fugue_256_sse4_code.h:15:0,
hash.c: from hash.c:24:
hash.c: aestab.h:53:92: warning: backslash and newline separated by space [enabled by default]
hash.c: w(r,0x8c), w(r,0xa1), w(r,0x89), w(r,0x0d), w(r,0xbf), w(r,0xe6), w(r,0x42), w(r,0x68),\
hash.c: ^
hash.c: In file included from hash.c:24:0:
hash.c: fugue_256_sse4_code.h:344:16: error: unknown type name '__m128i'
hash.c: void print_xmm(__m128i xmm_var, const char * s)
hash.c: ^
hash.c: hash.c: In function 'crypto_hash_fugue256_SSE4_1':
hash.c: hash.c:76:5: error: unknown type name '__m128i'
hash.c: __m128i row_shuffle_mask;
hash.c: ^
hash.c: hash.c:77:5: error: unknown type name '__m128i'
hash.c: __m128i mask_0to0;
hash.c: ^
hash.c: hash.c:78:5: error: unknown type name '__m128i'
hash.c: __m128i mask_123to123;
hash.c: ^
hash.c: hash.c:79:5: error: unknown type name '__m128i'
hash.c: __m128i zero_xmm;
hash.c: ...

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

Compiler output

Implementation: crypto_hash/fugue256/ccalik/aesni
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
hash.c: In file included from hash.c:26:0:
hash.c: /usr/lib/gcc/x86_64-linux-gnu/4.8/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
hash.c: # error "AES/PCLMUL instructions not enabled"
hash.c: ^
hash.c: hash.c: In function 'Compress256':
hash.c: hash.c:250:8: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: _t2 = _mm_aesenclast_si128(_t2, M128(_zero))
hash.c: ^
hash.c: hash.c:340:2: note: in expansion of macro 'SUBSTITUTE'
hash.c: SUBSTITUTE(r0, _t1, _t2, _t3, _t0);\
hash.c: ^
hash.c: hash.c:449:4: note: in expansion of macro 'SUBROUND256_2'
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:250:8: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: _t2 = _mm_aesenclast_si128(_t2, M128(_zero))
hash.c: ^
hash.c: hash.c:347:2: note: in expansion of macro 'SUBSTITUTE'
hash.c: SUBSTITUTE(s0, _t1, _t2, _t3, _t0);\
hash.c: ^
hash.c: hash.c:449:4: note: in expansion of macro 'SUBROUND256_2'
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:250:8: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: _t2 = _mm_aesenclast_si128(_t2, M128(_zero))
hash.c: ...

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