Implementation notes: amd64, h8atom, crypto_hash/groestl256

Computer: h8atom
Microarchitecture: amd64; Bonnell (30661)
Architecture: amd64
CPU ID: GenuineIntel-00030661-bfebfbff
SUPERCOP version: 20240107
Operation: crypto_hash
Primitive: groestl256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
14357053475 0 066068 816 728T:sphlib-adaptedclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
14588053475 0 064892 816 728T:sphlib-adaptedclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
15109566813 0 078374 840 728T:mmxclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
15122867621 0 080358 840 728T:mmxclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
15311150419 0 062996 816 728T:sphlibclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
15591850419 0 061820 816 728T:sphlibclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
16316351663 0 061334 808 728T:sphlib-adaptedclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
16380048419 0 058070 808 728T:sphlibclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
16452164936 0 074686 824 728T:mmxclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
17702354262 0 064684 816 728T:sphlib-adaptedclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
18314150790 0 061196 816 728T:sphlibclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
18410046794 0 059581 784 800T:sphlib-adaptedgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
18482822371 0 033564 816 728T:sphlib-smallclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
18979144874 0 057661 784 800T:sphlibgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
19135922371 0 034740 816 728T:sphlib-smallclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
19322144970 0 056397 784 800T:sphlibgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
19391450282 0 061709 784 800T:sphlib-adaptedgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
19898219888 0 029334 808 728T:sphlib-smallclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
19994844798 0 055836 776 800T:sphlibgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
20244741870 0 051856 760 768T:sphlibgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
20307047211 0 058252 776 800T:sphlib-adaptedgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
20536648321 0 060900 816 728T:sphlibclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
20612244705 0 054688 760 768T:sphlib-adaptedgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
20689969440 0 080030 840 728T:mmxclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
20811751409 0 064004 816 728T:sphlib-adaptedclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
21665021498 0 032925 784 800T:sphlib-smallgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
21665022426 0 035213 784 800T:sphlib-smallgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
21932469867 0 082606 840 728T:mmxclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
22159218261 0 028240 760 768T:sphlib-smallgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
22591821606 0 032028 816 728T:sphlib-smallclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
23484373736 0 083793 768 768T:mmxgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
23537520093 0 031132 776 800T:sphlib-smallgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
24595975413 0 088302 792 800T:mmxgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
25863643633 0 126453560 760 2032T:vperm-intrgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
27101221905 0 034276 816 728T:sphlib-smallclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
28444554113 0 126465092 776 2064T:vperm-intrgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
28508255456 0 126466829 784 2064T:vperm-intrgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
28508255849 0 126468605 784 2064T:vperm-intrgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
28870163881 0 219275739 824 2928T:vperm-intrclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
28875763881 0 219274563 824 2928T:vperm-intrclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
28925461592 0 219271277 816 2928T:vperm-intrclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
29670975014 0 086526 792 800T:mmxgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
30587972371 0 083485 784 800T:mmxgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
31315227304 0 040110 840 728T:opt32clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
32071927240 0 038870 840 728T:opt32clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
33532121902 0 033406 792 800T:opt32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
34233523614 0 036518 792 800T:opt32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
35006321262 0 032421 784 800T:opt32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
35935224427 0 034214 824 728T:opt32clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
36463722171 0 032265 768 768T:opt32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
36810211125 0 023790 776 800T:32bit-2ktablegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
37402425861 0 036478 840 728T:opt32clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
4165569371 0 021908 816 728T:32bit-2ktableclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
4165989211 0 020572 816 728T:32bit-2ktableclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
41946112083 0 021945 752 768T:32bit-2ktablegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
42252027398 0 040206 840 728T:opt32clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
4310328480 0 018086 808 728T:32bit-2ktableclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
43852911788 0 023086 776 800T:32bit-2ktablegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
4702608992 0 019356 816 728T:32bit-2ktableclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
4713109206 0 021740 816 728T:32bit-2ktableclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
5032934967 0 017630 776 800T:32bit-bytesliced-c-smallgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
5679733320 0 014652 816 728T:32bit-bytesliced-c-smallclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
5708645188 0 017692 816 728T:32bit-bytesliced-c-smallclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
58060111102 0 022013 768 800T:32bit-2ktablegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
6224965031 0 017564 816 728T:32bit-bytesliced-c-fastclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
6271376118 0 018822 776 800T:32bit-bytesliced-c-fastgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
6358874814 0 016180 816 728T:32bit-bytesliced-c-fastclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
6456873714 0 015054 776 800T:32bit-bytesliced-c-fastgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
6503355696 0 018236 816 728T:32bit-bytesliced-c-fastclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
6792034577 0 015868 816 728T:8bit_cclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
6952894577 0 017044 816 728T:8bit_cclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
6976554060 0 013606 808 728T:8bit_cclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
7209093268 0 012886 808 728T:32bit-bytesliced-c-fastclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
7213364357 0 014732 816 728T:32bit-bytesliced-c-fastclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
755993115847 0 2272126291 824 3008T:vperm-intrclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
7721495892 0 018404 816 728T:32bit-bytesliced-c-smallclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
7982104474 0 014780 816 728T:8bit_cclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
8092634923 0 017637 784 800T:8bit_cgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
8263782758 0 012625 752 768T:32bit-bytesliced-c-fastgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
8530344872 0 016213 784 800T:8bit_cgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
8746224408 0 016876 816 728T:8bit_cclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
8961543041 0 013997 768 800T:32bit-bytesliced-c-fastgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
9137104155 0 014056 760 768T:8bit_cgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
9586504719 0 015676 776 800T:8bit_cgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
10727782057 0 011630 808 728T:32bit-bytesliced-c-smallclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
11863042322 0 013614 776 800T:32bit-bytesliced-c-smallgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
13019023360 0 013676 816 728T:32bit-bytesliced-c-smallclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
13173931853 0 011665 752 768T:32bit-bytesliced-c-smallgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
19257772575 0 013485 768 800T:32bit-bytesliced-c-smallgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212

Test failure

Implementation: T:aesni
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
error 111

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
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:389:8: error: invalid operand for instruction
hash.c: asm ("movaps xmm12, [rdi+0*16]");
hash.c: ^
hash.c: <inline asm>: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: <inline asm>: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: <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-intr
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: In file included from hash.c:28:
hash.c: ./groestl-intr-aes.h:423: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:220: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: a0 = _mm_aesenclast_si128(a0, b0);\
hash.c: ^
hash.c: ./groestl-intr-aes.h:423: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:220: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: a1 = _mm_aesenclast_si128(a1, b0);\
hash.c: ^
hash.c: ./groestl-intr-aes.h:423: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:220: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:201:8: note: expanded from macro 'ROUND'
hash.c: a2 = _mm_aesenclast_si128(a2, b0);\
hash.c: ^
hash.c: ./groestl-intr-aes.h:423: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: 4, 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

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:370: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_A(xmm12, xmm13, xmm14, xmm15, xmm2, xmm6, xmm7, xmm0);
hash.c: ^
hash.c: ./groestl-intr-aes.h:242:8: note: expanded from macro 'Matrix_Transpose_A'
hash.c: i0 = _mm_shuffle_epi8(i0, t0);\
hash.c: ^
hash.c: ./groestl-intr-aes.h:370: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:243:8: note: expanded from macro 'Matrix_Transpose_A'
hash.c: i1 = _mm_shuffle_epi8(i1, t0);\
hash.c: ^
hash.c: ./groestl-intr-aes.h:370: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:244:8: note: expanded from macro 'Matrix_Transpose_A'
hash.c: i2 = _mm_shuffle_epi8(i2, t0);\
hash.c: ^
hash.c: ./groestl-intr-aes.h:370: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:245:8: note: expanded from macro 'Matrix_Transpose_A'
hash.c: i3 = _mm_shuffle_epi8(i3, t0);\
hash.c: ^
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: ...

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:aesni-intr
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hash.c: In file included from groestl-intr-aes.h:11,
hash.c: from hash.c:28:
hash.c: groestl-intr-aes.h: In function 'TF512':
hash.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/wmmintrin.h:69:1: error: inlining failed in call to 'always_inline' '_mm_aesenclast_si128': target specific option mismatch
hash.c: 69 | _mm_aesenclast_si128 (__m128i __X, __m128i __Y)
hash.c: | ^~~~~~~~~~~~~~~~~~~~
hash.c: In file included from hash.c:28:
hash.c: groestl-intr-aes.h:211:8: note: called from here
hash.c: 211 | a7 = _mm_aesenclast_si128(a7, b0);\
hash.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: groestl-intr-aes.h:229:3: note: in expansion of macro 'ROUND'
hash.c: 229 | 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:423:3: note: in expansion of macro 'ROUNDS_P_Q'
hash.c: 423 | ROUNDS_P_Q();
hash.c: | ^~~~~~~~~~
hash.c: In file included from groestl-intr-aes.h:11,
hash.c: from hash.c:28:
hash.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/wmmintrin.h:69:1: error: inlining failed in call to 'always_inline' '_mm_aesenclast_si128': target specific option mismatch
hash.c: 69 | _mm_aesenclast_si128 (__m128i __X, __m128i __Y)
hash.c: | ^~~~~~~~~~~~~~~~~~~~
hash.c: In file included from hash.c:28:
hash.c: groestl-intr-aes.h:209:8: note: called from here
hash.c: 209 | 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 -fPIC -fPIE T:aesni-intr
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:aesni-intr
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:aesni-intr
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -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:69: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:69: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: 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: <inline asm>: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: 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 -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: In file included from hash.c:9:
hash.c: ./groestl-intr-avx.h:406: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:227: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:205:8: note: expanded from macro 'ROUND'
hash.c: a0 = _mm_aesenclast_si128(a0, b7);\
hash.c: ^
hash.c: ./groestl-intr-avx.h:406: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:227: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:207:8: note: expanded from macro 'ROUND'
hash.c: a1 = _mm_aesenclast_si128(a1, b7);\
hash.c: ^
hash.c: ./groestl-intr-avx.h:406: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:227: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:209:8: note: expanded from macro 'ROUND'
hash.c: a2 = _mm_aesenclast_si128(a2, b7);\
hash.c: ^
hash.c: ./groestl-intr-avx.h:406: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: 4, namely:
CompilerImplementations
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

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:9:
hash.c: ./groestl-intr-avx.h:356: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_A(xmm12, xmm13, xmm14, xmm15, xmm2, xmm6, xmm7, xmm0);
hash.c: ^
hash.c: ./groestl-intr-avx.h:249:8: note: expanded from macro 'Matrix_Transpose_A'
hash.c: i0 = _mm_shuffle_epi8(i0, t0);\
hash.c: ^
hash.c: ./groestl-intr-avx.h:356: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:250:8: note: expanded from macro 'Matrix_Transpose_A'
hash.c: i1 = _mm_shuffle_epi8(i1, t0);\
hash.c: ^
hash.c: ./groestl-intr-avx.h:356: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:251:8: note: expanded from macro 'Matrix_Transpose_A'
hash.c: i2 = _mm_shuffle_epi8(i2, t0);\
hash.c: ^
hash.c: ./groestl-intr-avx.h:356: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:252:8: note: expanded from macro 'Matrix_Transpose_A'
hash.c: i3 = _mm_shuffle_epi8(i3, t0);\
hash.c: ^
hash.c: hash.c:69: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:69: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: ...

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:avx-intr
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hash.c: In file included from groestl-intr-avx.h:11,
hash.c: from hash.c:9:
hash.c: groestl-intr-avx.h: In function 'TF512':
hash.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/wmmintrin.h:69:1: error: inlining failed in call to 'always_inline' '_mm_aesenclast_si128': target specific option mismatch
hash.c: 69 | _mm_aesenclast_si128 (__m128i __X, __m128i __Y)
hash.c: | ^~~~~~~~~~~~~~~~~~~~
hash.c: In file included from hash.c:9:
hash.c: groestl-intr-avx.h:219:8: note: called from here
hash.c: 219 | a7 = _mm_aesenclast_si128(a7, b7);\
hash.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: groestl-intr-avx.h:236:3: note: in expansion of macro 'ROUND'
hash.c: 236 | 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:406:3: note: in expansion of macro 'ROUNDS_P_Q'
hash.c: 406 | ROUNDS_P_Q();
hash.c: | ^~~~~~~~~~
hash.c: In file included from groestl-intr-avx.h:11,
hash.c: from hash.c:9:
hash.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/wmmintrin.h:69:1: error: inlining failed in call to 'always_inline' '_mm_aesenclast_si128': target specific option mismatch
hash.c: 69 | _mm_aesenclast_si128 (__m128i __X, __m128i __Y)
hash.c: | ^~~~~~~~~~~~~~~~~~~~
hash.c: In file included from hash.c:9:
hash.c: groestl-intr-avx.h:217:8: note: called from here
hash.c: 217 | 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 -fPIC -fPIE T:avx-intr
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx-intr
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx-intr
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx-intr

Compiler output

Implementation: T:core2duo
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_hash_groestl256.a(hash.o): relocation R_X86_64_32S against symbol `T0' can not be used when making a PIE object; recompile with -fPIE
try.c: /usr/bin/ld: failed to set dynamic section sizes: bad value
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

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

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_groestl256.a(hash.o): in function `Transform':
try.c: hash.c:(.text+0x...): undefined reference to `Q512ASM'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `P512ASM'
try.c: /usr/bin/ld: libcrypto_hash_groestl256.a(hash.o): in function `OutputTransformation':
try.c: hash.c:(.text+0x...): undefined reference to `P512ASM'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 9, 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
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opteron-unrolled
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opteron-unrolled
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opteron-unrolled

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_groestl256.a(hash.o): in function `Transform.constprop.0':
try.c: hash.c:(.text+0x...): undefined reference to `Q512ASM'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `P512ASM'
try.c: /usr/bin/ld: libcrypto_hash_groestl256.a(hash.o): in function `Transform':
try.c: hash.c:(.text+0x...): undefined reference to `Q512ASM'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `P512ASM'
try.c: /usr/bin/ld: libcrypto_hash_groestl256.a(hash.o): in function `OutputTransformation':
try.c: hash.c:(.text+0x...): undefined reference to `P512ASM'
try.c: /usr/bin/ld: libcrypto_hash_groestl256.a(hash.o): in function `Final':
try.c: hash.c:(.text+0x...): undefined reference to `P512ASM'
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-unrolled

Compiler output

Implementation: T:opt64
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_hash_groestl256.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_groestl256.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_groestl256.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: 4, 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 -march=native -O -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 -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_hash_groestl256.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: 1, namely:
CompilerImplementations
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
try.c: /usr/bin/ld: libcrypto_hash_groestl256.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
try.c: /usr/bin/ld: libcrypto_hash_groestl256.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_groestl256.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_groestl256.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
try.c: /usr/bin/ld: libcrypto_hash_groestl256.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:opteron
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_hash_groestl256.a(hash.o): relocation R_X86_64_32S against symbol `T0' can not be used when making a PIE object; recompile with -fPIE
try.c: /usr/bin/ld: failed to set dynamic section sizes: bad value
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:opteron

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: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: <inline asm>: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: 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_groestl256.a(hash.o): relocation R_X86_64_32S against symbol `ROUND_CONST_Lx' can not be used when making a PIE object; recompile with -fPIE
try.c: /usr/bin/ld: failed to set dynamic section sizes: bad value
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 -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: 4, namely:
CompilerImplementations
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: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:653: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:636:3: note: expanded from macro 'VPERM_Transform_RoundConst'
hash.c: VPERM_Transform(xmm0, xmm1, VPERM_IPT, xmm4, xmm5, xmm6, xmm7, xmm8, xmm9, xmm10);\
hash.c: ^
hash.c: ./groestl-intr-vperm.h:119:3: note: expanded from macro 'VPERM_Transform'
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:653: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:636:3: note: expanded from macro 'VPERM_Transform_RoundConst'
hash.c: VPERM_Transform(xmm0, xmm1, VPERM_IPT, xmm4, xmm5, xmm6, xmm7, xmm8, xmm9, xmm10);\
hash.c: ^
hash.c: ./groestl-intr-vperm.h:119:3: note: expanded from macro 'VPERM_Transform'
hash.c: VPERM_Transform_No_Const(a0, a1, t0, t1, t2, t3, c0, c1, c2);\
hash.c: ^
hash.c: ./groestl-intr-vperm.h:89:8: note: expanded from macro 'VPERM_Transform_No_Const'
hash.c: t3 = _mm_shuffle_epi8(t3, a1);\
hash.c: ^
hash.c: ./groestl-intr-vperm.h:653: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:636:3: note: expanded from macro 'VPERM_Transform_RoundConst'
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