Implementation notes: amd64, wintermute, crypto_hash/groestl512
Computer: wintermute
Architecture: amd64
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20140505
Operation: crypto_hash
Primitive: groestl512
Time | Implementation | Compiler | Benchmark date | SUPERCOP version |
54832 | core2duo | clang -O3 | 20140508 | 20140505 |
56540 | vperm-intr | clang -O3 -mavx | 20140508 | 20140505 |
56812 | vperm-intr | clang -O3 -mavx2 | 20140508 | 20140505 |
56972 | core2duo | clang -O3 -mavx2 | 20140508 | 20140505 |
57128 | core2duo | clang -O3 -mavx | 20140508 | 20140505 |
89680 | sphlib-adapted | clang -O3 -mavx2 | 20140508 | 20140505 |
89888 | sphlib-small | clang -O3 -mavx2 | 20140508 | 20140505 |
90108 | sphlib-adapted | clang -O3 | 20140508 | 20140505 |
90152 | sphlib-small | clang -O3 | 20140508 | 20140505 |
90256 | sphlib-adapted | clang -O3 -mavx | 20140508 | 20140505 |
90672 | sphlib-small | clang -O3 -mavx | 20140508 | 20140505 |
91420 | sphlib | clang -O3 -mavx2 | 20140508 | 20140505 |
91884 | sphlib | clang -O3 | 20140508 | 20140505 |
92152 | sphlib | clang -O3 -mavx | 20140508 | 20140505 |
95976 | sphlib | cc | 20140508 | 20140505 |
99172 | sphlib-adapted | cc | 20140508 | 20140505 |
104180 | mmx | clang -O3 | 20140508 | 20140505 |
105708 | mmx | clang -O3 -mavx2 | 20140508 | 20140505 |
106148 | mmx | clang -O3 -mavx | 20140508 | 20140505 |
136900 | opt32 | clang -O3 -mavx | 20140508 | 20140505 |
137992 | opt32 | clang -O3 -mavx2 | 20140508 | 20140505 |
138344 | opt32 | clang -O3 | 20140508 | 20140505 |
292508 | opt32 | cc | 20140508 | 20140505 |
293856 | sphlib-small | cc | 20140508 | 20140505 |
416464 | 32bit-bytesliced-c-small | clang -O3 -mavx2 | 20140508 | 20140505 |
417220 | 32bit-bytesliced-c-small | clang -O3 -mavx | 20140508 | 20140505 |
457832 | 32bit-bytesliced-c-small | clang -O3 | 20140508 | 20140505 |
618548 | mmx | cc | 20140508 | 20140505 |
2503144 | 32bit-bytesliced-c-small | cc | 20140508 | 20140505 |
Compiler output
Implementation: crypto_hash/groestl512/vperm
Compiler: cc
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: ^
hash.c: ./groestl-asm-vperm.h:1159:8: note: expanded from macro 'VPERM_Transform_RoundConst_CNT2'
hash.c: asm ("movaps xmm1, [ROUND_CONST_P+"tostr(j)"*16]");\
hash.c: ^
hash.c: gt;:1:15: note: instantiated into assembly here
hash.c: movaps xmm1, [ROUND_CONST_P+1*16]
hash.c: ...
Number of similar (compiler,implementation) pairs: 4, namely:
Compiler | Implementations
|
cc | vperm |
clang -O3 | vperm |
clang -O3 -mavx | vperm |
clang -O3 -mavx2 | vperm
|
Compiler output
Implementation: crypto_hash/groestl512/aesni-intr
Compiler: cc
hash.c: In file included from hash.c:28:
hash.c: In file included from ./groestl-intr-aes.h:10:
hash.c: /usr/include/clang/3.3/smmintrin.h:28:2: error: "SSE4.1 instruction set not enabled"
hash.c: #error "SSE4.1 instruction set not enabled"
hash.c: ^
hash.c: In file included from hash.c:28:
hash.c: In file included from ./groestl-intr-aes.h:11:
hash.c: /usr/include/clang/3.3/wmmintrin.h:30:3: error: "AES/PCLMUL instructions not enabled"
hash.c: # error "AES/PCLMUL instructions not enabled"
hash.c: ^
hash.c: In file included from hash.c:28:
hash.c: ./groestl-intr-aes.h:784:3: warning: implicit declaration of function '_mm_shuffle_epi8' is invalid in C99 [-Wimplicit-function-declaration]
hash.c: Matrix_Transpose(xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7);
hash.c: ^
hash.c: ./groestl-intr-aes.h:629:8: note: expanded from macro 'Matrix_Transpose'
hash.c: i6 = _mm_shuffle_epi8(i6, t0);\
hash.c: ^
hash.c: ./groestl-intr-aes.h:784:3: error: assigning to '__m128i' from incompatible type 'int'
hash.c: Matrix_Transpose(xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7);
hash.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: ./groestl-intr-aes.h:629:6: note: expanded from macro 'Matrix_Transpose'
hash.c: i6 = _mm_shuffle_epi8(i6, t0);\
hash.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: ./groestl-intr-aes.h:784:3: error: assigning to '__m128i' from incompatible type 'int'
hash.c: Matrix_Transpose(xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7);
hash.c: ...
Number of similar (compiler,implementation) pairs: 2, namely:
Compiler | Implementations
|
cc | aesni-intr |
clang -O3 | aesni-intr
|
Compiler output
Implementation: crypto_hash/groestl512/avx-intr
Compiler: cc
hash.c: In file included from hash.c:31:
hash.c: In file included from ./groestl-intr-avx.h:10:
hash.c: /usr/include/clang/3.3/smmintrin.h:28:2: error: "SSE4.1 instruction set not enabled"
hash.c: #error "SSE4.1 instruction set not enabled"
hash.c: ^
hash.c: In file included from hash.c:31:
hash.c: In file included from ./groestl-intr-avx.h:11:
hash.c: /usr/include/clang/3.3/wmmintrin.h:30:3: error: "AES/PCLMUL instructions not enabled"
hash.c: # error "AES/PCLMUL instructions not enabled"
hash.c: ^
hash.c: In file included from hash.c:31:
hash.c: ./groestl-intr-avx.h:27:1: error: unknown type name '__m256d'
hash.c: __m256d ALL_1B;
hash.c: ^
hash.c: ./groestl-intr-avx.h:848:3: warning: implicit declaration of function '_mm_shuffle_epi8' is invalid in C99 [-Wimplicit-function-declaration]
hash.c: Matrix_Transpose(xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7);
hash.c: ^
hash.c: ./groestl-intr-avx.h:722:8: note: expanded from macro 'Matrix_Transpose'
hash.c: i6 = _mm_shuffle_epi8(i6, t0);\
hash.c: ^
hash.c: ./groestl-intr-avx.h:848:3: error: assigning to '__m128i' from incompatible type 'int'
hash.c: Matrix_Transpose(xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7);
hash.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: ./groestl-intr-avx.h:722:6: note: expanded from macro 'Matrix_Transpose'
hash.c: i6 = _mm_shuffle_epi8(i6, t0);\
hash.c: ...
Number of similar (compiler,implementation) pairs: 2, namely:
Compiler | Implementations
|
cc | avx-intr |
clang -O3 | avx-intr
|
Compiler output
Implementation: crypto_hash/groestl512/vperm-intr
Compiler: cc
hash.c: In file included from hash.c:34:
hash.c: In file included from ./groestl-intr-vperm.h:13:
hash.c: /usr/include/clang/3.3/tmmintrin.h:28:2: error: "SSSE3 instruction set not enabled"
hash.c: #error "SSSE3 instruction set not enabled"
hash.c: ^
hash.c: In file included from hash.c:34:
hash.c: ./groestl-intr-vperm.h:17:1: error: unknown type name '__m128i'
hash.c: __m128i ROUND_CONST_Lx;
hash.c: ^
hash.c: ./groestl-intr-vperm.h:18:1: error: unknown type name '__m128i'
hash.c: __m128i ROUND_CONST_L0[ROUNDS512];
hash.c: ^
hash.c: ./groestl-intr-vperm.h:19:1: error: unknown type name '__m128i'
hash.c: __m128i ROUND_CONST_L7[ROUNDS512];
hash.c: ^
hash.c: ./groestl-intr-vperm.h:20:1: error: unknown type name '__m128i'
hash.c: __m128i ROUND_CONST_P[ROUNDS1024];
hash.c: ^
hash.c: ./groestl-intr-vperm.h:21:1: error: unknown type name '__m128i'
hash.c: __m128i ROUND_CONST_Q[ROUNDS1024];
hash.c: ^
hash.c: ./groestl-intr-vperm.h:22:1: error: unknown type name '__m128i'
hash.c: __m128i TRANSP_MASK;
hash.c: ^
hash.c: ./groestl-intr-vperm.h:23:1: error: unknown type name '__m128i'
hash.c: ...
Number of similar (compiler,implementation) pairs: 2, namely:
Compiler | Implementations
|
cc | vperm-intr |
clang -O3 | vperm-intr
|
Compiler output
Implementation: crypto_hash/groestl512/opt64
Compiler: cc
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: ...
try.c: crypto_hash_groestl512.a(hash.o): In function `Transform':
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: hash.c:(.text+0x...): undefined reference to `F1024'
try.c: cc: error: linker command failed with exit code 1 (use -v to see invocation)
Number of similar (compiler,implementation) pairs: 1, namely:
Compiler | Implementations
|
cc | opt64
|
Compiler output
Implementation: crypto_hash/groestl512/aesni
Compiler: cc
hash.c: hash.c:97:3: warning: while loop has empty body [-Wempty-body]
hash.c: SET_CONSTANTS();
hash.c: ^
hash.c: ./groestl-asm-aes.h:567:10: note: expanded from macro 'SET_CONSTANTS'
hash.c: }while(0);
hash.c: ^
hash.c: hash.c:97:3: note: put the semicolon on a separate line to silence this warning
hash.c: ./groestl-asm-aes.h:567:10: note: expanded from macro 'SET_CONSTANTS'
hash.c: }while(0);
hash.c: ^
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: ...
Number of similar (compiler,implementation) pairs: 4, namely:
Compiler | Implementations
|
cc | aesni |
clang -O3 | aesni |
clang -O3 -mavx | aesni |
clang -O3 -mavx2 | aesni
|
Compiler output
Implementation: crypto_hash/groestl512/avx
Compiler: cc
hash.c: hash.c:97:3: warning: while loop has empty body [-Wempty-body]
hash.c: SET_CONSTANTS();
hash.c: ^
hash.c: ./groestl-asm-avx.h:560:10: note: expanded from macro 'SET_CONSTANTS'
hash.c: }while(0);
hash.c: ^
hash.c: hash.c:97:3: note: put the semicolon on a separate line to silence this warning
hash.c: ./groestl-asm-avx.h:560:10: note: expanded from macro 'SET_CONSTANTS'
hash.c: }while(0);
hash.c: ^
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: ...
Number of similar (compiler,implementation) pairs: 4, namely:
Compiler | Implementations
|
cc | avx |
clang -O3 | avx |
clang -O3 -mavx | avx |
clang -O3 -mavx2 | avx
|
Compiler output
Implementation: crypto_hash/groestl512/core2duo
Compiler: cc
try.c: crypto_hash_groestl512.a(hash.o): In function `Transform':
try.c: hash.c:(.text+0x...): undefined reference to `Q1024ASM'
try.c: hash.c:(.text+0x...): undefined reference to `P1024ASM'
try.c: crypto_hash_groestl512.a(hash.o): In function `OutputTransformation':
try.c: hash.c:(.text+0x...): undefined reference to `P1024ASM'
try.c: cc: error: linker command failed with exit code 1 (use -v to see invocation)
Number of similar (compiler,implementation) pairs: 2, namely:
Compiler | Implementations
|
cc | core2duo opteron
|
Compiler output
Implementation: crypto_hash/groestl512/opteron
Compiler: clang -O3
hash.c: In file included from hash.c:13:
hash.c: ./PQASM.h:518:8: error: ran out of registers during register allocation
hash.c: "\n movq 8(%0), %%rcx"
hash.c: ^
hash.c: ./PQASM.h:3:8: error: ran out of registers during register allocation
hash.c: "\n movq 8(%0), %%rcx"
hash.c: ^
hash.c: ./PQASM.h:3:8: error: ran out of registers during register allocation
hash.c: ./PQASM.h:518:8: error: ran out of registers during register allocation
hash.c: "\n movq 8(%0), %%rcx"
hash.c: ^
hash.c: ./PQASM.h:518:8: error: ran out of registers during register allocation
hash.c: ./PQASM.h:3:8: error: ran out of registers during register allocation
hash.c: "\n movq 8(%0), %%rcx"
hash.c: ^
hash.c: ./PQASM.h:3:8: error: ran out of registers during register allocation
hash.c: ./PQASM.h:518:8: error: ran out of registers during register allocation
hash.c: "\n movq 8(%0), %%rcx"
hash.c: ^
hash.c: ./PQASM.h:3:8: error: ran out of registers during register allocation
hash.c: "\n movq 8(%0), %%rcx"
hash.c: ^
hash.c: ./PQASM.h:518:8: error: ran out of registers during register allocation
hash.c: "\n movq 8(%0), %%rcx"
hash.c: ^
hash.c: ...
Number of similar (compiler,implementation) pairs: 3, namely:
Compiler | Implementations
|
clang -O3 | opteron |
clang -O3 -mavx | opteron |
clang -O3 -mavx2 | opteron
|
Compiler output
Implementation: crypto_hash/groestl512/opt64
Compiler: clang -O3
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: 3, namely:
Compiler | Implementations
|
clang -O3 | opt64 |
clang -O3 -mavx | opt64 |
clang -O3 -mavx2 | opt64
|
Compiler output
Implementation: crypto_hash/groestl512/aesni-intr
Compiler: clang -O3 -mavx
hash.c: In file included from hash.c:28:
hash.c: In file included from ./groestl-intr-aes.h:11:
hash.c: /usr/include/clang/3.3/wmmintrin.h:30:3: error: "AES/PCLMUL instructions not enabled"
hash.c: # error "AES/PCLMUL instructions not enabled"
hash.c: ^
hash.c: In file included from hash.c:28:
hash.c: ./groestl-intr-aes.h:848:3: warning: implicit declaration of function '_mm_aesenclast_si128' is invalid in C99 [-Wimplicit-function-declaration]
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: assigning to '__m128i' from incompatible type 'int'
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:6: note: expanded from macro 'SUBMIX'
hash.c: a0 = _mm_aesenclast_si128(a0, b0);\
hash.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: ./groestl-intr-aes.h:848:3: error: assigning to '__m128i' from incompatible type 'int'
hash.c: ...
Number of similar (compiler,implementation) pairs: 2, namely:
Compiler | Implementations
|
clang -O3 -mavx | aesni-intr |
clang -O3 -mavx2 | aesni-intr
|
Compiler output
Implementation: crypto_hash/groestl512/avx-intr
Compiler: clang -O3 -mavx
hash.c: In file included from hash.c:31:
hash.c: In file included from ./groestl-intr-avx.h:11:
hash.c: /usr/include/clang/3.3/wmmintrin.h:30:3: error: "AES/PCLMUL instructions not enabled"
hash.c: # error "AES/PCLMUL instructions not enabled"
hash.c: ^
hash.c: In file included from hash.c:31:
hash.c: ./groestl-intr-avx.h:925:3: warning: implicit declaration of function '_mm_aesenclast_si128' is invalid in C99 [-Wimplicit-function-declaration]
hash.c: ROUNDS_P_Q();
hash.c: ^
hash.c: ./groestl-intr-avx.h:708:5: note: expanded from macro 'ROUNDS_P_Q'
hash.c: SUBSHIFTMIX(ymm0, ymm1, ymm2, ymm3, ymm4, ymm5, ymm6, ymm7, ymm8, ymm9, ymm10, ymm11, ymm12, ymm13, ymm14, ymm15);\
hash.c: ^
hash.c: ./groestl-intr-avx.h:680:3: note: expanded from macro 'SUBSHIFTMIX'
hash.c: SubShift(a0, 0, 1);\
hash.c: ^
hash.c: ./groestl-intr-avx.h:548:11: note: expanded from macro 'SubShift'
hash.c: xmmIL = _mm_aesenclast_si128(xmmIL, xmmZERO);\
hash.c: ^
hash.c: ./groestl-intr-avx.h:925:3: error: assigning to '__m128i' from incompatible type 'int'
hash.c: ROUNDS_P_Q();
hash.c: ^~~~~~~~~~~~
hash.c: ./groestl-intr-avx.h:708:5: note: expanded from macro 'ROUNDS_P_Q'
hash.c: SUBSHIFTMIX(ymm0, ymm1, ymm2, ymm3, ymm4, ymm5, ymm6, ymm7, ymm8, ymm9, ymm10, ymm11, ymm12, ymm13, ymm14, ymm15);\
hash.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: ./groestl-intr-avx.h:680:3: note: expanded from macro 'SUBSHIFTMIX'
hash.c: ...
Number of similar (compiler,implementation) pairs: 2, namely:
Compiler | Implementations
|
clang -O3 -mavx | avx-intr |
clang -O3 -mavx2 | avx-intr
|