Implementation notes: amd64, genji262, crypto_hash/mgrostl256

Computer: genji262
Architecture: amd64
CPU ID: AuthenticAMD-00800f12-178bfbff
SUPERCOP version: 20180818
Operation: crypto_hash
Primitive: mgrostl256
TimeImplementationCompilerBenchmark dateSUPERCOP version
51392opt-32gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018081920180818
51414opt-32gcc -funroll-loops -O3 -fomit-frame-pointer2018081920180818
51414opt-32gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2018081920180818
51524opt-32gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2018081920180818
51678opt-32gcc -funroll-loops -O2 -fomit-frame-pointer2018081920180818
51700opt-32gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018081920180818
51700opt-32gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018081920180818
51722opt-32gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2018081920180818
51744opt-32gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018081920180818
51832opt-32gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2018081920180818
51876opt-32gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018081920180818
52712opt-32gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018081920180818
52800opt-32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018081920180818
52954opt-32gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018081920180818
53108opt-32gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018081920180818
53152opt-32gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018081920180818
53372opt-32gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018081920180818
53504opt-32gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018081920180818
53592opt-32gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018081920180818
53878opt-32gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018081920180818
53922opt-32gcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018081920180818
53944opt-32gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018081920180818
53966opt-32gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018081920180818
53988opt-32gcc -O3 -fomit-frame-pointer2018081920180818
54098opt-32gcc -m64 -march=k8 -O3 -fomit-frame-pointer2018081920180818
54120opt-32gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018081920180818
54142opt-32gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018081920180818
54164opt-32gcc -fno-schedule-insns -O3 -fomit-frame-pointer2018081920180818
54164opt-32gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018081920180818
54164opt-32gcc -march=k8 -O3 -fomit-frame-pointer2018081920180818
54252opt-32gcc -funroll-loops -m64 -O -fomit-frame-pointer2018081920180818
54252opt-32gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018081920180818
54252opt-32gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2018081920180818
54252opt-32gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018081920180818
54274opt-32gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018081920180818
54296opt-32gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018081920180818
54318opt-32gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018081920180818
54340opt-32gcc -funroll-loops -O -fomit-frame-pointer2018081920180818
54384opt-32gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018081920180818
54384opt-32gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2018081920180818
54428opt-32gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018081920180818
54450opt-32gcc -fno-schedule-insns -O2 -fomit-frame-pointer2018081920180818
54516opt-32gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018081920180818
54604opt-32gcc -O2 -fomit-frame-pointer2018081920180818
54604opt-32gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018081920180818
54604opt-32gcc -march=barcelona -O3 -fomit-frame-pointer2018081920180818
54626opt-32gcc -m64 -march=core2 -O3 -fomit-frame-pointer2018081920180818
54648opt-32gcc -m64 -O2 -fomit-frame-pointer2018081920180818
54648opt-32gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018081920180818
54956opt-32gcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018081920180818
55000opt-32gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018081920180818
55022opt-32gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018081920180818
55110opt-32gcc -m64 -march=nocona -O3 -fomit-frame-pointer2018081920180818
55154opt-32gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018081920180818
55176opt-32gcc -m64 -march=barcelona -O -fomit-frame-pointer2018081920180818
55176opt-32gcc -march=barcelona -O2 -fomit-frame-pointer2018081920180818
55198opt-32gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018081920180818
55264opt-32gcc -m64 -march=nocona -O -fomit-frame-pointer2018081920180818
55308opt-32gcc -march=barcelona -O -fomit-frame-pointer2018081920180818
55484opt-32gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018081920180818
55528opt-32gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018081920180818
55550opt-32gcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018081920180818
55550opt-32gcc -m64 -march=k8 -O2 -fomit-frame-pointer2018081920180818
55616opt-32gcc -m64 -march=core2 -O2 -fomit-frame-pointer2018081920180818
55616opt-32gcc -m64 -march=k8 -O -fomit-frame-pointer2018081920180818
55660opt-32gcc -march=k8 -O -fomit-frame-pointer2018081920180818
55682opt-32gcc -m64 -O3 -fomit-frame-pointer2018081920180818
55792opt-32gcc -O -fomit-frame-pointer2018081920180818
55792opt-32gcc -m64 -march=corei7 -O -fomit-frame-pointer2018081920180818
55792opt-32gcc -march=nocona -O2 -fomit-frame-pointer2018081920180818
55858opt-32gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018081920180818
55902opt-32gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018081920180818
55924opt-32gcc -fno-schedule-insns -O -fomit-frame-pointer2018081920180818
55924opt-32gcc -m64 -march=core2 -O -fomit-frame-pointer2018081920180818
55924opt-32gcc -march=k8 -O2 -fomit-frame-pointer2018081920180818
56606opt-32gcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018081920180818
56914opt-32gcc -m64 -O -fomit-frame-pointer2018081920180818
59686opt-32gcc -funroll-loops -m64 -Os -fomit-frame-pointer2018081920180818
59774opt-32gcc -funroll-loops -Os -fomit-frame-pointer2018081920180818
59796opt-32gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018081920180818
59818opt-32gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018081920180818
59862opt-32gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018081920180818
59906opt-32gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018081920180818
59906opt-32gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018081920180818
60412opt-32gcc -m64 -march=nocona -O2 -fomit-frame-pointer2018081920180818
60808opt-32gcc -Os -fomit-frame-pointer2018081920180818
60852opt-32gcc -fno-schedule-insns -Os -fomit-frame-pointer2018081920180818
60874opt-32gcc -m64 -Os -fomit-frame-pointer2018081920180818
60918opt-32gcc -m64 -march=corei7 -Os -fomit-frame-pointer2018081920180818
60962opt-32gcc -march=nocona -Os -fomit-frame-pointer2018081920180818
61072opt-32gcc -m64 -march=nocona -Os -fomit-frame-pointer2018081920180818
61094opt-32gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018081920180818
61226opt-32gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018081920180818
61226opt-32gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018081920180818
61358opt-32gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018081920180818
61446opt-32gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018081920180818
61534opt-32gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018081920180818
61578opt-32gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018081920180818
61666opt-32gcc -m64 -march=barcelona -Os -fomit-frame-pointer2018081920180818
61754opt-32gcc -march=barcelona -Os -fomit-frame-pointer2018081920180818
62304opt-32gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018081920180818
62326opt-32gcc -m64 -march=core2 -Os -fomit-frame-pointer2018081920180818
62326opt-32gcc -march=nocona -O3 -fomit-frame-pointer2018081920180818
62370opt-32gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018081920180818
62766opt-32gcc -m64 -march=k8 -Os -fomit-frame-pointer2018081920180818
62766opt-32gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018081920180818
63162opt-32gcc -march=k8 -Os -fomit-frame-pointer2018081920180818
63404opt-64cc2018081920180818
64152opt-32gcc -march=nocona -O -fomit-frame-pointer2018081920180818
142626opt-32gcc -funroll-loops2018081920180818
142868opt-32gcc2018081920180818
166848opt-32cc2018081920180818
1756876refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2018081920180818
1759186refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2018081920180818
1764422refgcc -m64 -O3 -fomit-frame-pointer2018081920180818
1765324refgcc -funroll-loops -O2 -fomit-frame-pointer2018081920180818
1772936refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2018081920180818
1774498refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2018081920180818
1775950refgcc -O3 -fomit-frame-pointer2018081920180818
1777490refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018081920180818
1778590refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018081920180818
1779096refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2018081920180818
1779096refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018081920180818
1781032refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018081920180818
1781274refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2018081920180818
1785960refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018081920180818
1788358refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018081920180818
1795970refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018081920180818
1797246refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018081920180818
1803230refgcc -funroll-loops -O3 -fomit-frame-pointer2018081920180818
1805804refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2018081920180818
1832666refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018081920180818
1838782refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2018081920180818
1840256refgcc -march=k8 -O2 -fomit-frame-pointer2018081920180818
1843622refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2018081920180818
1850068refgcc -m64 -O2 -fomit-frame-pointer2018081920180818
1857966refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018081920180818
1858692refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018081920180818
1861046refgcc -O2 -fomit-frame-pointer2018081920180818
1867360refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018081920180818
1881352refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018081920180818
1897632refgcc -march=k8 -O3 -fomit-frame-pointer2018081920180818
1907950refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2018081920180818
1916178refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018081920180818
1921084refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018081920180818
1921678refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018081920180818
2420616refgcc -funroll-loops -m64 -O -fomit-frame-pointer2018081920180818
2421958refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2018081920180818
2424004refgcc -funroll-loops -O -fomit-frame-pointer2018081920180818
2427304refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018081920180818
2432892refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2018081920180818
2490730refgcc -m64 -march=core2 -O -fomit-frame-pointer2018081920180818
2497880refgcc -march=k8 -O -fomit-frame-pointer2018081920180818
2498870refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018081920180818
2501708refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018081920180818
2506394refgcc -m64 -march=k8 -O -fomit-frame-pointer2018081920180818
2509782refgcc -fno-schedule-insns -O -fomit-frame-pointer2018081920180818
2510904refgcc -m64 -march=corei7 -O -fomit-frame-pointer2018081920180818
2512070refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018081920180818
2512136refgcc -m64 -O -fomit-frame-pointer2018081920180818
2523598refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018081920180818
2563022refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018081920180818
2762166refgcc -O -fomit-frame-pointer2018081920180818
3419614refgcc -m64 -Os -fomit-frame-pointer2018081920180818
3426082refgcc -Os -fomit-frame-pointer2018081920180818
3429360refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2018081920180818
3446916refgcc -fno-schedule-insns -Os -fomit-frame-pointer2018081920180818
3473712refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018081920180818
3476880refgcc -m64 -march=core2 -Os -fomit-frame-pointer2018081920180818
3478574refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018081920180818
3481082refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018081920180818
3488496refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018081920180818
3489640refgcc -m64 -march=k8 -Os -fomit-frame-pointer2018081920180818
3492786refgcc -march=barcelona -Os -fomit-frame-pointer2018081920180818
3497560refgcc -march=nocona -Os -fomit-frame-pointer2018081920180818
3499584refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018081920180818
3499606refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2018081920180818
3529790refgcc -march=k8 -Os -fomit-frame-pointer2018081920180818
3559116refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018081920180818
3566860refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018081920180818
3571194refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018081920180818
3578718refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018081920180818
3583008refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018081920180818
3584614refgcc -funroll-loops -Os -fomit-frame-pointer2018081920180818
3585472refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018081920180818
3593700refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018081920180818
3598628refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018081920180818
3603314refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018081920180818
3612686refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018081920180818
3614424refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2018081920180818
3617878refgcc -march=nocona -O3 -fomit-frame-pointer2018081920180818
3632112refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018081920180818
3632376refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018081920180818
3635786refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018081920180818
3636402refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018081920180818
3639592refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018081920180818
3644322refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018081920180818
3644542refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2018081920180818
3652858refgcc -march=barcelona -O3 -fomit-frame-pointer2018081920180818
3666960refgcc -march=nocona -O2 -fomit-frame-pointer2018081920180818
3675474refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2018081920180818
3763936refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018081920180818
3777136refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018081920180818
3801402refgcc -march=nocona -O -fomit-frame-pointer2018081920180818
3801512refgcc -m64 -march=nocona -O -fomit-frame-pointer2018081920180818
3830178refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018081920180818
3832620refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018081920180818
3838032refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018081920180818
3854752refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018081920180818
3857326refgcc -m64 -march=nocona -Os -fomit-frame-pointer2018081920180818
3862650refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018081920180818
3885948refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018081920180818
3915252refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018081920180818
3929486refgcc -march=barcelona -O2 -fomit-frame-pointer2018081920180818
4178746refgcc -m64 -march=barcelona -O -fomit-frame-pointer2018081920180818
4189042refgcc -march=barcelona -O -fomit-frame-pointer2018081920180818
4190406refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018081920180818
4203342refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018081920180818
4415576refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018081920180818
4478804refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018081920180818
7756870refgcc2018081920180818
7833452refgcc -funroll-loops2018081920180818
8020804refcc2018081920180818

Compiler output

Implementation: crypto_hash/mgrostl256/opt-64
Compiler: gcc
hash.c: hash.c:242: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:241: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:240: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:239: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: crypto_hash_mgrostl256.a(hash.o): In function `Transform':
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 80, namely:
CompilerImplementations
gcc opt-64
gcc -O2 -fomit-frame-pointer opt-64
gcc -O -fomit-frame-pointer opt-64
gcc -Os -fomit-frame-pointer opt-64
gcc -fno-schedule-insns -O2 -fomit-frame-pointer opt-64
gcc -fno-schedule-insns -O -fomit-frame-pointer opt-64
gcc -fno-schedule-insns -Os -fomit-frame-pointer opt-64
gcc -funroll-loops opt-64
gcc -funroll-loops -O2 -fomit-frame-pointer opt-64
gcc -funroll-loops -O -fomit-frame-pointer opt-64
gcc -funroll-loops -Os -fomit-frame-pointer opt-64
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer opt-64
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer opt-64
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer opt-64
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer opt-64
gcc -funroll-loops -m64 -O -fomit-frame-pointer opt-64
gcc -funroll-loops -m64 -Os -fomit-frame-pointer opt-64
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer opt-64
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer opt-64
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer opt-64
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer opt-64
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer opt-64
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer opt-64
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer opt-64
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer opt-64
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer opt-64
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer opt-64
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer opt-64
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer opt-64
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer opt-64
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer opt-64
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer opt-64
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer opt-64
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer opt-64
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer opt-64
gcc -m64 -O2 -fomit-frame-pointer opt-64
gcc -m64 -O -fomit-frame-pointer opt-64
gcc -m64 -Os -fomit-frame-pointer opt-64
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer opt-64
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer opt-64
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer opt-64
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer opt-64
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer opt-64
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer opt-64
gcc -m64 -march=core2 -O2 -fomit-frame-pointer opt-64
gcc -m64 -march=core2 -O -fomit-frame-pointer opt-64
gcc -m64 -march=core2 -Os -fomit-frame-pointer opt-64
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer opt-64
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer opt-64
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer opt-64
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer opt-64
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer opt-64
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer opt-64
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer opt-64
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer opt-64
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer opt-64
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer opt-64
gcc -m64 -march=corei7 -O -fomit-frame-pointer opt-64
gcc -m64 -march=corei7 -Os -fomit-frame-pointer opt-64
gcc -m64 -march=k8 -O2 -fomit-frame-pointer opt-64
gcc -m64 -march=k8 -O -fomit-frame-pointer opt-64
gcc -m64 -march=k8 -Os -fomit-frame-pointer opt-64
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer opt-64
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer opt-64
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer opt-64
gcc -m64 -march=nocona -O2 -fomit-frame-pointer opt-64
gcc -m64 -march=nocona -O -fomit-frame-pointer opt-64
gcc -m64 -march=nocona -Os -fomit-frame-pointer opt-64
gcc -march=barcelona -O2 -fomit-frame-pointer opt-64
gcc -march=barcelona -O -fomit-frame-pointer opt-64
gcc -march=barcelona -Os -fomit-frame-pointer opt-64
gcc -march=k8 -O2 -fomit-frame-pointer opt-64
gcc -march=k8 -O -fomit-frame-pointer opt-64
gcc -march=k8 -Os -fomit-frame-pointer opt-64
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv opt-64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv opt-64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv opt-64
gcc -march=nocona -O2 -fomit-frame-pointer opt-64
gcc -march=nocona -O -fomit-frame-pointer opt-64
gcc -march=nocona -Os -fomit-frame-pointer opt-64

Compiler output

Implementation: crypto_hash/mgrostl256/opt-64
Compiler: gcc -O3 -fomit-frame-pointer
hash.c: hash.c:242: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:241: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:240: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:239: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: crypto_hash_mgrostl256.a(hash.o): In function `Transform':
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: crypto_hash_mgrostl256.a(hash.o): In function `Update':
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: crypto_hash_mgrostl256.a(hash.o): In function `Final':
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 26, namely:
CompilerImplementations
gcc -O3 -fomit-frame-pointer opt-64
gcc -fno-schedule-insns -O3 -fomit-frame-pointer opt-64
gcc -funroll-loops -O3 -fomit-frame-pointer opt-64
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer opt-64
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer opt-64
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer opt-64
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer opt-64
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer opt-64
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer opt-64
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer opt-64
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer opt-64
gcc -m64 -O3 -fomit-frame-pointer opt-64
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer opt-64
gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer opt-64
gcc -m64 -march=core2 -O3 -fomit-frame-pointer opt-64
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer opt-64
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer opt-64
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer opt-64
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer opt-64
gcc -m64 -march=k8 -O3 -fomit-frame-pointer opt-64
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer opt-64
gcc -m64 -march=nocona -O3 -fomit-frame-pointer opt-64
gcc -march=barcelona -O3 -fomit-frame-pointer opt-64
gcc -march=k8 -O3 -fomit-frame-pointer opt-64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv opt-64
gcc -march=nocona -O3 -fomit-frame-pointer opt-64

Compiler output

Implementation: crypto_hash/mgrostl256/opt-64
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
hash.c: hash.c:242: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:241: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:240: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:239: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: crypto_hash_mgrostl256.a(hash.o): In function `Transform':
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: collect2: error: ld returned 1 exit status
hash.c: hash.c:242: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:241: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:240: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:239: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: crypto_hash_mgrostl256.a(hash.o): In function `Transform':
try.c: 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 -m64 -march=barcelona -O2 -fomit-frame-pointer opt-64
gcc -m64 -march=barcelona -O -fomit-frame-pointer opt-64
gcc -m64 -march=barcelona -Os -fomit-frame-pointer opt-64

Compiler output

Implementation: crypto_hash/mgrostl256/opt-64
Compiler: gcc -m64 -march=barcelona -O3 -fomit-frame-pointer
hash.c: hash.c:242: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:241: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:240: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:239: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: crypto_hash_mgrostl256.a(hash.o): In function `Transform':
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: crypto_hash_mgrostl256.a(hash.o): In function `Update':
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: crypto_hash_mgrostl256.a(hash.o): In function `Final':
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: collect2: error: ld returned 1 exit status
hash.c: hash.c:242: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:241: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:240: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:239: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: crypto_hash_mgrostl256.a(hash.o): In function `Transform':
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: crypto_hash_mgrostl256.a(hash.o): In function `Update':
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: crypto_hash_mgrostl256.a(hash.o): In function `Final':
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: 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 -m64 -march=barcelona -O3 -fomit-frame-pointer opt-64