Implementation notes: amd64, h4atom, crypto_hash/groestl256

Computer: h4atom
Architecture: amd64
CPU ID: GenuineIntel-000106ca-bfe9fbff
SUPERCOP version: 20160806
Operation: crypto_hash
Primitive: groestl256
TimeImplementationCompilerBenchmark dateSUPERCOP version
113520core2duogcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
114520core2duogcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
114592core2duoclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081220160806
114992core2duogcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
115848core2duogcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
121608opteron-unrolledgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
122208opteron-unrolledclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081220160806
122240opteron-unrolledgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
122576opteron-unrolledgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
123424opteron-unrolledgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
124672opterongcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
125648opteronclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081220160806
125944opterongcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
125984opterongcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
126808opterongcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
145296sphlib-adaptedgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
150352sphlib-adaptedgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
151048sphlibgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
152104sphlib-adaptedgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
153456sphlibgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
153976sphlibgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
154240sphlibgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
158432sphlibclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081220160806
158768sphlib-adaptedgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
158776sphlib-adaptedclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081220160806
161448opt64gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
164368opt64gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
164680opt64gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
169336opt64gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
186568sphlib-smallclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081220160806
186824mmxgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
188456sphlib-smallgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
191376sphlib-smallgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
195728mmxgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
195992sphlib-smallgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
199424mmxclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081220160806
201064mmxgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
241032sphlib-smallgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
246872mmxgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
248160opt32gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
249480opt32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
251872opt32gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
268848opt32gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
275104vpermgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
275248vpermgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
275256vpermgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
275464vpermgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
277336vperm-intrgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
298944opt32clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081220160806
302488vperm-intrclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081220160806
305520vperm-intrgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
305728vperm-intrgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
306688vperm-intrgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
34084032bit-2ktablegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
34297632bit-2ktablegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
40157632bit-2ktablegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
44590432bit-2ktableclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081220160806
50188832bit-2ktablegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
54571232bit-bytesliced-c-smallclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081220160806
6052888bit_cclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081220160806
64586432bit-bytesliced-c-fastgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
65121632bit-bytesliced-c-smallgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
74738432bit-bytesliced-c-fastgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
79542432bit-bytesliced-c-fastclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081220160806
8630968bit_cgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081220160806
8655128bit_cgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
8876968bit_cgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
91970432bit-bytesliced-c-fastgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
9456888bit_cgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806
99721632bit-bytesliced-c-fastgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
109395232bit-bytesliced-c-smallgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081220160806
124542432bit-bytesliced-c-smallgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081220160806
178513632bit-bytesliced-c-smallgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081220160806

Test failure

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

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

Compiler output

Implementation: crypto_hash/groestl256/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:421:3: error: always_inline function '_mm_aesenclast_si128' requires target feature 'aes', but would be inlined into function 'TF512' that is compiled without support for 'aes'
hash.c: ROUNDS_P_Q();
hash.c: ^
hash.c: ./groestl-intr-aes.h:218:3: note: expanded from macro 'ROUNDS_P_Q'
hash.c: ROUND(0, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7);\
hash.c: ^
hash.c: ./groestl-intr-aes.h:195:8: note: expanded from macro 'ROUND'
hash.c: a0 = _mm_aesenclast_si128(a0, b0);\
hash.c: ^
hash.c: ./groestl-intr-aes.h:421:3: error: always_inline function '_mm_aesenclast_si128' requires target feature 'aes', but would be inlined into function 'TF512' that is compiled without support for 'aes'
hash.c: ./groestl-intr-aes.h:218:3: note: expanded from macro 'ROUNDS_P_Q'
hash.c: ROUND(0, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7);\
hash.c: ^
hash.c: ./groestl-intr-aes.h:197:8: note: expanded from macro 'ROUND'
hash.c: a1 = _mm_aesenclast_si128(a1, b0);\
hash.c: ^
hash.c: ./groestl-intr-aes.h:421:3: error: always_inline function '_mm_aesenclast_si128' requires target feature 'aes', but would be inlined into function 'TF512' that is compiled without support for 'aes'
hash.c: ./groestl-intr-aes.h:218:3: note: expanded from macro 'ROUNDS_P_Q'
hash.c: ROUND(0, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7);\
hash.c: ^
hash.c: ./groestl-intr-aes.h:199:8: note: expanded from macro 'ROUND'
hash.c: a2 = _mm_aesenclast_si128(a2, b0);\
hash.c: ^
hash.c: ./groestl-intr-aes.h:421:3: error: always_inline function '_mm_aesenclast_si128' requires target feature 'aes', but would be inlined into function 'TF512' 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/groestl256/avx-intr
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
hash.c: In file included from hash.c:9:
hash.c: ./groestl-intr-avx.h:403:3: error: always_inline function '_mm_aesenclast_si128' requires target feature 'aes', but would be inlined into function 'TF512' that is compiled without support for 'aes'
hash.c: ROUNDS_P_Q();
hash.c: ^
hash.c: ./groestl-intr-avx.h:224:3: note: expanded from macro 'ROUNDS_P_Q'
hash.c: ROUND(0, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7);\
hash.c: ^
hash.c: ./groestl-intr-avx.h:202:8: note: expanded from macro 'ROUND'
hash.c: a0 = _mm_aesenclast_si128(a0, b7);\
hash.c: ^
hash.c: ./groestl-intr-avx.h:403:3: error: always_inline function '_mm_aesenclast_si128' requires target feature 'aes', but would be inlined into function 'TF512' that is compiled without support for 'aes'
hash.c: ./groestl-intr-avx.h:224:3: note: expanded from macro 'ROUNDS_P_Q'
hash.c: ROUND(0, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7);\
hash.c: ^
hash.c: ./groestl-intr-avx.h:204:8: note: expanded from macro 'ROUND'
hash.c: a1 = _mm_aesenclast_si128(a1, b7);\
hash.c: ^
hash.c: ./groestl-intr-avx.h:403:3: error: always_inline function '_mm_aesenclast_si128' requires target feature 'aes', but would be inlined into function 'TF512' that is compiled without support for 'aes'
hash.c: ./groestl-intr-avx.h:224:3: note: expanded from macro 'ROUNDS_P_Q'
hash.c: ROUND(0, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7);\
hash.c: ^
hash.c: ./groestl-intr-avx.h:206:8: note: expanded from macro 'ROUND'
hash.c: a2 = _mm_aesenclast_si128(a2, b7);\
hash.c: ^
hash.c: ./groestl-intr-avx.h:403:3: error: always_inline function '_mm_aesenclast_si128' requires target feature 'aes', but would be inlined into function 'TF512' 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 avx-intr

Compiler output

Implementation: crypto_hash/groestl256/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/groestl256/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:389:8: error: invalid operand for instruction
hash.c: asm ("movaps xmm12, [rdi+0*16]");
hash.c: ^
hash.c: gt;:1:16: note: instantiated into assembly here
hash.c: movaps xmm12, [rdi+0*16]
hash.c: ^~~~~~~~~~
hash.c: In file included from hash.c:13:
hash.c: ./groestl-asm-aes.h:390:8: error: invalid operand for instruction
hash.c: asm ("movaps xmm13, [rdi+1*16]");
hash.c: ^
hash.c: gt;:1:16: note: instantiated into assembly here
hash.c: movaps xmm13, [rdi+1*16]
hash.c: ^~~~~~~~~~
hash.c: In file included from hash.c:13:
hash.c: ./groestl-asm-aes.h:391:8: error: invalid operand for instruction
hash.c: asm ("movaps xmm14, [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/groestl256/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:705:3: error: invalid operand for instruction
hash.c: VPERM_Transform_RoundConst();
hash.c: ^
hash.c: ./groestl-asm-vperm.h:685:8: note: expanded from macro 'VPERM_Transform_RoundConst'
hash.c: asm ("movaps xmm0, [ROUND_CONST_Lx]");\
hash.c: ^
hash.c: gt;:1:15: note: instantiated into assembly here
hash.c: movaps xmm0, [ROUND_CONST_Lx]
hash.c: ^~~~~~~~~~~~~~~~
hash.c: In file included from hash.c:19:
hash.c: ./groestl-asm-vperm.h:705:3: error: invalid operand for instruction
hash.c: VPERM_Transform_RoundConst();
hash.c: ^
hash.c: ./groestl-asm-vperm.h:686:3: note: expanded from macro 'VPERM_Transform_RoundConst'
hash.c: VPERM_Transform(0, 1, VPERM_IPT, 4, 5, 6, 7, 8, 9, 10);\
hash.c: ^
hash.c: ./groestl-asm-vperm.h:142:3: note: expanded from macro 'VPERM_Transform'
hash.c: VPERM_Transform_Set_Const(table, c0, c1, c2);\
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/groestl256/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/groestl256/avx
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
hash.c: hash.c:69: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:69: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: hash.c:62:3: warning: while loop has empty body [-Wempty-body]
hash.c: SET_CONSTANTS();
hash.c: ^
hash.c: ./groestl-asm-avx.h:62:10: note: expanded from macro 'SET_CONSTANTS'
hash.c: }while(0);
hash.c: ^
hash.c: hash.c:62:3: note: put the semicolon on a separate line to silence this warning
hash.c: ./groestl-asm-avx.h:62:10: note: expanded from macro 'SET_CONSTANTS'
hash.c: }while(0);
hash.c: ^
hash.c: ./groestl-asm-avx.h:377:8: error: invalid operand for instruction
hash.c: asm ("vmovdqa xmm12, [rdi+0*16]");
hash.c: ^
hash.c: gt;:1:17: note: instantiated into assembly here
hash.c: vmovdqa xmm12, [rdi+0*16]
hash.c: ^~~~~~~~~~
hash.c: In file included from hash.c:9:
hash.c: ./groestl-asm-avx.h:378:8: error: invalid operand for instruction
hash.c: asm ("vmovdqa xmm13, [rdi+1*16]");
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/groestl256/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 'TF512':
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:209:8: error: called from here
hash.c: a7 = _mm_aesenclast_si128(a7, b0);\
hash.c: ^
hash.c: groestl-intr-aes.h:227:3: note: in expansion of macro 'ROUND'
hash.c: ROUND(9, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15);\
hash.c: ^
hash.c: groestl-intr-aes.h:421:3: note: in expansion of macro 'ROUNDS_P_Q'
hash.c: ROUNDS_P_Q();
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:207: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/groestl256/avx-intr
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
hash.c: In file included from groestl-intr-avx.h:11:0,
hash.c: from hash.c:9:
hash.c: groestl-intr-avx.h: In function 'TF512':
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:9:0:
hash.c: groestl-intr-avx.h:216:8: error: called from here
hash.c: a7 = _mm_aesenclast_si128(a7, b7);\
hash.c: ^
hash.c: groestl-intr-avx.h:233:3: note: in expansion of macro 'ROUND'
hash.c: ROUND(9, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7);\
hash.c: ^
hash.c: groestl-intr-avx.h:403:3: note: in expansion of macro 'ROUNDS_P_Q'
hash.c: ROUNDS_P_Q();
hash.c: ^
hash.c: In file included from groestl-intr-avx.h:11:0,
hash.c: from hash.c:9:
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:9:0:
hash.c: groestl-intr-avx.h:214:8: error: called from here
hash.c: a6 = _mm_aesenclast_si128(a6, b7);\
hash.c: ^
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/groestl256/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

Compiler output

Implementation: crypto_hash/groestl256/avx
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
try.c: /tmp/ccgPqIYl.o: In function `test':
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx'
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx'
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx'
try.c: /tmp/ccgPqIYl.o: In function `doit':
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx'
try.c: collect2: error: ld returned 1 exit status

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

Compiler output

Implementation: crypto_hash/groestl256/avx
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
try.c: /tmp/ccKtBTNd.o: In function `test':
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx'
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx'
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx'
try.c: /tmp/ccKtBTNd.o: In function `doit':
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx'
try.c: collect2: error: ld returned 1 exit status

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

Compiler output

Implementation: crypto_hash/groestl256/avx
Compiler: gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv
try.c: /tmp/ccfOW2vH.o: In function `doit':
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx'
try.c: /tmp/ccfOW2vH.o: In function `test':
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx'
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx'
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx'
try.c: collect2: error: ld returned 1 exit status

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

Compiler output

Implementation: crypto_hash/groestl256/avx
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv
try.c: /tmp/ccs7aFbJ.o: In function `test':
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx'
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx'
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx'
try.c: /tmp/ccs7aFbJ.o: In function `doit':
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx'
try.c: collect2: error: ld returned 1 exit status

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