Implementation notes: amd64, h4atom, crypto_hash/fugue512

Computer: h4atom
Architecture: amd64
CPU ID: GenuineIntel-000106ca-bfe9fbff
SUPERCOP version: 20160806
Operation: crypto_hash
Primitive: fugue512
TimeImplementationCompilerBenchmark dateSUPERCOP version
195704sphlibclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081220160806
213712sphlibgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
215168sphlibgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
217368sphlibgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
294512sphlibgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
336480ccalik/vpermclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081220160806
383568ccalik/vpermgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
383608ccalik/vpermgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
391512ccalik/vpermgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
436952ccalik/vpermgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806

Compiler output

Implementation: crypto_hash/fugue512/ccalik/aesni
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
hash.c: hash.c:449:4: error: always_inline function '_mm_aesenclast_si128' requires target feature 'aes', but would be inlined into function 'Compress256' that is compiled without support for 'aes'
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: always_inline function '_mm_aesenclast_si128' requires target feature 'aes', but would be inlined into function 'Compress256' that is compiled without support for 'aes'
hash.c: hash.c:347:2: note: expanded from macro 'SUBROUND256_2'
hash.c: SUBSTITUTE(s0, _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:457:4: error: always_inline function '_mm_aesenclast_si128' requires target feature 'aes', but would be inlined into function 'Compress256' that is compiled without support for 'aes'
hash.c: SUBROUND256_2(ctx->gt;state[6], ctx->gt;state[7], ctx->gt;state[5], ctx->gt;state[0], ctx->gt;state[5], ctx->gt;state[6], ctx->gt;state[4], ctx->gt;state[9]);
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: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ccalik/aesni

Compiler output

Implementation: crypto_hash/fugue512/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: hash.c: In function 'Compress256':
hash.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/wmmintrin.h:69:1: error: inlining failed in call to always_inline '_mm_aesenclast_si128': target specific option mismatch
hash.c: _mm_aesenclast_si128 (__m128i __X, __m128i __Y)
hash.c: ^
hash.c: hash.c:250:8: error: called from here
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: In file included from hash.c:26:0:
hash.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/wmmintrin.h:69:1: error: inlining failed in call to always_inline '_mm_aesenclast_si128': target specific option mismatch
hash.c: _mm_aesenclast_si128 (__m128i __X, __m128i __Y)
hash.c: ^
hash.c: hash.c:250:8: error: called from here
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: ...

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