Implementation notes: amd64, hunsnivy, crypto_hash/mgrostl256

Computer: hunsnivy
Microarchitecture: amd64; Ivy Bridge+AES (306a9)
Architecture: amd64
CPU ID: GenuineIntel-000306a9-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_hash
Primitive: mgrostl256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
6938346954 0 035776 796 952T:opt-32gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
7113143802 0 033176 796 952T:opt-32gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
7202142868 0 032271 788 952T:opt-32gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
7793642572 0 031123 772 920T:opt-32gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
8235955010 0 040822 836 888T:opt-32clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
8318256017 0 041254 836 888T:opt-32clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
8326656049 0 042926 836 888T:opt-32clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
8453050263 0 035950 820 888T:opt-32clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
8660550022 0 035366 820 888T:opt-32clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
149815015943 384 028905 1220 888T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
150818016967 384 031481 1220 888T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
151817112247 384 025073 1220 888T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
16359474293 384 014513 1204 888T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
16686394660 384 015361 1204 888T:refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
210819014000 384 025991 1180 952T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
22122015216 384 016231 1180 952T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
32303124475 384 015150 1172 952T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
46324743812 384 013506 1156 920T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625

Compiler output


hash.c: hash.c: In function 'Transform':
hash.c: hash.c:386:5: warning: 'F' may be used uninitialized in this function [-Wmaybe-uninitialized]
hash.c:   386 |     F(ctx->chaining,(u32*)input,(u32*)ctx->counter);//modified oct28
hash.c:       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mGroestl.c: mGroestl.c: In function 'Transform':
mGroestl.c: mGroestl.c:384:5: warning: 'F' may be used uninitialized in this function [-Wmaybe-uninitialized]
mGroestl.c:   384 |     F(ctx->chaining,(u32*)input,(u32*)ctx->counter);//modified oct28
mGroestl.c:       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:opt-32gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:opt-32gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:opt-32gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

Compiler output


hash.c: hash.c: In function 'Transform':
hash.c: hash.c:386:5: warning: 'F' may be used uninitialized in this function [-Wmaybe-uninitialized]
hash.c:   386 |     F(ctx->chaining,(u32*)input,(u32*)ctx->counter);//modified oct28
hash.c:       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: hash.c: In function 'Update':
hash.c: hash.c:386:5: warning: 'F' may be used uninitialized in this function [-Wmaybe-uninitialized]
hash.c:   386 |     F(ctx->chaining,(u32*)input,(u32*)ctx->counter);//modified oct28
hash.c:       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: hash.c:361:10: note: 'F' was declared here
hash.c:   361 |   void (*F)(u32*,const u32*,u32*); //modified oct28
hash.c:       |          ^
hash.c: hash.c: In function 'Hash':
hash.c: hash.c:497:27: warning: 'context.blocksize' may be used uninitialized in this function [-Wmaybe-uninitialized]
hash.c:   497 |   ctx->buffer = malloc(ctx->blocksize);  //modified
hash.c:       |                        ~~~^~~~~~~~~~~
mGroestl.c: mGroestl.c: In function 'Transform':
mGroestl.c: mGroestl.c:384:5: warning: 'F' may be used uninitialized in this function [-Wmaybe-uninitialized]
mGroestl.c:   384 |     F(ctx->chaining,(u32*)input,(u32*)ctx->counter);//modified oct28
mGroestl.c:       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mGroestl.c: mGroestl.c: In function 'Update':
mGroestl.c: mGroestl.c:384:5: warning: 'F' may be used uninitialized in this function [-Wmaybe-uninitialized]
mGroestl.c:   384 |     F(ctx->chaining,(u32*)input,(u32*)ctx->counter);//modified oct28
mGroestl.c:       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mGroestl.c: mGroestl.c:359:10: note: 'F' was declared here
mGroestl.c:   359 |   void (*F)(u32*,const u32*,u32*); //modified oct28
mGroestl.c:       |          ^
mGroestl.c: mGroestl.c: In function 'Hash':
mGroestl.c: mGroestl.c:495:27: warning: 'context.blocksize' may be used uninitialized in this function [-Wmaybe-uninitialized]
mGroestl.c:   495 |   ctx->buffer = malloc(ctx->blocksize);  //modified
mGroestl.c:       |                        ~~~^~~~~~~~~~~

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:opt-32gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

Compiler output


hash.c: hash.c:230:9: warning: unknown pragma ignored [-Wunknown-pragmas]
hash.c: #pragma vector aligned
hash.c:         ^
hash.c: hash.c:239: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:238: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:240: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:238: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:241: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:238: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:242:3: warning: non-constant static local variable in inline function may be different in different files [-Wstatic-local-in-inline]
hash.c: ...
try.c: /usr/bin/ld: libcrypto_hash_mgrostl256.a(hash.o): in function `Transform':
try.c: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/mgrostl256/opt-64/work/hash.c:304: undefined reference to `F512'
try.c: /usr/bin/ld: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/mgrostl256/opt-64/work/hash.c:304: undefined reference to `F512'
try.c: /usr/bin/ld: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/mgrostl256/opt-64/work/hash.c:304: undefined reference to `F512'
try.c: /usr/bin/ld: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/mgrostl256/opt-64/work/hash.c:304: undefined reference to `F512'
try.c: /usr/bin/ld: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/mgrostl256/opt-64/work/hash.c:304: undefined reference to `F512'
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:opt-64clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


hash.c: hash.c:230:9: warning: unknown pragma ignored [-Wunknown-pragmas]
hash.c: #pragma vector aligned
hash.c:         ^
hash.c: hash.c:239: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:238: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:240: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:238: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:241: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:238: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:242:3: warning: non-constant static local variable in inline function may be different in different files [-Wstatic-local-in-inline]
hash.c: ...
try.c: /usr/bin/ld: libcrypto_hash_mgrostl256.a(hash.o): in function `Transform':
try.c: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/mgrostl256/opt-64/work/hash.c:304: undefined reference to `F512'
try.c: /usr/bin/ld: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/mgrostl256/opt-64/work/hash.c:304: undefined reference to `F512'
try.c: /usr/bin/ld: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/mgrostl256/opt-64/work/hash.c:304: undefined reference to `F512'
try.c: /usr/bin/ld: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/mgrostl256/opt-64/work/hash.c:304: undefined reference to `F512'
try.c: /usr/bin/ld: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/mgrostl256/opt-64/work/hash.c:304: undefined reference to `F512'
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:opt-64clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


hash.c: hash.c:230:9: warning: unknown pragma ignored [-Wunknown-pragmas]
hash.c: #pragma vector aligned
hash.c:         ^
hash.c: hash.c:239: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:238: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:240: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:238: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:241: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:238: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:242:3: warning: non-constant static local variable in inline function may be different in different files [-Wstatic-local-in-inline]
hash.c: ...
try.c: /usr/bin/ld: libcrypto_hash_mgrostl256.a(hash.o): in function `Transform':
try.c: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/mgrostl256/opt-64/work/hash.c:304: undefined reference to `F512'
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:opt-64clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


hash.c: hash.c:230:9: warning: unknown pragma ignored [-Wunknown-pragmas]
hash.c: #pragma vector aligned
hash.c:         ^
hash.c: hash.c:239: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:238: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:240: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:238: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:241: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:238: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:242:3: warning: non-constant static local variable in inline function may be different in different files [-Wstatic-local-in-inline]
hash.c: ...
try.c: /usr/bin/ld: libcrypto_hash_mgrostl256.a(hash.o): in function `Transform':
try.c: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/mgrostl256/opt-64/work/hash.c:304: undefined reference to `F512'
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:opt-64clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


hash.c: hash.c:230:9: warning: unknown pragma ignored [-Wunknown-pragmas]
hash.c: #pragma vector aligned
hash.c:         ^
hash.c: hash.c:239: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:238: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:240: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:238: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:241: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:238: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:242:3: warning: non-constant static local variable in inline function may be different in different files [-Wstatic-local-in-inline]
hash.c: ...
try.c: /usr/bin/ld: libcrypto_hash_mgrostl256.a(hash.o): in function `Transform':
try.c: .../supercop-data/hunsnivy/amd64/try/c/clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/mgrostl256/opt-64/work/hash.c:304: undefined reference to `F512'
try.c: /usr/bin/ld: .../supercop-data/hunsnivy/amd64/try/c/clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/mgrostl256/opt-64/work/hash.c:304: undefined reference to `F512'
try.c: /usr/bin/ld: .../supercop-data/hunsnivy/amd64/try/c/clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/mgrostl256/opt-64/work/hash.c:304: undefined reference to `F512'
try.c: /usr/bin/ld: .../supercop-data/hunsnivy/amd64/try/c/clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/mgrostl256/opt-64/work/hash.c:304: undefined reference to `F512'
try.c: /usr/bin/ld: .../supercop-data/hunsnivy/amd64/try/c/clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/mgrostl256/opt-64/work/hash.c:304: undefined reference to `F512'
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:opt-64clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


hash.c: hash.c: In function 'F512':
hash.c: hash.c:230: warning: ignoring '#pragma vector aligned' [-Wunknown-pragmas]
hash.c:   230 | #pragma vector aligned
hash.c:       |
hash.c: hash.c: In function 'F1024':
hash.c: hash.c:267: warning: ignoring '#pragma vector aligned' [-Wunknown-pragmas]
hash.c:   267 | #pragma vector aligned
hash.c:       |
hash.c: hash.c: At top level:
hash.c: hash.c:242:14: warning: 'inP' is static but declared in inline function 'F1024' which is not static
hash.c:   242 |   static u64 inP[COLS1024] __attribute__((aligned(16)));
hash.c:       |              ^~~
hash.c: hash.c:241:14: warning: 'outQ' is static but declared in inline function 'F1024' which is not static
hash.c:   241 |   static u64 outQ[COLS1024] __attribute__((aligned(16)));
hash.c:       |              ^~~~
hash.c: hash.c:240:14: warning: 'z' is static but declared in inline function 'F1024' which is not static
hash.c:   240 |   static u64 z[COLS1024] __attribute__((aligned(16)));
hash.c:       |              ^
hash.c: hash.c:239:14: warning: 'y' is static but declared in inline function 'F1024' which is not static
hash.c:   239 |   static u64 y[COLS1024] __attribute__((aligned(16)));
hash.c:       |              ^
try.c: /usr/bin/ld: libcrypto_hash_mgrostl256.a(hash.o): in function `Transform':
try.c: .../supercop-data/hunsnivy/amd64/try/c/gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/mgrostl256/opt-64/work/hash.c:304: undefined reference to `F512'
try.c: collect2: error: ld returned 1 exit status

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:opt-64gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

Compiler output


hash.c: hash.c: In function 'F512':
hash.c: hash.c:230: warning: ignoring '#pragma vector aligned' [-Wunknown-pragmas]
hash.c:   230 | #pragma vector aligned
hash.c:       |
hash.c: hash.c: In function 'F1024':
hash.c: hash.c:267: warning: ignoring '#pragma vector aligned' [-Wunknown-pragmas]
hash.c:   267 | #pragma vector aligned
hash.c:       |
hash.c: hash.c: At top level:
hash.c: hash.c:242:14: warning: 'inP' is static but declared in inline function 'F1024' which is not static
hash.c:   242 |   static u64 inP[COLS1024] __attribute__((aligned(16)));
hash.c:       |              ^~~
hash.c: hash.c:241:14: warning: 'outQ' is static but declared in inline function 'F1024' which is not static
hash.c:   241 |   static u64 outQ[COLS1024] __attribute__((aligned(16)));
hash.c:       |              ^~~~
hash.c: hash.c:240:14: warning: 'z' is static but declared in inline function 'F1024' which is not static
hash.c:   240 |   static u64 z[COLS1024] __attribute__((aligned(16)));
hash.c:       |              ^
hash.c: hash.c:239:14: warning: 'y' is static but declared in inline function 'F1024' which is not static
hash.c:   239 |   static u64 y[COLS1024] __attribute__((aligned(16)));
hash.c:       |              ^
hash.c: hash.c: In function 'Hash':
hash.c: hash.c:434:30: warning: 'context.statesize' may be used uninitialized in this function [-Wmaybe-uninitialized]
hash.c:   434 | while (ctx->cnt_buf_ptr < ctx->statesize) {
hash.c:       |                           ~~~^~~~~~~~~~~
try.c: /usr/bin/ld: libcrypto_hash_mgrostl256.a(hash.o): in function `Transform':
try.c: .../supercop-data/hunsnivy/amd64/try/c/gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/mgrostl256/opt-64/work/hash.c:304: undefined reference to `F512'
try.c: /usr/bin/ld: .../supercop-data/hunsnivy/amd64/try/c/gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/mgrostl256/opt-64/work/hash.c:304: undefined reference to `F512'
try.c: /usr/bin/ld: .../supercop-data/hunsnivy/amd64/try/c/gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/mgrostl256/opt-64/work/hash.c:304: undefined reference to `F512'
try.c: /usr/bin/ld: .../supercop-data/hunsnivy/amd64/try/c/gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/mgrostl256/opt-64/work/hash.c:304: undefined reference to `F512'
try.c: /usr/bin/ld: .../supercop-data/hunsnivy/amd64/try/c/gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/mgrostl256/opt-64/work/hash.c:304: undefined reference to `F512'
try.c: collect2: error: ld returned 1 exit status

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:opt-64gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

Compiler output


hash.c: hash.c: In function 'F512':
hash.c: hash.c:230: warning: ignoring '#pragma vector aligned' [-Wunknown-pragmas]
hash.c:   230 | #pragma vector aligned
hash.c:       |
hash.c: hash.c: In function 'F1024':
hash.c: hash.c:267: warning: ignoring '#pragma vector aligned' [-Wunknown-pragmas]
hash.c:   267 | #pragma vector aligned
hash.c:       |
hash.c: hash.c: At top level:
hash.c: hash.c:242:14: warning: 'inP' is static but declared in inline function 'F1024' which is not static
hash.c:   242 |   static u64 inP[COLS1024] __attribute__((aligned(16)));
hash.c:       |              ^~~
hash.c: hash.c:241:14: warning: 'outQ' is static but declared in inline function 'F1024' which is not static
hash.c:   241 |   static u64 outQ[COLS1024] __attribute__((aligned(16)));
hash.c:       |              ^~~~
hash.c: hash.c:240:14: warning: 'z' is static but declared in inline function 'F1024' which is not static
hash.c:   240 |   static u64 z[COLS1024] __attribute__((aligned(16)));
hash.c:       |              ^
hash.c: hash.c:239:14: warning: 'y' is static but declared in inline function 'F1024' which is not static
hash.c:   239 |   static u64 y[COLS1024] __attribute__((aligned(16)));
hash.c:       |              ^
try.c: /usr/bin/ld: libcrypto_hash_mgrostl256.a(hash.o): in function `Transform':
try.c: .../supercop-data/hunsnivy/amd64/try/c/gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/mgrostl256/opt-64/work/hash.c:304: undefined reference to `F512'
try.c: collect2: error: ld returned 1 exit status

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:opt-64gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

Compiler output


hash.c: hash.c: In function 'F512':
hash.c: hash.c:230: warning: ignoring '#pragma vector aligned' [-Wunknown-pragmas]
hash.c:   230 | #pragma vector aligned
hash.c:       |
hash.c: hash.c: In function 'F1024':
hash.c: hash.c:267: warning: ignoring '#pragma vector aligned' [-Wunknown-pragmas]
hash.c:   267 | #pragma vector aligned
hash.c:       |
hash.c: hash.c: At top level:
hash.c: hash.c:242:14: warning: 'inP' is static but declared in inline function 'F1024' which is not static
hash.c:   242 |   static u64 inP[COLS1024] __attribute__((aligned(16)));
hash.c:       |              ^~~
hash.c: hash.c:241:14: warning: 'outQ' is static but declared in inline function 'F1024' which is not static
hash.c:   241 |   static u64 outQ[COLS1024] __attribute__((aligned(16)));
hash.c:       |              ^~~~
hash.c: hash.c:240:14: warning: 'z' is static but declared in inline function 'F1024' which is not static
hash.c:   240 |   static u64 z[COLS1024] __attribute__((aligned(16)));
hash.c:       |              ^
hash.c: hash.c:239:14: warning: 'y' is static but declared in inline function 'F1024' which is not static
hash.c:   239 |   static u64 y[COLS1024] __attribute__((aligned(16)));
hash.c:       |              ^
try.c: /usr/bin/ld: libcrypto_hash_mgrostl256.a(hash.o): in function `Transform':
try.c: .../supercop-data/hunsnivy/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/mgrostl256/opt-64/work/hash.c:304: undefined reference to `F512'
try.c: collect2: error: ld returned 1 exit status

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:opt-64gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)