Test results for amd64, r24000, crypto_hash/mgrostl256

[Page version: 20250111 17:50:56]

Measurements for amd64, r24000, crypto_hash Test results for amd64, r24000, crypto_hash Test results for crypto_hash/mgrostl256
Computer: r24000
Microarchitecture: amd64; Coffee Lake (906ea)
Architecture: amd64
CPU ID: GenuineIntel-000906ea-bfebfbff
SUPERCOP version: 20241022
Operation: crypto_hash
Primitive: mgrostl256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
6087343958 0 033957 820 968T:opt-32gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024102820241022
6111246679 0 037709 820 968T:opt-32gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024102820241022
6289543388 0 033292 812 968T:opt-32gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024102820241022
6445248218 0 038809 852 968T:opt-32clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024102820241022
6446448697 0 038097 852 904T:opt-32clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024102820241022
6493742858 0 033080 836 968T:opt-32clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024102820241022
6511948633 0 039185 852 968T:opt-32clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024102820241022
6609145046 0 033449 852 904T:opt-32clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024102820241022
6761943198 0 032136 796 936T:opt-32gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024102820241022
119724916799 384 030136 1236 904T:refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024102820241022
120206144188 384 058512 1236 968T:refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024102820241022
121270929524 384 043768 1236 968T:refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024102820241022
12524885737 384 016424 1236 904T:refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024102820241022
12911504253 384 015799 1220 968T:refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024102820241022
193078814742 384 028660 1204 968T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024102820241022
19598855590 384 017380 1204 968T:refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024102820241022
26746524999 384 016427 1196 968T:refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024102820241022
44622983988 384 014391 1180 936T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024102820241022

Compiler output


hash.c: hash.c: In function 'Transform':
hash.c: hash.c:386:5: warning: 'F' may be used uninitialized [-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:       |          ^
mGroestl.c: mGroestl.c: In function 'Transform':
mGroestl.c: mGroestl.c:384:5: warning: 'F' may be used uninitialized [-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:       |          ^

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

Compiler output


hash.c: hash.c: In function 'Transform':
hash.c: hash.c:386:5: warning: 'F' may be used uninitialized [-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: In function 'Transform',
hash.c:     inlined from 'Update' at hash.c:562:3:
hash.c: hash.c:386:5: warning: 'F' may be used uninitialized [-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:361:10: note: 'F' was declared here
hash.c:   361 |   void (*F)(u32*,const u32*,u32*);      //modified oct28
hash.c:       |          ^
hash.c: In function 'Init',
hash.c:     inlined from 'Init' at hash.c:474:12,
hash.c:     inlined from 'Hash' at hash.c:709:14:
hash.c: hash.c:497:27: warning: 'context.blocksize' may be used uninitialized [-Wmaybe-uninitialized]
hash.c:   497 |   ctx->buffer = malloc(ctx->blocksize);         //modified
hash.c:       |                        ~~~^~~~~~~~~~~
hash.c: hash.c: In function 'Hash':
hash.c: hash.c:706:13: note: 'context' declared here
hash.c:   706 |   hashState context;
hash.c: ...
mGroestl.c: mGroestl.c: In function 'Transform':
mGroestl.c: mGroestl.c:384:5: warning: 'F' may be used uninitialized [-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: In function 'Transform',
mGroestl.c:     inlined from 'Update' at mGroestl.c:560:3:
mGroestl.c: mGroestl.c:384:5: warning: 'F' may be used uninitialized [-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:359:10: note: 'F' was declared here
mGroestl.c:   359 |   void (*F)(u32*,const u32*,u32*);      //modified oct28
mGroestl.c:       |          ^
mGroestl.c: In function 'Init',
mGroestl.c:     inlined from 'Init' at mGroestl.c:472:12,
mGroestl.c:     inlined from 'Hash' at mGroestl.c:707:14:
mGroestl.c: mGroestl.c:495:27: warning: 'context.blocksize' may be used uninitialized [-Wmaybe-uninitialized]
mGroestl.c:   495 |   ctx->buffer = malloc(ctx->blocksize);         //modified
mGroestl.c:       |                        ~~~^~~~~~~~~~~
mGroestl.c: mGroestl.c: In function 'Hash':
mGroestl.c: mGroestl.c:704:13: note: 'context' declared here
mGroestl.c:   704 |   hashState context;
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 (13.2.0)

Compiler output


hash.c: hash.c:230:9: warning: unknown pragma ignored [-Wunknown-pragmas]
hash.c:   230 | #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:   239 |   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:   238 | 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:   240 |   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:   238 | 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:   241 |   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:   238 | 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: ...

Number of similar (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:opt-64clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:opt-64clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:opt-64clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:opt-64clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:opt-64clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))

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/r24000/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:(.text+0x...): 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 (13.2.0)

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: In function 'Init',
hash.c:     inlined from 'Init' at hash.c:396:12,
hash.c:     inlined from 'Hash' at hash.c:619:14:
hash.c: hash.c:434:30: warning: 'context.statesize' may be used uninitialized [-Wmaybe-uninitialized]
hash.c: ...

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

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/r24000/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:(.text+0x...): 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 (13.2.0)

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/r24000/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:(.text+0x...): 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 (13.2.0)

Namespace violations


hash.o F1024 T
hash.o F512 T
hash.o Final T
hash.o Hash T
hash.o Init T
hash.o OutputTransformation T
hash.o PrintHash T
hash.o RND1024P T
hash.o RND1024Q T
hash.o RND512P T
hash.o RND512Q T
hash.o T R
hash.o Transform T
hash.o Update T
mGroestl.o F1024 T
mGroestl.o F512 T
mGroestl.o Final T
mGroestl.o Hash T
mGroestl.o Init T
mGroestl.o OutputTransformation T
mGroestl.o PrintHash T
mGroestl.o RND1024P T
mGroestl.o RND1024Q T
mGroestl.o RND512P T
mGroestl.o RND512Q T
mGroestl.o T R
mGroestl.o Transform T
mGroestl.o Update T

Number of similar (implementation,compiler) pairs: 9, namely:
ImplementationCompiler
T:opt-32clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:opt-32clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:opt-32clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:opt-32clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:opt-32clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:opt-32gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:opt-32gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:opt-32gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:opt-32gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Namespace violations


hash.o AddRoundConstant T
hash.o Final T
hash.o Hash T
hash.o Init T
hash.o MixBytes T
hash.o OutputTransformation T
hash.o P T
hash.o PrintHash T
hash.o Q T
hash.o S D
hash.o Shift D
hash.o ShiftBytes T
hash.o SubBytes T
hash.o Transform T
hash.o Update T

Number of similar (implementation,compiler) pairs: 9, namely:
ImplementationCompiler
T:refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)