Implementation notes: amd64, panther, crypto_dh/gls1271

Computer: panther
Microarchitecture: amd64; Tiger Lake (806c1)
Architecture: amd64
CPU ID: GenuineIntel-000806c1-00-bfebfbff
SUPERCOP version: 20240716
Operation: crypto_dh
Primitive: gls1271
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
45099472751 0 8095744 788 1912T:ref4gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
45308566587 0 8089101 836 1848T:ref4clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
45815162832 0 8083816 788 1912T:ref4gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
45823053109 0 8072883 828 1848T:ref4clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
45979370183 0 8093125 836 1848T:ref4clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
46281468406 0 8091349 836 1848T:ref4clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
47580856831 0 8077080 788 1912T:ref4gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
54395146826 0 8066891 828 1848T:ref4clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
56694743009 0 8062312 780 1880T:ref4gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716

Compiler output


gls1271.c: gls1271.c:386:2: warning: implicit declaration of function 'ecn2_brick_init' is invalid in C99 [-Wimplicit-function-declaration]
gls1271.c:         ecn2_brick_init(&binst,prom,A,B,p,6,128);
gls1271.c:         ^
gls1271.c: gls1271.c:352:9: warning: unused variable 'i' [-Wunused-variable]
gls1271.c:     int i,promptr;
gls1271.c:         ^
gls1271.c: gls1271.c:416:9: warning: unused variable 'i' [-Wunused-variable]
gls1271.c:     int i,promptr;
gls1271.c:         ^
gls1271.c: gls1271.c:419:12: warning: unused variable 'y' [-Wunused-variable]
gls1271.c:     zzn2 x,y,psi[2];
gls1271.c:            ^
gls1271.c: 4 warnings generated.
mrarth1.c: mrarth1.c:746:18: warning: unused variable 'dig' [-Wunused-variable]
mrarth1.c:     unsigned int dig;
mrarth1.c:                  ^
mrarth1.c: mrarth1.c:747:19: warning: unused variable 'ch' [-Wunused-variable]
mrarth1.c:     unsigned char ch;
mrarth1.c:                   ^
mrarth1.c: mrarth1.c:833:18: warning: unused variable 'dig' [-Wunused-variable]
mrarth1.c:     unsigned int dig;
mrarth1.c:                  ^
mrarth1.c: mrarth1.c:834:19: warning: unused variable 'ch' [-Wunused-variable]
mrarth1.c:     unsigned char ch;
mrarth1.c:                   ^
mrarth1.c: 4 warnings generated.
mrcore.c: mrcore.c:1376:9: warning: unused variable 'i' [-Wunused-variable]
mrcore.c:     int i;
mrcore.c:         ^
mrcore.c: 1 warning generated.
mrecn2.c: mrecn2.c:222:11: warning: unused variable 't' [-Wunused-variable]
mrecn2.c:     int i,t,js;
mrecn2.c:           ^
mrecn2.c: mrecn2.c:222:13: warning: unused variable 'js' [-Wunused-variable]
mrecn2.c:     int i,t,js;
mrecn2.c:             ^
mrecn2.c: mrecn2.c:18:20: warning: unused function 'zzn2_div2_i' [-Wunused-function]
mrecn2.c: static inline void zzn2_div2_i(zzn2 *w)
mrecn2.c:                    ^
mrecn2.c: mrecn2.c:38:20: warning: unused function 'zzn2_tim3_i' [-Wunused-function]
mrecn2.c: static inline void zzn2_tim3_i(zzn2 *w)
mrecn2.c:                    ^
mrecn2.c: 4 warnings generated.

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

Compiler output


gls1271.c: gls1271.c:386:2: warning: implicit declaration of function 'ecn2_brick_init' is invalid in C99 [-Wimplicit-function-declaration]
gls1271.c:         ecn2_brick_init(&binst,prom,A,B,p,6,128);
gls1271.c:         ^
gls1271.c: gls1271.c:352:9: warning: unused variable 'i' [-Wunused-variable]
gls1271.c:     int i,promptr;
gls1271.c:         ^
gls1271.c: gls1271.c:416:9: warning: unused variable 'i' [-Wunused-variable]
gls1271.c:     int i,promptr;
gls1271.c:         ^
gls1271.c: gls1271.c:419:12: warning: unused variable 'y' [-Wunused-variable]
gls1271.c:     zzn2 x,y,psi[2];
gls1271.c:            ^
gls1271.c: 4 warnings generated.
mrarth1.c: mrarth1.c:747:19: warning: unused variable 'ch' [-Wunused-variable]
mrarth1.c:     unsigned char ch;
mrarth1.c:                   ^
mrarth1.c: mrarth1.c:746:18: warning: unused variable 'dig' [-Wunused-variable]
mrarth1.c:     unsigned int dig;
mrarth1.c:                  ^
mrarth1.c: mrarth1.c:834:19: warning: unused variable 'ch' [-Wunused-variable]
mrarth1.c:     unsigned char ch;
mrarth1.c:                   ^
mrarth1.c: mrarth1.c:833:18: warning: unused variable 'dig' [-Wunused-variable]
mrarth1.c:     unsigned int dig;
mrarth1.c:                  ^
mrarth1.c: 4 warnings generated.
mrcore.c: mrcore.c:1376:9: warning: unused variable 'i' [-Wunused-variable]
mrcore.c:     int i;
mrcore.c:         ^
mrcore.c: 1 warning generated.
mrecn2.c: mrecn2.c:222:13: warning: unused variable 'js' [-Wunused-variable]
mrecn2.c:     int i,t,js;
mrecn2.c:             ^
mrecn2.c: mrecn2.c:222:11: warning: unused variable 't' [-Wunused-variable]
mrecn2.c:     int i,t,js;
mrecn2.c:           ^
mrecn2.c: mrecn2.c:18:20: warning: unused function 'zzn2_div2_i' [-Wunused-function]
mrecn2.c: static inline void zzn2_div2_i(zzn2 *w)
mrecn2.c:                    ^
mrecn2.c: mrecn2.c:38:20: warning: unused function 'zzn2_tim3_i' [-Wunused-function]
mrecn2.c: static inline void zzn2_tim3_i(zzn2 *w)
mrecn2.c:                    ^
mrecn2.c: 4 warnings generated.

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

Compiler output


gls1271.c: gls1271.c:386:2: warning: implicit declaration of function 'ecn2_brick_init' is invalid in C99 [-Wimplicit-function-declaration]
gls1271.c:         ecn2_brick_init(&binst,prom,A,B,p,6,128);
gls1271.c:         ^
gls1271.c: gls1271.c:352:9: warning: unused variable 'i' [-Wunused-variable]
gls1271.c:     int i,promptr;
gls1271.c:         ^
gls1271.c: gls1271.c:416:9: warning: unused variable 'i' [-Wunused-variable]
gls1271.c:     int i,promptr;
gls1271.c:         ^
gls1271.c: gls1271.c:419:12: warning: unused variable 'y' [-Wunused-variable]
gls1271.c:     zzn2 x,y,psi[2];
gls1271.c:            ^
gls1271.c: 4 warnings generated.
mrarth1.c: mrarth1.c:746:18: warning: unused variable 'dig' [-Wunused-variable]
mrarth1.c:     unsigned int dig;
mrarth1.c:                  ^
mrarth1.c: mrarth1.c:747:19: warning: unused variable 'ch' [-Wunused-variable]
mrarth1.c:     unsigned char ch;
mrarth1.c:                   ^
mrarth1.c: mrarth1.c:834:19: warning: unused variable 'ch' [-Wunused-variable]
mrarth1.c:     unsigned char ch;
mrarth1.c:                   ^
mrarth1.c: mrarth1.c:833:18: warning: unused variable 'dig' [-Wunused-variable]
mrarth1.c:     unsigned int dig;
mrarth1.c:                  ^
mrarth1.c: 4 warnings generated.
mrcore.c: mrcore.c:1376:9: warning: unused variable 'i' [-Wunused-variable]
mrcore.c:     int i;
mrcore.c:         ^
mrcore.c: 1 warning generated.
mrecn2.c: mrecn2.c:222:13: warning: unused variable 'js' [-Wunused-variable]
mrecn2.c:     int i,t,js;
mrecn2.c:             ^
mrecn2.c: mrecn2.c:222:11: warning: unused variable 't' [-Wunused-variable]
mrecn2.c:     int i,t,js;
mrecn2.c:           ^
mrecn2.c: mrecn2.c:18:20: warning: unused function 'zzn2_div2_i' [-Wunused-function]
mrecn2.c: static inline void zzn2_div2_i(zzn2 *w)
mrecn2.c:                    ^
mrecn2.c: mrecn2.c:38:20: warning: unused function 'zzn2_tim3_i' [-Wunused-function]
mrecn2.c: static inline void zzn2_tim3_i(zzn2 *w)
mrecn2.c:                    ^
mrecn2.c: 4 warnings generated.

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

Compiler output


gls1271.c: gls1271.c:386:2: warning: implicit declaration of function 'ecn2_brick_init' is invalid in C99 [-Wimplicit-function-declaration]
gls1271.c:         ecn2_brick_init(&binst,prom,A,B,p,6,128);
gls1271.c:         ^
gls1271.c: gls1271.c:352:9: warning: unused variable 'i' [-Wunused-variable]
gls1271.c:     int i,promptr;
gls1271.c:         ^
gls1271.c: gls1271.c:416:9: warning: unused variable 'i' [-Wunused-variable]
gls1271.c:     int i,promptr;
gls1271.c:         ^
gls1271.c: gls1271.c:419:12: warning: unused variable 'y' [-Wunused-variable]
gls1271.c:     zzn2 x,y,psi[2];
gls1271.c:            ^
gls1271.c: 4 warnings generated.
mrarth1.c: mrarth1.c:747:19: warning: unused variable 'ch' [-Wunused-variable]
mrarth1.c:     unsigned char ch;
mrarth1.c:                   ^
mrarth1.c: mrarth1.c:746:18: warning: unused variable 'dig' [-Wunused-variable]
mrarth1.c:     unsigned int dig;
mrarth1.c:                  ^
mrarth1.c: mrarth1.c:833:18: warning: unused variable 'dig' [-Wunused-variable]
mrarth1.c:     unsigned int dig;
mrarth1.c:                  ^
mrarth1.c: mrarth1.c:834:19: warning: unused variable 'ch' [-Wunused-variable]
mrarth1.c:     unsigned char ch;
mrarth1.c:                   ^
mrarth1.c: 4 warnings generated.
mrcore.c: mrcore.c:1376:9: warning: unused variable 'i' [-Wunused-variable]
mrcore.c:     int i;
mrcore.c:         ^
mrcore.c: 1 warning generated.
mrecn2.c: mrecn2.c:222:13: warning: unused variable 'js' [-Wunused-variable]
mrecn2.c:     int i,t,js;
mrecn2.c:             ^
mrecn2.c: mrecn2.c:222:11: warning: unused variable 't' [-Wunused-variable]
mrecn2.c:     int i,t,js;
mrecn2.c:           ^
mrecn2.c: mrecn2.c:18:20: warning: unused function 'zzn2_div2_i' [-Wunused-function]
mrecn2.c: static inline void zzn2_div2_i(zzn2 *w)
mrecn2.c:                    ^
mrecn2.c: mrecn2.c:38:20: warning: unused function 'zzn2_tim3_i' [-Wunused-function]
mrecn2.c: static inline void zzn2_tim3_i(zzn2 *w)
mrecn2.c:                    ^
mrecn2.c: 4 warnings generated.

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

Compiler output


gls1271.c: gls1271.c:386:2: warning: implicit declaration of function 'ecn2_brick_init' is invalid in C99 [-Wimplicit-function-declaration]
gls1271.c:         ecn2_brick_init(&binst,prom,A,B,p,6,128);
gls1271.c:         ^
gls1271.c: gls1271.c:352:9: warning: unused variable 'i' [-Wunused-variable]
gls1271.c:     int i,promptr;
gls1271.c:         ^
gls1271.c: gls1271.c:419:12: warning: unused variable 'y' [-Wunused-variable]
gls1271.c:     zzn2 x,y,psi[2];
gls1271.c:            ^
gls1271.c: gls1271.c:416:9: warning: unused variable 'i' [-Wunused-variable]
gls1271.c:     int i,promptr;
gls1271.c:         ^
gls1271.c: 4 warnings generated.
mrarth1.c: mrarth1.c:746:18: warning: unused variable 'dig' [-Wunused-variable]
mrarth1.c:     unsigned int dig;
mrarth1.c:                  ^
mrarth1.c: mrarth1.c:747:19: warning: unused variable 'ch' [-Wunused-variable]
mrarth1.c:     unsigned char ch;
mrarth1.c:                   ^
mrarth1.c: mrarth1.c:833:18: warning: unused variable 'dig' [-Wunused-variable]
mrarth1.c:     unsigned int dig;
mrarth1.c:                  ^
mrarth1.c: mrarth1.c:834:19: warning: unused variable 'ch' [-Wunused-variable]
mrarth1.c:     unsigned char ch;
mrarth1.c:                   ^
mrarth1.c: 4 warnings generated.
mrcore.c: mrcore.c:1376:9: warning: unused variable 'i' [-Wunused-variable]
mrcore.c:     int i;
mrcore.c:         ^
mrcore.c: 1 warning generated.
mrecn2.c: mrecn2.c:222:13: warning: unused variable 'js' [-Wunused-variable]
mrecn2.c:     int i,t,js;
mrecn2.c:             ^
mrecn2.c: mrecn2.c:222:11: warning: unused variable 't' [-Wunused-variable]
mrecn2.c:     int i,t,js;
mrecn2.c:           ^
mrecn2.c: mrecn2.c:18:20: warning: unused function 'zzn2_div2_i' [-Wunused-function]
mrecn2.c: static inline void zzn2_div2_i(zzn2 *w)
mrecn2.c:                    ^
mrecn2.c: mrecn2.c:38:20: warning: unused function 'zzn2_tim3_i' [-Wunused-function]
mrecn2.c: static inline void zzn2_tim3_i(zzn2 *w)
mrecn2.c:                    ^
mrecn2.c: 4 warnings generated.

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

Compiler output


gls1271.c: gls1271.c: In function 'crypto_dh_gls1271_ref4_timingleaks_keypair':
gls1271.c: gls1271.c:386:2: warning: implicit declaration of function 'ecn2_brick_init'; did you mean 'ebrick_init'? [-Wimplicit-function-declaration]
gls1271.c:   386 |  ecn2_brick_init(&binst,prom,A,B,p,6,128);
gls1271.c:       |  ^~~~~~~~~~~~~~~
gls1271.c:       |  ebrick_init
gls1271.c: gls1271.c:352:9: warning: unused variable 'i' [-Wunused-variable]
gls1271.c:   352 |     int i,promptr;
gls1271.c:       |         ^
gls1271.c: gls1271.c: In function 'crypto_dh_gls1271_ref4_timingleaks':
gls1271.c: gls1271.c:419:12: warning: unused variable 'y' [-Wunused-variable]
gls1271.c:   419 |     zzn2 x,y,psi[2];
gls1271.c:       |            ^
gls1271.c: gls1271.c:416:9: warning: unused variable 'i' [-Wunused-variable]
gls1271.c:   416 |     int i,promptr;
gls1271.c:       |         ^
mrarth1.c: mrarth1.c: In function 'mr_pmul':
mrarth1.c: mrarth1.c:97:25: warning: variable 'zg' set but not used [-Wunused-but-set-variable]
mrarth1.c:    97 |     mr_small carry,*xg,*zg;
mrarth1.c:       |                         ^~
mrarth1.c: mrarth1.c:97:21: warning: variable 'xg' set but not used [-Wunused-but-set-variable]
mrarth1.c:    97 |     mr_small carry,*xg,*zg;
mrarth1.c:       |                     ^~
mrarth1.c: mrarth1.c: In function 'mr_sdiv':
mrarth1.c: mrarth1.c:378:22: warning: variable 'zg' set but not used [-Wunused-but-set-variable]
mrarth1.c:   378 |     mr_small sr,*xg,*zg;
mrarth1.c:       |                      ^~
mrarth1.c: mrarth1.c:378:18: warning: variable 'xg' set but not used [-Wunused-but-set-variable]
mrarth1.c:   378 |     mr_small sr,*xg,*zg;
mrarth1.c:       |                  ^~
mrarth1.c: mrarth1.c: In function 'bytes_to_big':
mrarth1.c: mrarth1.c:747:19: warning: unused variable 'ch' [-Wunused-variable]
mrarth1.c:   747 |     unsigned char ch;
mrarth1.c:       |                   ^~
mrarth1.c: mrarth1.c:746:18: warning: unused variable 'dig' [-Wunused-variable]
mrarth1.c:   746 |     unsigned int dig;
mrarth1.c:       |                  ^~~
mrarth1.c: mrarth1.c: In function 'big_to_bytes':
mrarth1.c: mrarth1.c:834:19: warning: unused variable 'ch' [-Wunused-variable]
mrarth1.c:   834 |     unsigned char ch;
mrarth1.c:       |                   ^~
mrarth1.c: ...
mrarth2.c: mrarth2.c: In function 'multiply':
mrarth2.c: mrarth2.c:65:29: warning: variable 'w0g' set but not used [-Wunused-but-set-variable]
mrarth2.c:    65 |     mr_small carry,*xg,*yg,*w0g;
mrarth2.c:       |                             ^~~
mrarth2.c: mrarth2.c:65:25: warning: variable 'yg' set but not used [-Wunused-but-set-variable]
mrarth2.c:    65 |     mr_small carry,*xg,*yg,*w0g;
mrarth2.c:       |                         ^~
mrarth2.c: mrarth2.c:65:21: warning: variable 'xg' set but not used [-Wunused-but-set-variable]
mrarth2.c:    65 |     mr_small carry,*xg,*yg,*w0g;
mrarth2.c:       |                     ^~
mrarth2.c: mrarth2.c: In function 'divide':
mrarth2.c: mrarth2.c:834:31: warning: variable 'yg' set but not used [-Wunused-but-set-variable]
mrarth2.c:   834 |     mr_small borrow,dig,*w0g,*yg;
mrarth2.c:       |                               ^~
mrarth2.c: mrarth2.c:834:26: warning: variable 'w0g' set but not used [-Wunused-but-set-variable]
mrarth2.c:   834 |     mr_small borrow,dig,*w0g,*yg;
mrarth2.c:       |                          ^~~
mrcore.c: mrcore.c: In function 'mirexit':
mrcore.c: mrcore.c:1376:9: warning: unused variable 'i' [-Wunused-variable]
mrcore.c:  1376 |     int i;
mrcore.c:       |         ^
mrecn2.c: mrecn2.c: In function 'nres_sqroot':
mrecn2.c: mrecn2.c:222:13: warning: unused variable 'js' [-Wunused-variable]
mrecn2.c:   222 |     int i,t,js;
mrecn2.c:       |             ^~
mrecn2.c: mrecn2.c:222:11: warning: unused variable 't' [-Wunused-variable]
mrecn2.c:   222 |     int i,t,js;
mrecn2.c:       |           ^
mrecn2.c: mrecn2.c: In function 'ecn2_sub':
mrecn2.c: mrecn2.c:846:10: warning: variable 'lam' set but not used [-Wunused-but-set-variable]
mrecn2.c:   846 |     zzn2 lam;
mrecn2.c:       |          ^~~
mrecn2.c: mrecn2.c: In function 'ecn2_precomp_gls':
mrecn2.c: mrecn2.c:1231:11: warning: variable 'j' set but not used [-Wunused-but-set-variable]
mrecn2.c:  1231 |     int i,j;
mrecn2.c:       |           ^
mrmonty.c: mrmonty.c: In function 'redc':
mrmonty.c: mrmonty.c:264:46: warning: variable 'mg' set but not used [-Wunused-but-set-variable]
mrmonty.c:   264 |     mr_small carry,delay_carry,m,ndash,*w0g,*mg;
mrmonty.c:       |                                              ^~
mrmonty.c: mrmonty.c:264:41: warning: variable 'w0g' set but not used [-Wunused-but-set-variable]
mrmonty.c:   264 |     mr_small carry,delay_carry,m,ndash,*w0g,*mg;
mrmonty.c:       |                                         ^~~

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

Namespace violations


fp1271.o modadd T
fp1271.o moddblsub T
fp1271.o moddiv2 T
fp1271.o modmult T
fp1271.o modneg T
fp1271.o modpmul T
fp1271.o modsqr T
fp1271.o modsub T
fp1271.o modtim2 T
fp1271.o modtim3 T
fp1271.o modtim4 T
gls1271.o copyrightclaims T
gls1271.o patentclaims T
gls1271.o timingattacks T
mrarth0.o add T
mrarth0.o decr T
mrarth0.o incr T
mrarth0.o mr_padd T
mrarth0.o mr_psub T
mrarth0.o subtract T
mrarth1.o big_to_bytes T
mrarth1.o bytes_to_big T
mrarth1.o hamming T
mrarth1.o mr_jsf T
mrarth1.o mr_pmul T
mrarth1.o mr_sdiv T
mrarth1.o premult T
mrarth1.o remain T
mrarth1.o subdiv T
mrarth1.o subdivisible T
mrarth2.o divide T
mrarth2.o divisible T
mrarth2.o mad T
mrarth2.o multiply T
mrarth2.o normalise T
mrbits.o expb2 T
mrbits.o logb2 T
mrbits.o sftbit T
mrcore.o absol T
mrcore.o convert T
mrcore.o copy T
mrcore.o ecp_memkill T
mrcore.o epoint_init_mem T
mrcore.o epoint_init_mem_variable T
mrcore.o exsign T
mrcore.o igcd T
mrcore.o init_big_from_rom T
mrcore.o init_point_from_rom T
mrcore.o insign T
mrcore.o isqrt T
mrcore.o lgcd T
mrcore.o lsqrt T
mrcore.o memkill T
mrcore.o mirexit T
mrcore.o mirsys T
mrcore.o mirsys_basic T
mrcore.o mirvar_mem T
mrcore.o mirvar_mem_variable T
mrcore.o mr_addbit T
mrcore.o mr_and T
mrcore.o mr_berror T
mrcore.o mr_compare T
mrcore.o mr_lent T
mrcore.o mr_lzero T
mrcore.o mr_naf_window T
mrcore.o mr_notint T
mrcore.o mr_setbase T
mrcore.o mr_shift T
mrcore.o mr_shiftbits T
mrcore.o mr_testbit T
mrcore.o mr_window T
mrcore.o mr_window2 T
mrcore.o negify T
mrcore.o point_at_infinity T
mrcore.o recode T
mrcore.o set_user_function T
mrcore.o sgcd T
mrcore.o size T
mrcore.o uconvert T
mrcore.o zero T
mrecn2.o ecn2_add T
mrecn2.o ecn2_brick_init T
mrecn2.o ecn2_compare T
mrecn2.o ecn2_copy T
mrecn2.o ecn2_get T
mrecn2.o ecn2_getx T
mrecn2.o ecn2_getxy T
mrecn2.o ecn2_getz T
mrecn2.o ecn2_iszero T
mrecn2.o ecn2_mul T
mrecn2.o ecn2_mul2 T
mrecn2.o ecn2_mul2_gls T
mrecn2.o ecn2_mul2_jsf T
mrecn2.o ecn2_mul4_gls_v T
mrecn2.o ecn2_mul_brick_gls T
mrecn2.o ecn2_muln_engine T
mrecn2.o ecn2_multi_norm T
mrecn2.o ecn2_negate T
mrecn2.o ecn2_norm T
mrecn2.o ecn2_precomp T
mrecn2.o ecn2_precomp_gls T
mrecn2.o ecn2_psi T
mrecn2.o ecn2_rhs T
mrecn2.o ecn2_set T
mrecn2.o ecn2_setx T
mrecn2.o ecn2_setxyz T
mrecn2.o ecn2_sub T
mrecn2.o ecn2_zero T
mrecn2.o nres_sqroot T
mrecn2.o zzn2_inv_i T
mrecn2.o zzn2_lzero T
mrecn2.o zzn2_multi_inverse T
mrecn2.o zzn2_sqrt T
mrmonty.o ecurve_init T
mrmonty.o kill_monty T
mrmonty.o nres T
mrmonty.o nres_div2 T
mrmonty.o nres_div3 T
mrmonty.o nres_div5 T
mrmonty.o nres_double_inverse T
mrmonty.o nres_modadd T
mrmonty.o nres_moddiv T
mrmonty.o nres_modmult T
mrmonty.o nres_modsub T
mrmonty.o nres_multi_inverse T
mrmonty.o nres_negate T
mrmonty.o nres_premult T
mrmonty.o prepare_monty T
mrmonty.o redc T
mrmuldv.o muldiv T
mrmuldv.o muldvd T
mrmuldv.o muldvd2 T
mrmuldv.o muldvm T
mrxgcd.o invmodp T
mrxgcd.o xgcd T
mrzzn2.o zzn2_add T
mrzzn2.o zzn2_compare T
mrzzn2.o zzn2_conj T
mrzzn2.o zzn2_copy T
mrzzn2.o zzn2_div2 T
mrzzn2.o zzn2_div3 T
mrzzn2.o zzn2_div5 T
mrzzn2.o zzn2_from_big T
mrzzn2.o zzn2_from_bigs T
mrzzn2.o zzn2_from_int T
mrzzn2.o zzn2_from_ints T
mrzzn2.o zzn2_from_zzn T
mrzzn2.o zzn2_from_zzns T
mrzzn2.o zzn2_imul T
mrzzn2.o zzn2_inv T
mrzzn2.o zzn2_isunity T
mrzzn2.o zzn2_iszero T
mrzzn2.o zzn2_mul T
mrzzn2.o zzn2_negate T
mrzzn2.o zzn2_sadd T
mrzzn2.o zzn2_smul T
mrzzn2.o zzn2_sqr T
mrzzn2.o zzn2_ssub T
mrzzn2.o zzn2_sub T
mrzzn2.o zzn2_timesi T
mrzzn2.o zzn2_txd T
mrzzn2.o zzn2_txx T
mrzzn2.o zzn2_zero T

Number of similar (implementation,compiler) pairs: 9, namely:
ImplementationCompiler
T:ref4clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ref4clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ref4clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ref4clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ref4clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ref4gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:ref4gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:ref4gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:ref4gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)