Implementation notes: amd64, cezanne, crypto_hash/groestl512

Computer: cezanne
Microarchitecture: amd64; Zen 3 (a50f00)
Architecture: amd64
CPU ID: AuthenticAMD-00a50f00-178bfbff
SUPERCOP version: 20231107
Operation: crypto_hash
Primitive: groestl512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
166529570 0 123222487 788 2200T:aesni-intrgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023052420221122
167438914 0 123220111 788 2200T:aesni-intrgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023052420221122
169718615 0 123219326 780 2200T:aesni-intrgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023052420221122
173539820 0 120023067 820 2104T:aesni-intrclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
173709820 0 120023179 820 2104T:aesni-intrclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
174718381 0 120018809 812 2104T:aesni-intrclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
197668506 0 123218250 764 2168T:aesni-intrgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023052420221122
202198410 0 166421327 788 2616T:avx-intrgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023052420221122
203317778 0 166418975 788 2616T:avx-intrgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023052420221122
206237367 0 166418078 780 2616T:avx-intrgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023052420221122
210919204 0 177622539 820 2712T:avx-intrclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
211029204 0 177622443 820 2712T:avx-intrclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
211887773 0 177618201 812 2680T:avx-intrclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
216057217 0 166416970 764 2584T:avx-intrgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023052420221122
3135919026 0 152031943 788 2488T:vperm-intrgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023052420221122
3173017934 0 152028654 780 2488T:vperm-intrgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023052420221122
3186218370 0 152029567 788 2488T:vperm-intrgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023052420221122
3245818450 0 152028202 764 2456T:vperm-intrgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023052420221122
3536023009 0 230435419 820 3224T:vperm-intrclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
3544727174 0 039976 812 888T:opteronclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
3545523009 0 230435531 820 3224T:vperm-intrclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
3545920012 0 230430457 812 3192T:vperm-intrclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
3547226836 0 039944 812 920T:opteronclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
3584925998 0 036286 804 888T:opteronclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
3604726836 0 040056 812 920T:opteronclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
4321927742 0 040544 812 888T:core2duoclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
4395512689 0 270423393 812 3608T:avx-intrclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
4662227372 0 040496 812 920T:core2duoclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
4663727372 0 040592 812 920T:core2duoclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
4665326504 0 036814 804 888T:core2duoclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
5132641062 0 050827 756 920T:sphlibgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023052420221122
5203843738 0 053499 756 920T:sphlib-adaptedgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023052420221122
5264115857 0 174426585 812 2648T:aesni-intrclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
5285047167 0 058376 780 952T:sphlibgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023052420221122
5344847158 0 057960 780 952T:sphlibgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023052420221122
5437752527 0 065432 780 952T:sphlib-adaptedgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023052420221122
5446649151 0 062056 780 952T:sphlibgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023052420221122
5644350967 0 061768 780 952T:sphlib-adaptedgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023052420221122
5826653503 0 064712 780 952T:sphlib-adaptedgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023052420221122
5850749345 0 062680 812 920T:sphlibclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
5851749345 0 062568 812 920T:sphlibclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
5959453057 0 065992 812 888T:sphlib-adaptedclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
6002921441 0 034296 812 920T:sphlib-smallclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
6050250001 0 062920 812 888T:sphlibclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
6060752577 0 065816 812 920T:sphlib-adaptedclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
6073552577 0 065928 812 920T:sphlib-adaptedclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
6162320143 0 030190 804 888T:sphlib-smallclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
6240267239 0 078079 788 952T:mmxgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023052420221122
6250671187 0 084224 796 952T:mmxgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023052420221122
6289321441 0 034392 812 920T:sphlib-smallclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
6300649533 0 060278 804 888T:sphlibclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
6318067623 0 078944 796 952T:mmxgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023052420221122
6414049258 0 059646 804 888T:sphlibclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
6451566032 0 075899 772 920T:mmxgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023052420221122
6511053229 0 063990 804 888T:sphlib-adaptedclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
6617569275 0 082782 836 920T:mmxclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
6621069291 0 082382 836 888T:mmxclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
6637968515 0 081910 836 920T:mmxclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
6710269109 0 079902 820 888T:mmxclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
6762564671 0 075166 820 888T:mmxclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
6870722031 0 033240 780 952T:sphlib-smallgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023052420221122
6991420380 0 031184 780 952T:sphlib-smallgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023052420221122
7027823441 0 036264 812 888T:sphlib-smallclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
7138953870 0 064302 804 888T:sphlib-adaptedclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
7353223679 0 036584 780 952T:sphlib-smallgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023052420221122
7563420189 0 030950 804 888T:sphlib-smallclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
8291318192 0 027947 756 920T:sphlib-smallgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023052420221122
9311124359 0 037440 796 952T:opt32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023052420221122
9361022378 0 033247 788 952T:opt32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023052420221122
9437322943 0 034264 796 952T:opt32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023052420221122
9587020879 0 030779 772 920T:opt32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023052420221122
9821926718 0 039894 836 888T:opt32clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
9927126598 0 040190 836 920T:opt32clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
9940826470 0 039934 836 920T:opt32clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
9983624597 0 035430 820 888T:opt32clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
10227124183 0 034726 820 888T:opt32clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
12581938057 0 249648785 812 3384T:vperm-intrclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
2648005717 0 018544 812 888T:32bit-bytesliced-c-smallclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
2761165151 0 018400 812 920T:32bit-bytesliced-c-smallclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
2832893673 0 016832 812 920T:32bit-bytesliced-c-smallclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
3480882870 0 013198 804 888T:32bit-bytesliced-c-smallclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122
3517515047 0 017880 780 952T:32bit-bytesliced-c-smallgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023052420221122
3746841776 0 011435 756 920T:32bit-bytesliced-c-smallgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023052420221122
5168912612 0 013263 772 952T:32bit-bytesliced-c-smallgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023052420221122
5316562375 0 013504 780 952T:32bit-bytesliced-c-smallgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023052420221122
5318322196 0 012806 804 888T:32bit-bytesliced-c-smallclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023052420221122

Compiler output

Implementation: T:aesni
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: hash.c:104:12: warning: comparison of array 'ctx->chaining' equal to a null pointer is always false [-Wtautological-pointer-compare]
hash.c: if (ctx->chaining == NULL || ctx->buffer == NULL)
hash.c: ~~~~~^~~~~~~~ ~~~~
hash.c: hash.c:104:37: warning: comparison of array 'ctx->buffer' equal to a null pointer is always false [-Wtautological-pointer-compare]
hash.c: if (ctx->chaining == NULL || ctx->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: <inline asm>: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: <inline asm>: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: <inline asm>:1:16: note: instantiated into assembly here
hash.c: ...

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:aesni
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:aesni
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:aesni
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:aesni
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:aesni

Compiler output

Implementation: T:aesni
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_hash_groestl512.a(hash.o): relocation R_X86_64_32S against symbol `TRANSP_MASK' can not be used when making a PIE object; recompile with -fPIE
try.c: collect2: error: ld returned 1 exit status

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

Compiler output

Implementation: T:aesni-intr
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: hash.c:104:12: warning: comparison of array 'ctx->chaining' equal to a null pointer is always false [-Wtautological-pointer-compare]
hash.c: if (ctx->chaining == NULL || ctx->buffer == NULL)
hash.c: ~~~~~^~~~~~~~ ~~~~
hash.c: hash.c:104:37: warning: comparison of array 'ctx->buffer' equal to a null pointer is always false [-Wtautological-pointer-compare]
hash.c: if (ctx->chaining == NULL || ctx->buffer == NULL)
hash.c: ~~~~~^~~~~~ ~~~~
hash.c: 2 warnings generated.

Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:aesni-intr
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:aesni-intr
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:aesni-intr
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:aesni-intr
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx-intr
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx-intr
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx-intr
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx-intr
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:vperm-intr
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:vperm-intr
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:vperm-intr
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:vperm-intr

Compiler output

Implementation: T:aesni-intr
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: In file included from hash.c:28:
hash.c: ./groestl-intr-aes.h:786:3: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'INIT' that is compiled without support for 'ssse3'
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:631:8: note: expanded from macro 'Matrix_Transpose'
hash.c: i6 = _mm_shuffle_epi8(i6, t0);\
hash.c: ^
hash.c: ./groestl-intr-aes.h:786:3: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'INIT' that is compiled without support for 'ssse3'
hash.c: ./groestl-intr-aes.h:632:8: note: expanded from macro 'Matrix_Transpose'
hash.c: i0 = _mm_shuffle_epi8(i0, t0);\
hash.c: ^
hash.c: ./groestl-intr-aes.h:786:3: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'INIT' that is compiled without support for 'ssse3'
hash.c: ./groestl-intr-aes.h:633:8: note: expanded from macro 'Matrix_Transpose'
hash.c: i1 = _mm_shuffle_epi8(i1, t0);\
hash.c: ^
hash.c: ./groestl-intr-aes.h:786:3: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'INIT' that is compiled without support for 'ssse3'
hash.c: ./groestl-intr-aes.h:634:8: note: expanded from macro 'Matrix_Transpose'
hash.c: i2 = _mm_shuffle_epi8(i2, t0);\
hash.c: ^
hash.c: ./groestl-intr-aes.h:786:3: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'INIT' that is compiled without support for 'ssse3'
hash.c: ./groestl-intr-aes.h:635:8: note: expanded from macro 'Matrix_Transpose'
hash.c: i3 = _mm_shuffle_epi8(i3, t0);\
hash.c: ^
hash.c: ./groestl-intr-aes.h:786:3: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'INIT' that is compiled without support for 'ssse3'
hash.c: ./groestl-intr-aes.h:637:8: note: expanded from macro 'Matrix_Transpose'
hash.c: ...

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

Compiler output

Implementation: T:avx
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: hash.c:104:12: warning: comparison of array 'ctx->chaining' equal to a null pointer is always false [-Wtautological-pointer-compare]
hash.c: if (ctx->chaining == NULL || ctx->buffer == NULL)
hash.c: ~~~~~^~~~~~~~ ~~~~
hash.c: hash.c:104:37: warning: comparison of array 'ctx->buffer' equal to a null pointer is always false [-Wtautological-pointer-compare]
hash.c: if (ctx->chaining == NULL || ctx->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: <inline asm>: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: <inline asm>: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: <inline asm>:1:17: note: instantiated into assembly here
hash.c: ...

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx

Compiler output

Implementation: T:avx-intr
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: In file included from hash.c:31:
hash.c: ./groestl-intr-avx.h:851:3: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'INIT' that is compiled without support for 'ssse3'
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:725:8: note: expanded from macro 'Matrix_Transpose'
hash.c: i6 = _mm_shuffle_epi8(i6, t0);\
hash.c: ^
hash.c: ./groestl-intr-avx.h:851:3: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'INIT' that is compiled without support for 'ssse3'
hash.c: ./groestl-intr-avx.h:726:8: note: expanded from macro 'Matrix_Transpose'
hash.c: i0 = _mm_shuffle_epi8(i0, t0);\
hash.c: ^
hash.c: ./groestl-intr-avx.h:851:3: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'INIT' that is compiled without support for 'ssse3'
hash.c: ./groestl-intr-avx.h:727:8: note: expanded from macro 'Matrix_Transpose'
hash.c: i1 = _mm_shuffle_epi8(i1, t0);\
hash.c: ^
hash.c: ./groestl-intr-avx.h:851:3: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'INIT' that is compiled without support for 'ssse3'
hash.c: ./groestl-intr-avx.h:728:8: note: expanded from macro 'Matrix_Transpose'
hash.c: i2 = _mm_shuffle_epi8(i2, t0);\
hash.c: ^
hash.c: ./groestl-intr-avx.h:851:3: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'INIT' that is compiled without support for 'ssse3'
hash.c: ./groestl-intr-avx.h:729:8: note: expanded from macro 'Matrix_Transpose'
hash.c: i3 = _mm_shuffle_epi8(i3, t0);\
hash.c: ^
hash.c: ./groestl-intr-avx.h:851:3: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'INIT' that is compiled without support for 'ssse3'
hash.c: ./groestl-intr-avx.h:730:8: note: expanded from macro 'Matrix_Transpose'
hash.c: ...

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

Compiler output

Implementation: T:core2duo
Security model: timingleaks
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_hash_groestl512.a(hash.o): in function `Transform':
try.c: hash.c:(.text+0x...): undefined reference to `Q1024ASM'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `P1024ASM'
try.c: /usr/bin/ld: libcrypto_hash_groestl512.a(hash.o): in function `OutputTransformation':
try.c: hash.c:(.text+0x...): undefined reference to `P1024ASM'
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:core2duo T:opteron

Compiler output

Implementation: T:core2duo
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_hash_groestl512.a(hash.o): in function `Transform':
try.c: hash.c:(.text+0x...): undefined reference to `Q1024ASM'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `P1024ASM'
try.c: /usr/bin/ld: libcrypto_hash_groestl512.a(hash.o): in function `OutputTransformation':
try.c: hash.c:(.text+0x...): undefined reference to `P1024ASM'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:core2duo
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:core2duo
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:core2duo
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opteron
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opteron
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opteron

Compiler output

Implementation: T:core2duo
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_hash_groestl512.a(hash.o): in function `Transform.constprop.0':
try.c: hash.c:(.text+0x...): undefined reference to `Q1024ASM'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `P1024ASM'
try.c: /usr/bin/ld: libcrypto_hash_groestl512.a(hash.o): in function `Transform':
try.c: hash.c:(.text+0x...): undefined reference to `Q1024ASM'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `P1024ASM'
try.c: /usr/bin/ld: libcrypto_hash_groestl512.a(hash.o): in function `OutputTransformation':
try.c: hash.c:(.text+0x...): undefined reference to `P1024ASM'
try.c: /usr/bin/ld: libcrypto_hash_groestl512.a(hash.o): in function `Final':
try.c: hash.c:(.text+0x...): undefined reference to `P1024ASM'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:core2duo T:opteron

Compiler output

Implementation: T:opt64
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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: /usr/bin/ld: libcrypto_hash_groestl512.a(hash.o): in function `Transform':
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F1024'
try.c: /usr/bin/ld: libcrypto_hash_groestl512.a(hash.o): in function `Update':
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F1024'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F512'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F1024'
try.c: /usr/bin/ld: libcrypto_hash_groestl512.a(hash.o): in function `Final':
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F1024'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F512'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F1024'
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt64
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt64
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt64

Compiler output

Implementation: T:opt64
Security model: timingleaks
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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: /usr/bin/ld: libcrypto_hash_groestl512.a(hash.o): in function `Transform':
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F1024'
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt64
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt64

Compiler output

Implementation: T:opt64
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hash.c: hash.c:194:14: warning: 'inP' is static but declared in inline function 'F1024' which is not static
hash.c: 194 | 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: 193 | 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: 192 | 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: 191 | static u64 y[COLS1024] __attribute__((aligned(16)));
hash.c: | ^
try.c: /usr/bin/ld: libcrypto_hash_groestl512.a(hash.o): in function `Transform':
try.c: hash.c:(.text+0x...): undefined reference to `F1024'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F512'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt64

Compiler output

Implementation: T:opt64
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hash.c: hash.c:194:14: warning: 'inP' is static but declared in inline function 'F1024' which is not static
hash.c: 194 | 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: 193 | 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: 192 | 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: 191 | static u64 y[COLS1024] __attribute__((aligned(16)));
hash.c: | ^
try.c: /usr/bin/ld: libcrypto_hash_groestl512.a(hash.o): in function `Transform':
try.c: hash.c:(.text+0x...): undefined reference to `F1024'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F512'
try.c: /usr/bin/ld: libcrypto_hash_groestl512.a(hash.o): in function `Update':
try.c: hash.c:(.text+0x...): undefined reference to `F1024'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F512'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F1024'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F512'
try.c: /usr/bin/ld: libcrypto_hash_groestl512.a(hash.o): in function `Final':
try.c: hash.c:(.text+0x...): undefined reference to `F1024'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F1024'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F512'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F512'
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 -fPIC -fPIE T:opt64

Compiler output

Implementation: T:opt64
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE
hash.c: hash.c:194:14: warning: 'inP' is static but declared in inline function 'F1024' which is not static
hash.c: 194 | 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: 193 | 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: 192 | 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: 191 | static u64 y[COLS1024] __attribute__((aligned(16)));
hash.c: | ^
try.c: /usr/bin/ld: libcrypto_hash_groestl512.a(hash.o): in function `Transform':
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F1024'
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 -fPIC -fPIE T:opt64

Compiler output

Implementation: T:vperm
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: hash.c:104:12: warning: comparison of array 'ctx->chaining' equal to a null pointer is always false [-Wtautological-pointer-compare]
hash.c: if (ctx->chaining == NULL || ctx->buffer == NULL)
hash.c: ~~~~~^~~~~~~~ ~~~~
hash.c: hash.c:104:37: warning: comparison of array 'ctx->buffer' equal to a null pointer is always false [-Wtautological-pointer-compare]
hash.c: if (ctx->chaining == NULL || ctx->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: <inline asm>: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: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:vperm
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:vperm
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:vperm
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:vperm
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:vperm

Compiler output

Implementation: T:vperm
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_hash_groestl512.a(hash.o): relocation R_X86_64_32S against symbol `ROUND_CONST_P' can not be used when making a PIE object; recompile with -fPIE
try.c: collect2: error: ld returned 1 exit status

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

Compiler output

Implementation: T:vperm-intr
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: In file included from hash.c:34:
hash.c: ./groestl-intr-vperm.h:1102:3: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'INIT' that is compiled without support for 'ssse3'
hash.c: VPERM_Transform_RoundConst();
hash.c: ^
hash.c: ./groestl-intr-vperm.h:1081:3: note: expanded from macro 'VPERM_Transform_RoundConst'
hash.c: VPERM_Transform_RoundConst_CNT2(0, 1);\
hash.c: ^
hash.c: ./groestl-intr-vperm.h:1070:3: note: expanded from macro 'VPERM_Transform_RoundConst_CNT2'
hash.c: VPERM_Transform_State(xmm0, xmm1, xmm2, xmm3, VPERM_IPT, xmm4, xmm5, xmm6, xmm7, xmm8, xmm9, xmm10);\
hash.c: ^
hash.c: ./groestl-intr-vperm.h:133:3: note: expanded from macro 'VPERM_Transform_State'
hash.c: VPERM_Transform_No_Const(a0, a1, t0, t1, t2, t3, c0, c1, c2);\
hash.c: ^
hash.c: ./groestl-intr-vperm.h:88:8: note: expanded from macro 'VPERM_Transform_No_Const'
hash.c: t2 = _mm_shuffle_epi8(t2, a0);\
hash.c: ^
hash.c: ./groestl-intr-vperm.h:1102:3: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'INIT' that is compiled without support for 'ssse3'
hash.c: ./groestl-intr-vperm.h:1081:3: note: expanded from macro 'VPERM_Transform_RoundConst'
hash.c: VPERM_Transform_RoundConst_CNT2(0, 1);\
hash.c: ^
hash.c: ./groestl-intr-vperm.h:1070:3: note: expanded from macro 'VPERM_Transform_RoundConst_CNT2'
hash.c: VPERM_Transform_State(xmm0, xmm1, xmm2, xmm3, VPERM_IPT, xmm4, xmm5, xmm6, xmm7, xmm8, xmm9, xmm10);\
hash.c: ^
hash.c: ./groestl-intr-vperm.h:133:3: note: expanded from macro 'VPERM_Transform_State'
hash.c: VPERM_Transform_No_Const(a0, a1, t0, t1, t2, t3, c0, c1, c2);\
hash.c: ...

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