Implementation notes: aarch64, rockpi4, crypto_hash/groestl512

Computer: rockpi4
Architecture: aarch64
CPU ID: unknown CPU ID
SUPERCOP version: 20190816
Operation: crypto_hash
Primitive: groestl512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
6855840252 0 052719 896 760sphlib-adaptedgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
7021036164 0 049575 896 744sphlibgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
7103635796 0 046975 896 744sphlibgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
7516638932 0 049343 880 736sphlib-adaptedgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
7516638928 0 049391 880 736sphlib-adaptedgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
7557935708 0 046167 880 736sphlibgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
7805738932 0 049343 880 736sphlib-adaptedgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091120190816
7888336764 0 047967 896 744sphlibgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091120190816
8425235724 0 046119 880 736sphlibgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
8549140152 0 051359 896 744sphlib-adaptedgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
8631740152 0 051359 896 744sphlib-adaptedgcc_-O_-fomit-frame-pointer2019091120190816
8755638920 0 053351 896 744sphlibgcc_-funroll-loops_-O_-fomit-frame-pointer2019091120190816
8920838928 0 049391 880 736sphlib-adaptedgcc_-funroll-loops_-Os_-fomit-frame-pointer2019091120190816
9168638932 0 050175 896 744sphlibgcc_-O2_-fomit-frame-pointer2019091120190816
9168639044 0 050399 896 744sphlibgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091120190816
9209942396 0 054887 896 760sphlib-adaptedgcc_-O3_-fomit-frame-pointer2019091120190816
9251240152 0 051359 896 744sphlib-adaptedgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091120190816
9416415512 0 028756 800 768sphlib-smallclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091120190816
9416415512 0 028804 800 768sphlib-smallclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091120190816
9622940864 0 054244 800 768sphlibclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091120190816
9829416228 0 028711 896 760sphlib-smallgcc_-O3_-fomit-frame-pointer2019091120190816
9829415932 0 029343 896 744sphlib-smallgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
10035914908 0 025367 880 736sphlib-smallgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
10118542460 0 056903 896 744sphlib-adaptedgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
10242442460 0 056903 896 744sphlib-adaptedgcc_-funroll-loops_-O_-fomit-frame-pointer2019091120190816
10242415220 0 026471 896 744sphlib-smallgcc_-O2_-fomit-frame-pointer2019091120190816
10325014904 0 025303 880 736sphlib-smallgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
10614115228 0 026423 896 744sphlib-smallgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
10696743728 0 057108 800 768sphlib-adaptedclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091120190816
10779338948 0 052271 896 744sphlibgcc_-funroll-loops_-O2_-fomit-frame-pointer2019091120190816
10779343728 0 057108 800 768sphlib-adaptedclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091120190816
11027135724 0 046119 880 736sphlibgcc_-Os_-fomit-frame-pointer2019091120190816
11151014904 0 025303 880 736sphlib-smallgcc_-Os_-fomit-frame-pointer2019091120190816
11151014904 0 025303 880 736sphlib-smallgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091120190816
11605343448 0 056836 800 768sphlib-adaptedclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091120190816
11687917804 0 032239 896 744sphlib-smallgcc_-funroll-loops_-O_-fomit-frame-pointer2019091120190816
11935741532 0 054127 896 760sphlib-adaptedgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091120190816
12390039916 0 053759 896 760sphlibgcc_-funroll-loops_-O3_-fomit-frame-pointer2019091120190816
12513942324 0 056199 896 760sphlib-adaptedgcc_-funroll-loops_-O3_-fomit-frame-pointer2019091120190816
12596539276 0 051855 896 760sphlibgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091120190816
12885640012 0 052479 896 760sphlibgcc_-O3_-fomit-frame-pointer2019091120190816
13918139880 0 053268 800 768sphlibclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091120190816
14496340980 0 054391 896 744sphlib-adaptedgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
14826736996 0 050815 896 760sphlibgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
14868035708 0 046167 880 736sphlibgcc_-funroll-loops_-Os_-fomit-frame-pointer2019091120190816
14868040172 0 053999 896 760sphlib-adaptedgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
14909344396 0 055639 896 744sphlib-adaptedgcc_-O2_-fomit-frame-pointer2019091120190816
14991940864 0 054196 800 768sphlibclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091120190816
15198444524 0 055879 896 744sphlib-adaptedgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091120190816
15404957240 0 074735 880 744sphlibcc2019091120190816
15570116020 0 028615 896 760sphlib-smallgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091120190816
15694016196 0 030055 896 760sphlib-smallgcc_-funroll-loops_-O3_-fomit-frame-pointer2019091120190816
15859215740 0 029079 896 744sphlib-smallgcc_-funroll-loops_-O2_-fomit-frame-pointer2019091120190816
16065715348 0 026711 896 744sphlib-smallgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091120190816
16107044572 0 057911 896 744sphlib-adaptedgcc_-funroll-loops_-O2_-fomit-frame-pointer2019091120190816
16107015376 0 028660 800 768sphlib-smallclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091120190816
16230937044 0 049503 896 760sphlibgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
16933040876 0 052071 896 744sphlib-adaptedgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
18048162728 0 080231 880 744sphlib-adaptedcc2019091120190816
18337257240 0 074735 880 744sphlibgcc2019091120190816
18461116292 0 030127 896 760sphlib-smallgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
18667640864 0 054244 800 768sphlibclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091120190816
18708940864 0 054244 800 768sphlibclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091120190816
18708914908 0 025367 880 736sphlib-smallgcc_-funroll-loops_-Os_-fomit-frame-pointer2019091120190816
18956743728 0 057060 800 768sphlib-adaptedclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091120190816
18956743728 0 057108 800 768sphlib-adaptedclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091120190816
19328415512 0 028804 800 768sphlib-smallclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091120190816
19369715512 0 028804 800 768sphlib-smallclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091120190816
19617535724 0 046119 880 736sphlibgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091120190816
19906638932 0 049343 880 736sphlib-adaptedgcc_-Os_-fomit-frame-pointer2019091120190816
20650036764 0 047967 896 744sphlibgcc_-O_-fomit-frame-pointer2019091120190816
20773926877 0 043591 912 760opt32gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
20897827069 0 043911 912 760opt32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091120190816
20980424345 0 034742 888 736opt32gcc_-Os_-fomit-frame-pointer2019091120190816
20980438920 0 053351 896 744sphlibgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
21021727377 0 040758 904 744opt32gcc_-funroll-loops_-O2_-fomit-frame-pointer2019091120190816
21021724405 0 034878 888 736opt32gcc_-funroll-loops_-Os_-fomit-frame-pointer2019091120190816
21021727553 0 041022 904 744opt32gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
21021727521 0 041990 904 744opt32gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
21104324833 0 036110 904 744opt32gcc_-O2_-fomit-frame-pointer2019091120190816
21228229941 0 043538 824 768opt32clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091120190816
21228229985 0 043634 824 768opt32clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091120190816
21228224825 0 036086 904 744opt32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091120190816
22136836764 0 047967 896 744sphlibgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
22384616308 0 028783 896 760sphlib-smallgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
23169324901 0 036142 904 744opt32gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
28910028373 0 042375 912 760opt32gcc_-funroll-loops_-O3_-fomit-frame-pointer2019091120190816
29157827037 0 043767 912 760opt32gcc_-O3_-fomit-frame-pointer2019091120190816
29694724857 0 036230 904 744opt32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091120190816
30066428317 0 042295 912 760opt32gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
30520724405 0 034878 888 736opt32gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
31429329985 0 043634 824 768opt32clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091120190816
31429329985 0 043634 824 768opt32clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091120190816
33205228132 0 045639 880 744sphlib-smallgcc2019091120190816
33329128132 0 045639 880 744sphlib-smallcc2019091120190816
33329128132 0 045639 880 744sphlib-smallgcc_-funroll-loops2019091120190816
3415515792 0 019014 888 74432bit-bytesliced-c-smallgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
34320329837 0 043474 824 768opt32clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091120190816
3440294492 0 017892 800 76832bit-bytesliced-c-smallclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091120190816
3531154492 0 017892 800 76832bit-bytesliced-c-smallclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091120190816
3729395664 0 018822 888 74432bit-bytesliced-c-smallgcc_-funroll-loops_-O2_-fomit-frame-pointer2019091120190816
38202517804 0 032239 896 744sphlib-smallgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
38367716128 0 027343 896 744sphlib-smallgcc_-O_-fomit-frame-pointer2019091120190816
38367716128 0 027343 896 744sphlib-smallgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091120190816
38409016128 0 027343 896 744sphlib-smallgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
3940024464 0 016943 896 76032bit-bytesliced-c-smallgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091120190816
4026754424 0 016815 896 76032bit-bytesliced-c-smallgcc_-O3_-fomit-frame-pointer2019091120190816
4200215400 0 019678 888 74432bit-bytesliced-c-smallgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
43860624345 0 034742 888 736opt32gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
43901924341 0 034742 888 736opt32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091120190816
43984524729 0 035950 904 744opt32gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
51914157240 0 074735 880 744sphlibgcc_-funroll-loops2019091120190816
52038024901 0 036142 904 744opt32gcc_-O_-fomit-frame-pointer2019091120190816
52161927521 0 041990 904 744opt32gcc_-funroll-loops_-O_-fomit-frame-pointer2019091120190816
55218162728 0 080231 880 744sphlib-adaptedgcc2019091120190816
56044162728 0 080231 880 744sphlib-adaptedgcc_-funroll-loops2019091120190816
56457149549 0 062958 888 744opt32gcc_-funroll-loops2019091120190816
6075236600 0 020359 896 76032bit-bytesliced-c-smallgcc_-funroll-loops_-O3_-fomit-frame-pointer2019091120190816
6108276608 0 020327 896 76032bit-bytesliced-c-smallgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
6719514516 0 017860 800 76832bit-bytesliced-c-smallclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091120190816
6719511888 0 012102 872 73632bit-bytesliced-c-smallgcc_-Os_-fomit-frame-pointer2019091120190816
6719511888 0 012102 872 73632bit-bytesliced-c-smallgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
6723641888 0 012102 872 73632bit-bytesliced-c-smallgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091120190816
6859934316 0 017716 800 76832bit-bytesliced-c-smallclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091120190816
7252284492 0 017892 800 76832bit-bytesliced-c-smallclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091120190816
7739622532 0 013590 888 74432bit-bytesliced-c-smallgcc_-O_-fomit-frame-pointer2019091120190816
7739622532 0 013590 888 74432bit-bytesliced-c-smallgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
7913084416 0 016783 896 76032bit-bytesliced-c-smallgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
10998195400 0 019678 888 74432bit-bytesliced-c-smallgcc_-funroll-loops_-O_-fomit-frame-pointer2019091120190816
15276872192 0 013270 888 74432bit-bytesliced-c-smallgcc_-O2_-fomit-frame-pointer2019091120190816
15421422200 0 013214 888 74432bit-bytesliced-c-smallgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
15483371936 0 012206 872 73632bit-bytesliced-c-smallgcc_-funroll-loops_-Os_-fomit-frame-pointer2019091120190816
15623792208 0 013382 888 74432bit-bytesliced-c-smallgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091120190816
15627921936 0 012206 872 73632bit-bytesliced-c-smallgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
183619849549 0 062958 888 744opt32cc2019091120190816
183743749549 0 062958 888 744opt32gcc2019091120190816
18651082544 0 013590 888 74432bit-bytesliced-c-smallgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091120190816
53305914048 0 017262 872 74432bit-bytesliced-c-smallgcc_-funroll-loops2019091120190816
53347214048 0 017262 872 74432bit-bytesliced-c-smallgcc2019091120190816
91735564048 0 017262 872 74432bit-bytesliced-c-smallcc2019091120190816

Compiler output

Implementation: mmx
Security model: unknown
Compiler: cc
hash.c: hash.c:897:2: error: #error "MMX instructions must be enabled"
hash.c: #error "MMX instructions must be enabled"
hash.c: ^~~~~

Number of similar (compiler,implementation) pairs: 23, namely:
CompilerImplementations
cc mmx
gcc mmx
gcc -O2 -fomit-frame-pointer mmx
gcc -O3 -fomit-frame-pointer mmx
gcc -O -fomit-frame-pointer mmx
gcc -Os -fomit-frame-pointer mmx
gcc -fno-schedule-insns -O2 -fomit-frame-pointer mmx
gcc -fno-schedule-insns -O3 -fomit-frame-pointer mmx
gcc -fno-schedule-insns -O -fomit-frame-pointer mmx
gcc -fno-schedule-insns -Os -fomit-frame-pointer mmx
gcc -funroll-loops mmx
gcc -funroll-loops -O2 -fomit-frame-pointer mmx
gcc -funroll-loops -O3 -fomit-frame-pointer mmx
gcc -funroll-loops -O -fomit-frame-pointer mmx
gcc -funroll-loops -Os -fomit-frame-pointer mmx
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer mmx
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer mmx
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer mmx
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer mmx
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv mmx
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv mmx
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv mmx
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv mmx

Compiler output

Implementation: mmx
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
hash.c: hash.c:897:2: error: "MMX instructions must be enabled"
hash.c: #error "MMX instructions must be enabled"
hash.c: ^
hash.c: 1 error generated.

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments mmx
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments mmx
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments mmx
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments mmx
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments mmx

Compiler output

Implementation: opt64
Security model: unknown
Compiler: cc
hash.c: hash.c:194:14: warning: 'inP' is static but declared in inline function 'F1024' which is not static
hash.c: static u64 inP[COLS1024] __attribute__((aligned(16)));
hash.c: ^~~
hash.c: hash.c:193:14: warning: 'outQ' is static but declared in inline function 'F1024' which is not static
hash.c: static u64 outQ[COLS1024] __attribute__((aligned(16)));
hash.c: ^~~~
hash.c: hash.c:192:14: warning: 'z' is static but declared in inline function 'F1024' which is not static
hash.c: static u64 z[COLS1024] __attribute__((aligned(16)));
hash.c: ^
hash.c: hash.c:191:14: warning: 'y' is static but declared in inline function 'F1024' which is not static
hash.c: static u64 y[COLS1024] __attribute__((aligned(16)));
hash.c: ^
try.c: /usr/bin/ld: crypto_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: 8, namely:
CompilerImplementations
cc opt64
gcc opt64
gcc -Os -fomit-frame-pointer opt64
gcc -fno-schedule-insns -Os -fomit-frame-pointer opt64
gcc -funroll-loops opt64
gcc -funroll-loops -Os -fomit-frame-pointer opt64
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer opt64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv opt64

Compiler output

Implementation: opt64
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
hash.c: hash.c:191:3: warning: non-constant static local variable in inline function may be different in different files [-Wstatic-local-in-inline]
hash.c: static u64 y[COLS1024] __attribute__((aligned(16)));
hash.c: ^
hash.c: hash.c:190:1: note: use 'static' to give inline function 'F1024' internal linkage
hash.c: inline void F1024(u64 *h, const u64 *m) {
hash.c: ^
hash.c: static
hash.c: hash.c:192:3: warning: non-constant static local variable in inline function may be different in different files [-Wstatic-local-in-inline]
hash.c: static u64 z[COLS1024] __attribute__((aligned(16)));
hash.c: ^
hash.c: hash.c:190:1: note: use 'static' to give inline function 'F1024' internal linkage
hash.c: inline void F1024(u64 *h, const u64 *m) {
hash.c: ^
hash.c: static
hash.c: hash.c:193:3: warning: non-constant static local variable in inline function may be different in different files [-Wstatic-local-in-inline]
hash.c: static u64 outQ[COLS1024] __attribute__((aligned(16)));
hash.c: ^
hash.c: hash.c:190:1: note: use 'static' to give inline function 'F1024' internal linkage
hash.c: inline void F1024(u64 *h, const u64 *m) {
hash.c: ^
hash.c: static
hash.c: hash.c:194:3: warning: non-constant static local variable in inline function may be different in different files [-Wstatic-local-in-inline]
hash.c: static u64 inP[COLS1024] __attribute__((aligned(16)));
hash.c: ^
hash.c: hash.c:190:1: note: use 'static' to give inline function 'F1024' internal linkage
hash.c: ...
try.c: /usr/bin/ld: crypto_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: crypto_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 `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 `F1024'
try.c: /usr/bin/ld: crypto_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: 4, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments opt64
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments opt64
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments opt64
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments opt64

Compiler output

Implementation: opt64
Security model: unknown
Compiler: clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
hash.c: hash.c:191:3: warning: non-constant static local variable in inline function may be different in different files [-Wstatic-local-in-inline]
hash.c: static u64 y[COLS1024] __attribute__((aligned(16)));
hash.c: ^
hash.c: hash.c:190:1: note: use 'static' to give inline function 'F1024' internal linkage
hash.c: inline void F1024(u64 *h, const u64 *m) {
hash.c: ^
hash.c: static
hash.c: hash.c:192:3: warning: non-constant static local variable in inline function may be different in different files [-Wstatic-local-in-inline]
hash.c: static u64 z[COLS1024] __attribute__((aligned(16)));
hash.c: ^
hash.c: hash.c:190:1: note: use 'static' to give inline function 'F1024' internal linkage
hash.c: inline void F1024(u64 *h, const u64 *m) {
hash.c: ^
hash.c: static
hash.c: hash.c:193:3: warning: non-constant static local variable in inline function may be different in different files [-Wstatic-local-in-inline]
hash.c: static u64 outQ[COLS1024] __attribute__((aligned(16)));
hash.c: ^
hash.c: hash.c:190:1: note: use 'static' to give inline function 'F1024' internal linkage
hash.c: inline void F1024(u64 *h, const u64 *m) {
hash.c: ^
hash.c: static
hash.c: hash.c:194:3: warning: non-constant static local variable in inline function may be different in different files [-Wstatic-local-in-inline]
hash.c: static u64 inP[COLS1024] __attribute__((aligned(16)));
hash.c: ^
hash.c: hash.c:190:1: note: use 'static' to give inline function 'F1024' internal linkage
hash.c: ...
try.c: /usr/bin/ld: crypto_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: crypto_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: crypto_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: 1, namely:
CompilerImplementations
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments opt64

Compiler output

Implementation: opt64
Security model: unknown
Compiler: gcc -O2 -fomit-frame-pointer
hash.c: hash.c:194:14: warning: 'inP' is static but declared in inline function 'F1024' which is not static
hash.c: static u64 inP[COLS1024] __attribute__((aligned(16)));
hash.c: ^~~
hash.c: hash.c:193:14: warning: 'outQ' is static but declared in inline function 'F1024' which is not static
hash.c: static u64 outQ[COLS1024] __attribute__((aligned(16)));
hash.c: ^~~~
hash.c: hash.c:192:14: warning: 'z' is static but declared in inline function 'F1024' which is not static
hash.c: static u64 z[COLS1024] __attribute__((aligned(16)));
hash.c: ^
hash.c: hash.c:191:14: warning: 'y' is static but declared in inline function 'F1024' which is not static
hash.c: static u64 y[COLS1024] __attribute__((aligned(16)));
hash.c: ^
try.c: /usr/bin/ld: crypto_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: 6, namely:
CompilerImplementations
gcc -O2 -fomit-frame-pointer opt64
gcc -O -fomit-frame-pointer opt64
gcc -fno-schedule-insns -O2 -fomit-frame-pointer opt64
gcc -fno-schedule-insns -O -fomit-frame-pointer opt64
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv opt64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv opt64

Compiler output

Implementation: opt64
Security model: unknown
Compiler: gcc -O3 -fomit-frame-pointer
hash.c: hash.c:194:14: warning: 'inP' is static but declared in inline function 'F1024' which is not static
hash.c: static u64 inP[COLS1024] __attribute__((aligned(16)));
hash.c: ^~~
hash.c: hash.c:193:14: warning: 'outQ' is static but declared in inline function 'F1024' which is not static
hash.c: static u64 outQ[COLS1024] __attribute__((aligned(16)));
hash.c: ^~~~
hash.c: hash.c:192:14: warning: 'z' is static but declared in inline function 'F1024' which is not static
hash.c: static u64 z[COLS1024] __attribute__((aligned(16)));
hash.c: ^
hash.c: hash.c:191:14: warning: 'y' is static but declared in inline function 'F1024' which is not static
hash.c: static u64 y[COLS1024] __attribute__((aligned(16)));
hash.c: ^
try.c: /usr/bin/ld: crypto_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: crypto_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: crypto_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: 3, namely:
CompilerImplementations
gcc -O3 -fomit-frame-pointer opt64
gcc -fno-schedule-insns -O3 -fomit-frame-pointer opt64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv opt64

Compiler output

Implementation: opt64
Security model: unknown
Compiler: gcc -funroll-loops -O2 -fomit-frame-pointer
hash.c: hash.c:194:14: warning: 'inP' is static but declared in inline function 'F1024' which is not static
hash.c: static u64 inP[COLS1024] __attribute__((aligned(16)));
hash.c: ^~~
hash.c: hash.c:193:14: warning: 'outQ' is static but declared in inline function 'F1024' which is not static
hash.c: static u64 outQ[COLS1024] __attribute__((aligned(16)));
hash.c: ^~~~
hash.c: hash.c:192:14: warning: 'z' is static but declared in inline function 'F1024' which is not static
hash.c: static u64 z[COLS1024] __attribute__((aligned(16)));
hash.c: ^
hash.c: hash.c:191:14: warning: 'y' is static but declared in inline function 'F1024' which is not static
hash.c: static u64 y[COLS1024] __attribute__((aligned(16)));
hash.c: ^
try.c: /usr/bin/ld: crypto_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 `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 `F1024'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F1024'
try.c: /usr/bin/ld: crypto_hash_groestl512.a(hash.o):hash.c:(.text+0x...): more undefined references to `F1024' follow
try.c: /usr/bin/ld: crypto_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 `F512'
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: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F512'
try.c: /usr/bin/ld: crypto_hash_groestl512.a(hash.o):hash.c:(.text+0x...): more undefined references to `F512' follow
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -funroll-loops -O2 -fomit-frame-pointer opt64
gcc -funroll-loops -O -fomit-frame-pointer opt64
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer opt64
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer opt64

Compiler output

Implementation: opt64
Security model: unknown
Compiler: gcc -funroll-loops -O3 -fomit-frame-pointer
hash.c: hash.c:194:14: warning: 'inP' is static but declared in inline function 'F1024' which is not static
hash.c: static u64 inP[COLS1024] __attribute__((aligned(16)));
hash.c: ^~~
hash.c: hash.c:193:14: warning: 'outQ' is static but declared in inline function 'F1024' which is not static
hash.c: static u64 outQ[COLS1024] __attribute__((aligned(16)));
hash.c: ^~~~
hash.c: hash.c:192:14: warning: 'z' is static but declared in inline function 'F1024' which is not static
hash.c: static u64 z[COLS1024] __attribute__((aligned(16)));
hash.c: ^
hash.c: hash.c:191:14: warning: 'y' is static but declared in inline function 'F1024' which is not static
hash.c: static u64 y[COLS1024] __attribute__((aligned(16)));
hash.c: ^
try.c: /usr/bin/ld: crypto_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 `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 `F1024'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F1024'
try.c: /usr/bin/ld: crypto_hash_groestl512.a(hash.o):hash.c:(.text+0x...): more undefined references to `F1024' follow
try.c: /usr/bin/ld: crypto_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 `F512'
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: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F512'
try.c: /usr/bin/ld: crypto_hash_groestl512.a(hash.o):hash.c:(.text+0x...): more undefined references to `F512' follow
try.c: /usr/bin/ld: crypto_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 `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 `F1024'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F1024'
try.c: /usr/bin/ld: crypto_hash_groestl512.a(hash.o):hash.c:(.text+0x...): more undefined references to `F1024' follow
try.c: /usr/bin/ld: crypto_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 `F512'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F512'
try.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc -funroll-loops -O3 -fomit-frame-pointer opt64
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer opt64