Implementation notes: amd64, h4atom, crypto_hash/groestl512

Computer: h4atom
Architecture: amd64
CPU ID: GenuineIntel-000106ca-bfe9fbff
SUPERCOP version: 20160806
Operation: crypto_hash
Primitive: groestl512
TimeImplementationCompilerBenchmark dateSUPERCOP version
190552opterongcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
191272opteronclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081220160806
191624opterongcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
192336opterongcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
193384opterongcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
215024core2duogcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
216048core2duogcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
216112core2duoclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081220160806
216912core2duogcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
217712core2duogcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
230240sphlib-adaptedgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
238840sphlibgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
239680sphlib-adaptedgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
240064sphlibgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
240072sphlibgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
240280sphlibgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
240336sphlib-adaptedgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
242952sphlib-adaptedgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
249704sphlibclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081220160806
251280opt64gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
251360opt64gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
252408sphlib-adaptedclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081220160806
252416opt64gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
262368opt64gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
318272sphlib-smallclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081220160806
343120sphlib-smallgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
352480sphlib-smallgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
353392opt32gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
365016opt32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
367160opt32gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
371616mmxgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
377904mmxclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081220160806
378056vpermgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
378504vpermgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
378704mmxgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
379568vpermgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
379840vpermgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
381168mmxgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
382112vperm-intrgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
384280sphlib-smallgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
392256opt32gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
397480mmxgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
413832vperm-intrgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
415512vperm-intrclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081220160806
432456opt32clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081220160806
433288vperm-intrgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
434128vperm-intrgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
464592sphlib-smallgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
93727232bit-bytesliced-c-smallgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
144583232bit-bytesliced-c-smallclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081220160806
166412832bit-bytesliced-c-smallgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
177131232bit-bytesliced-c-smallgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
265993632bit-bytesliced-c-smallgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806

Test failure

Implementation: crypto_hash/groestl512/aesni
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
error 111

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

Compiler output

Implementation: crypto_hash/groestl512/aesni-intr
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
hash.c: In file included from hash.c:28:
hash.c: ./groestl-intr-aes.h:848:3: error: always_inline function '_mm_aesenclast_si128' requires target feature 'aes', but would be inlined into function 'TF1024' that is compiled without support for 'aes'
hash.c: ROUNDS_P();
hash.c: ^
hash.c: ./groestl-intr-aes.h:552:5: note: expanded from macro 'ROUNDS_P'
hash.c: SUBMIX(xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7);\
hash.c: ^
hash.c: ./groestl-intr-aes.h:525:8: note: expanded from macro 'SUBMIX'
hash.c: a0 = _mm_aesenclast_si128(a0, b0);\
hash.c: ^
hash.c: ./groestl-intr-aes.h:848:3: error: always_inline function '_mm_aesenclast_si128' requires target feature 'aes', but would be inlined into function 'TF1024' that is compiled without support for 'aes'
hash.c: ./groestl-intr-aes.h:552:5: note: expanded from macro 'ROUNDS_P'
hash.c: SUBMIX(xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7);\
hash.c: ^
hash.c: ./groestl-intr-aes.h:526:8: note: expanded from macro 'SUBMIX'
hash.c: a1 = _mm_aesenclast_si128(a1, b0);\
hash.c: ^
hash.c: ./groestl-intr-aes.h:848:3: error: always_inline function '_mm_aesenclast_si128' requires target feature 'aes', but would be inlined into function 'TF1024' that is compiled without support for 'aes'
hash.c: ./groestl-intr-aes.h:552:5: note: expanded from macro 'ROUNDS_P'
hash.c: SUBMIX(xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7);\
hash.c: ^
hash.c: ./groestl-intr-aes.h:527:8: note: expanded from macro 'SUBMIX'
hash.c: a2 = _mm_aesenclast_si128(a2, b0);\
hash.c: ^
hash.c: ./groestl-intr-aes.h:848:3: error: always_inline function '_mm_aesenclast_si128' requires target feature 'aes', but would be inlined into function 'TF1024' that is compiled without support for 'aes'
hash.c: ...

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

Compiler output

Implementation: crypto_hash/groestl512/avx-intr
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
hash.c: In file included from hash.c:31:
hash.c: ./groestl-intr-avx.h:906:11: error: always_inline function '_mm256_castsi256_pd' requires target feature 'xsave', but would be inlined into function 'TF1024' that is compiled without support for 'xsave'
hash.c: ymm8 = insert_m128i_in_m256d(ymm8, xmm8, 0);
hash.c: ^
hash.c: ./groestl-intr-avx.h:33:47: note: expanded from macro 'insert_m128i_in_m256d'
hash.c: #define insert_m128i_in_m256d(ymm, xmm, pos) (_mm256_castsi256_pd(_mm256_insertf128_si256(_mm256_castpd_si256(ymm), xmm, pos)))
hash.c: ^
hash.c: ./groestl-intr-avx.h:906:11: error: always_inline function '_mm256_castpd_si256' requires target feature 'xsave', but would be inlined into function 'TF1024' that is compiled without support for 'xsave'
hash.c: ./groestl-intr-avx.h:33:91: note: expanded from macro 'insert_m128i_in_m256d'
hash.c: #define insert_m128i_in_m256d(ymm, xmm, pos) (_mm256_castsi256_pd(_mm256_insertf128_si256(_mm256_castpd_si256(ymm), xmm, pos)))
hash.c: ^
hash.c: ./groestl-intr-avx.h:906:11: error: always_inline function '_mm256_castsi128_si256' requires target feature 'xsave', but would be inlined into function 'TF1024' that is compiled without support for 'xsave'
hash.c: ./groestl-intr-avx.h:33:67: note: expanded from macro 'insert_m128i_in_m256d'
hash.c: #define insert_m128i_in_m256d(ymm, xmm, pos) (_mm256_castsi256_pd(_mm256_insertf128_si256(_mm256_castpd_si256(ymm), xmm, pos)))
hash.c: ^
hash.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/avxintrin.h:1183:13: note: expanded from macro '_mm256_insertf128_si256'
hash.c: (__v4di)_mm256_castsi128_si256((__m128i)(V2)), \
hash.c: ^
hash.c: In file included from hash.c:31:
hash.c: ./groestl-intr-avx.h:907:11: error: always_inline function '_mm256_castsi256_pd' requires target feature 'xsave', but would be inlined into function 'TF1024' that is compiled without support for 'xsave'
hash.c: ymm9 = insert_m128i_in_m256d(ymm9, xmm9, 0);
hash.c: ^
hash.c: ./groestl-intr-avx.h:33:47: note: expanded from macro 'insert_m128i_in_m256d'
hash.c: #define insert_m128i_in_m256d(ymm, xmm, pos) (_mm256_castsi256_pd(_mm256_insertf128_si256(_mm256_castpd_si256(ymm), xmm, pos)))
hash.c: ^
hash.c: ...

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

Compiler output

Implementation: crypto_hash/groestl512/vperm-intr
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
hash.c: hash.c:104:12: warning: comparison of array 'ctx->gt;chaining' equal to a null pointer is always false [-Wtautological-pointer-compare]
hash.c: if (ctx->gt;chaining == NULL || ctx->gt;buffer == NULL)
hash.c: ~~~~~^~~~~~~~ ~~~~
hash.c: hash.c:104:37: warning: comparison of array 'ctx->gt;buffer' equal to a null pointer is always false [-Wtautological-pointer-compare]
hash.c: if (ctx->gt;chaining == NULL || ctx->gt;buffer == NULL)
hash.c: ~~~~~^~~~~~ ~~~~
hash.c: 2 warnings generated.

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

Compiler output

Implementation: crypto_hash/groestl512/aesni
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
hash.c: hash.c:104:12: warning: comparison of array 'ctx->gt;chaining' equal to a null pointer is always false [-Wtautological-pointer-compare]
hash.c: if (ctx->gt;chaining == NULL || ctx->gt;buffer == NULL)
hash.c: ~~~~~^~~~~~~~ ~~~~
hash.c: hash.c:104:37: warning: comparison of array 'ctx->gt;buffer' equal to a null pointer is always false [-Wtautological-pointer-compare]
hash.c: if (ctx->gt;chaining == NULL || ctx->gt;buffer == NULL)
hash.c: ~~~~~^~~~~~ ~~~~
hash.c: In file included from hash.c:13:
hash.c: ./groestl-asm-aes.h:851:8: error: invalid operand for instruction
hash.c: asm ("movaps xmm8, [rdi+0*16]");
hash.c: ^
hash.c: gt;:1:16: note: instantiated into assembly here
hash.c: movaps xmm8, [rdi+0*16]
hash.c: ^~~~~~~~~~
hash.c: In file included from hash.c:13:
hash.c: ./groestl-asm-aes.h:852:8: error: invalid operand for instruction
hash.c: asm ("movaps xmm9, [rdi+1*16]");
hash.c: ^
hash.c: gt;:1:16: note: instantiated into assembly here
hash.c: movaps xmm9, [rdi+1*16]
hash.c: ^~~~~~~~~~
hash.c: In file included from hash.c:13:
hash.c: ./groestl-asm-aes.h:853:8: error: invalid operand for instruction
hash.c: asm ("movaps xmm10, [rdi+2*16]");
hash.c: ^
hash.c: gt;:1:16: note: instantiated into assembly here
hash.c: ...

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

Compiler output

Implementation: crypto_hash/groestl512/avx
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
hash.c: hash.c:104:12: warning: comparison of array 'ctx->gt;chaining' equal to a null pointer is always false [-Wtautological-pointer-compare]
hash.c: if (ctx->gt;chaining == NULL || ctx->gt;buffer == NULL)
hash.c: ~~~~~^~~~~~~~ ~~~~
hash.c: hash.c:104:37: warning: comparison of array 'ctx->gt;buffer' equal to a null pointer is always false [-Wtautological-pointer-compare]
hash.c: if (ctx->gt;chaining == NULL || ctx->gt;buffer == NULL)
hash.c: ~~~~~^~~~~~ ~~~~
hash.c: In file included from hash.c:16:
hash.c: ./groestl-asm-avx.h:925:8: error: invalid operand for instruction
hash.c: asm ("vmovaps xmm8, [rdi+0*16]");
hash.c: ^
hash.c: gt;:1:17: note: instantiated into assembly here
hash.c: vmovaps xmm8, [rdi+0*16]
hash.c: ^~~~~~~~~~
hash.c: In file included from hash.c:16:
hash.c: ./groestl-asm-avx.h:926:8: error: invalid operand for instruction
hash.c: asm ("vmovaps xmm9, [rdi+1*16]");
hash.c: ^
hash.c: gt;:1:17: note: instantiated into assembly here
hash.c: vmovaps xmm9, [rdi+1*16]
hash.c: ^~~~~~~~~~
hash.c: In file included from hash.c:16:
hash.c: ./groestl-asm-avx.h:927:8: error: invalid operand for instruction
hash.c: asm ("vmovaps xmm10, [rdi+2*16]");
hash.c: ^
hash.c: gt;:1:17: note: instantiated into assembly here
hash.c: ...

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

Compiler output

Implementation: crypto_hash/groestl512/vperm
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
hash.c: hash.c:104:12: warning: comparison of array 'ctx->gt;chaining' equal to a null pointer is always false [-Wtautological-pointer-compare]
hash.c: if (ctx->gt;chaining == NULL || ctx->gt;buffer == NULL)
hash.c: ~~~~~^~~~~~~~ ~~~~
hash.c: hash.c:104:37: warning: comparison of array 'ctx->gt;buffer' equal to a null pointer is always false [-Wtautological-pointer-compare]
hash.c: if (ctx->gt;chaining == NULL || ctx->gt;buffer == NULL)
hash.c: ~~~~~^~~~~~ ~~~~
hash.c: In file included from hash.c:19:
hash.c: ./groestl-asm-vperm.h:1196:3: error: invalid operand for instruction
hash.c: VPERM_Transform_RoundConst();
hash.c: ^
hash.c: ./groestl-asm-vperm.h:1173:3: note: expanded from macro 'VPERM_Transform_RoundConst'
hash.c: VPERM_Transform_RoundConst_CNT2(0, 1);\
hash.c: ^
hash.c: ./groestl-asm-vperm.h:1158:8: note: expanded from macro 'VPERM_Transform_RoundConst_CNT2'
hash.c: asm ("movaps xmm0, [ROUND_CONST_P+"tostr(i)"*16]");\
hash.c: ^
hash.c: gt;:1:15: note: instantiated into assembly here
hash.c: movaps xmm0, [ROUND_CONST_P+0*16]
hash.c: ^~~~~~~~~~~~~~~~~~~~
hash.c: In file included from hash.c:19:
hash.c: ./groestl-asm-vperm.h:1196:3: error: invalid operand for instruction
hash.c: VPERM_Transform_RoundConst();
hash.c: ^
hash.c: ./groestl-asm-vperm.h:1173:3: note: expanded from macro 'VPERM_Transform_RoundConst'
hash.c: VPERM_Transform_RoundConst_CNT2(0, 1);\
hash.c: ...

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

Compiler output

Implementation: crypto_hash/groestl512/opt64
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
hash.c: hash.c:191:3: warning: non-constant static local variable in inline function may be different in different files [-Wstatic-local-in-inline]
hash.c: static u64 y[COLS1024] __attribute__((aligned(16)));
hash.c: ^
hash.c: hash.c:190:1: note: use 'static' to give inline function 'F1024' internal linkage
hash.c: inline void F1024(u64 *h, const u64 *m) {
hash.c: ^
hash.c: static
hash.c: hash.c:192:3: warning: non-constant static local variable in inline function may be different in different files [-Wstatic-local-in-inline]
hash.c: static u64 z[COLS1024] __attribute__((aligned(16)));
hash.c: ^
hash.c: hash.c:190:1: note: use 'static' to give inline function 'F1024' internal linkage
hash.c: inline void F1024(u64 *h, const u64 *m) {
hash.c: ^
hash.c: static
hash.c: hash.c:193:3: warning: non-constant static local variable in inline function may be different in different files [-Wstatic-local-in-inline]
hash.c: static u64 outQ[COLS1024] __attribute__((aligned(16)));
hash.c: ^
hash.c: hash.c:190:1: note: use 'static' to give inline function 'F1024' internal linkage
hash.c: inline void F1024(u64 *h, const u64 *m) {
hash.c: ^
hash.c: static
hash.c: hash.c:194:3: warning: non-constant static local variable in inline function may be different in different files [-Wstatic-local-in-inline]
hash.c: static u64 inP[COLS1024] __attribute__((aligned(16)));
hash.c: ^
hash.c: hash.c:190:1: note: use 'static' to give inline function 'F1024' internal linkage
hash.c: ...

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

Compiler output

Implementation: crypto_hash/groestl512/aesni-intr
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
hash.c: In file included from groestl-intr-aes.h:11:0,
hash.c: from hash.c:28:
hash.c: groestl-intr-aes.h: In function 'TF1024':
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: In file included from hash.c:28:0:
hash.c: groestl-intr-aes.h:532:8: error: called from here
hash.c: a7 = _mm_aesenclast_si128(a7, b0);\
hash.c: ^
hash.c: groestl-intr-aes.h:566:5: note: in expansion of macro 'SUBMIX'
hash.c: SUBMIX(xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15);\
hash.c: ^
hash.c: groestl-intr-aes.h:848:3: note: in expansion of macro 'ROUNDS_P'
hash.c: ROUNDS_P();
hash.c: ^
hash.c: In file included from groestl-intr-aes.h:11:0,
hash.c: from hash.c:28:
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: In file included from hash.c:28:0:
hash.c: groestl-intr-aes.h:531:8: error: called from here
hash.c: a6 = _mm_aesenclast_si128(a6, b0);\
hash.c: ^
hash.c: ...

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

Compiler output

Implementation: crypto_hash/groestl512/avx-intr
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
hash.c: In file included from hash.c:31:0:
hash.c: groestl-intr-avx.h: In function 'TF1024':
hash.c: groestl-intr-avx.h:906:8: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
hash.c: ymm8 = insert_m128i_in_m256d(ymm8, xmm8, 0);
hash.c: ^
hash.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:41:0,
hash.c: from groestl-intr-avx.h:12,
hash.c: from hash.c:31:
hash.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:1416:1: error: inlining failed in call to always_inline '_mm256_castsi256_pd': target specific option mismatch
hash.c: _mm256_castsi256_pd (__m256i __A)
hash.c: ^
hash.c: In file included from hash.c:31:0:
hash.c: groestl-intr-avx.h:33:47: error: called from here
hash.c: #define insert_m128i_in_m256d(ymm, xmm, pos) (_mm256_castsi256_pd(_mm256_insertf128_si256(_mm256_castpd_si256(ymm), xmm, pos)))
hash.c: ^
hash.c: groestl-intr-avx.h:922:11: note: in expansion of macro 'insert_m128i_in_m256d'
hash.c: ymm15 = insert_m128i_in_m256d(ymm15, xmm7, 1);
hash.c: ^
hash.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:41:0,
hash.c: from groestl-intr-avx.h:12,
hash.c: from hash.c:31:
hash.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:742:1: error: inlining failed in call to always_inline '_mm256_insertf128_si256': target specific option mismatch
hash.c: _mm256_insertf128_si256 (__m256i __X, __m128i __Y, const int __O)
hash.c: ^
hash.c: In file included from hash.c:31:0:
hash.c: ...

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

Compiler output

Implementation: crypto_hash/groestl512/opt64
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
hash.c: hash.c:194:14: warning: 'inP' is static but declared in inline function 'F1024' which is not static
hash.c: static u64 inP[COLS1024] __attribute__((aligned(16)));
hash.c: ^
hash.c: hash.c:193:14: warning: 'outQ' is static but declared in inline function 'F1024' which is not static
hash.c: static u64 outQ[COLS1024] __attribute__((aligned(16)));
hash.c: ^
hash.c: hash.c:192:14: warning: 'z' is static but declared in inline function 'F1024' which is not static
hash.c: static u64 z[COLS1024] __attribute__((aligned(16)));
hash.c: ^
hash.c: hash.c:191:14: warning: 'y' is static but declared in inline function 'F1024' which is not static
hash.c: static u64 y[COLS1024] __attribute__((aligned(16)));
hash.c: ^

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