Implementation notes: amd64, cherry, crypto_dh/gls254

Computer: cherry
Microarchitecture: amd64; Silvermont (406c4)
Architecture: amd64
CPU ID: GenuineIntel-000406c4-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_dh
Primitive: gls254
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
563785134992 16 0155131 852 1720T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
568318131136 16 0149723 852 1720T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
57823128539 98336 048831 99140 1784T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
589230115415 16 0132529 844 1720T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
59850514747 98336 033879 99140 1784T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
60471212108 98336 029287 99132 1752T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
61203313310 98336 031615 99140 1784T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
629858110638 16 0128537 844 1720T:refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
81919623848 196608 043720 197404 1784T:optgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
81963720194 196608 038400 197404 1784T:optgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
82027121952 196608 040704 197404 1784T:optgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
82488823528 196608 040974 197428 1720T:optclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
82621519694 196608 037622 197428 1720T:optclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
82720216629 196608 033672 197396 1752T:optgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
83896638219 98304 058520 99100 1784T:protgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
84213816624 98304 035776 99100 1784T:protgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
84328751302 196608 070208 197436 1720T:optclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
84843612954 98304 030032 99092 1752T:protgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
84935751302 196608 071872 197436 1720T:optclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
857908123448 0 0140286 812 1720T:protclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
889896154880 0 0173184 820 1720T:protclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
89330614539 98304 032784 99100 1784T:protgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
893486157952 0 0177904 820 1720T:protclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
915676112751 0 0130566 812 1720T:protclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625

Compiler output


dh.c: In file included from dh.c:10:
dh.c: ./ffa.h:273:13: warning: unused variable 'dt0' [-Wunused-variable]
dh.c:     __m128i dt0, dt1;
dh.c:             ^
dh.c: ./ffa.h:273:18: warning: unused variable 'dt1' [-Wunused-variable]
dh.c:     __m128i dt0, dt1;
dh.c:                  ^
dh.c: In file included from dh.c:12:
dh.c: ./smu.h:196:31: warning: unused variable 'one' [-Wunused-variable]
dh.c:     __m128i sig_sse, msk_sse, one;
dh.c:                               ^
dh.c: 3 warnings generated.

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

Compiler output


dh.c: In file included from dh.c:10:
dh.c: ./ffa.h:273:18: warning: unused variable 'dt1' [-Wunused-variable]
dh.c:     __m128i dt0, dt1;
dh.c:                  ^
dh.c: ./ffa.h:273:13: warning: unused variable 'dt0' [-Wunused-variable]
dh.c:     __m128i dt0, dt1;
dh.c:             ^
dh.c: In file included from dh.c:12:
dh.c: ./smu.h:196:31: warning: unused variable 'one' [-Wunused-variable]
dh.c:     __m128i sig_sse, msk_sse, one;
dh.c:                               ^
dh.c: 3 warnings generated.

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

Compiler output


dh.c: In file included from dh.c:10:
dh.c: ./ffa.h:94:5: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
dh.c:     low_kts_stp(op00,op10,k00,k02,op01,op11,r00,r01,r02,0x00); /* a0xb0 */
dh.c:     ^
dh.c: ./ffa.h:62:11: note: expanded from macro 'low_kts_stp'
dh.c:     re0 = _mm_clmulepi64_si128(op0, op1, ord);\
dh.c:           ^
dh.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/__wmmintrin_pclmul.h:45:13: note: expanded from macro '_mm_clmulepi64_si128'
dh.c:   ((__m128i)__builtin_ia32_pclmulqdq128((__v2di)(__m128i)(X), \
dh.c:             ^
dh.c: In file included from dh.c:10:
dh.c: ./ffa.h:94:5: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
dh.c: ./ffa.h:63:11: note: expanded from macro 'low_kts_stp'
dh.c:     re1 = _mm_clmulepi64_si128(op2, op3, ord);\
dh.c:           ^
dh.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/__wmmintrin_pclmul.h:45:13: note: expanded from macro '_mm_clmulepi64_si128'
dh.c:   ((__m128i)__builtin_ia32_pclmulqdq128((__v2di)(__m128i)(X), \
dh.c:             ^
dh.c: In file included from dh.c:10:
dh.c: ./ffa.h:94:5: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
dh.c: ./ffa.h:64:11: note: expanded from macro 'low_kts_stp'
dh.c:     re2 = _mm_clmulepi64_si128(op4, op5, ord);\
dh.c:           ^
dh.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/__wmmintrin_pclmul.h:45:13: note: expanded from macro '_mm_clmulepi64_si128'
dh.c:   ((__m128i)__builtin_ia32_pclmulqdq128((__v2di)(__m128i)(X), \
dh.c: ...

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

Compiler output


dh.c: In file included from dh.c:10:
dh.c: ffa.h: In function 'low_sqr':
dh.c: ffa.h:273:18: warning: unused variable 'dt1' [-Wunused-variable]
dh.c:   273 |     __m128i dt0, dt1;
dh.c:       |                  ^~~
dh.c: ffa.h:273:13: warning: unused variable 'dt0' [-Wunused-variable]
dh.c:   273 |     __m128i dt0, dt1;
dh.c:       |             ^~~
dh.c: In file included from dh.c:12:
dh.c: smu.h: In function 'smu_pre_5nf':
dh.c: smu.h:58:18: warning: variable 'ml00' set but not used [-Wunused-but-set-variable]
dh.c:    58 |     __m128i ONE, ml00;
dh.c:       |                  ^~~~
dh.c: smu.h: In function 'smu_5nf_dna_ltr':
dh.c: smu.h:196:31: warning: unused variable 'one' [-Wunused-variable]
dh.c:   196 |     __m128i sig_sse, msk_sse, one;
dh.c:       |                               ^~~

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

Compiler output


dh.c: In file included from dh.c:7:
dh.c: ./low.incl:65:38: warning: unused variable 't1' [-Wunused-variable]
dh.c:         __m128i m1, m0, m2, m3, m4, m5, t0, t1;
dh.c:                                             ^
dh.c: ./low.incl:153:14: warning: unused variable 't1' [-Wunused-variable]
dh.c:         __m128i t0, t1, sq, mask;
dh.c:                     ^
dh.c: ./low.incl:271:7: warning: unused variable 'uu' [-Wunused-variable]
dh.c:         ui64 uu[2], vv[2];
dh.c:              ^
dh.c: ./low.incl:271:14: warning: unused variable 'vv' [-Wunused-variable]
dh.c:         ui64 uu[2], vv[2];
dh.c:                     ^
dh.c: In file included from dh.c:9:
dh.c: ./scmul.incl:168:38: warning: unused variable 'c' [-Wunused-variable]
dh.c:         ui64 r, carry, shift, mask, *c;
dh.c:                                      ^
dh.c: ./scmul.incl:191:13: warning: unused variable 'efe' [-Wunused-variable]
dh.c:         i64 efe=(ui64)(-1), zero = 0x0, one = 0x1;
dh.c:             ^
dh.c: ./scmul.incl:191:29: warning: unused variable 'zero' [-Wunused-variable]
dh.c:         i64 efe=(ui64)(-1), zero = 0x0, one = 0x1;
dh.c:                             ^
dh.c: ./scmul.incl:191:41: warning: unused variable 'one' [-Wunused-variable]
dh.c:         i64 efe=(ui64)(-1), zero = 0x0, one = 0x1;
dh.c: ...

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

Compiler output


dh.c: In file included from dh.c:7:
dh.c: ./low.incl:65:38: warning: unused variable 't1' [-Wunused-variable]
dh.c:         __m128i m1, m0, m2, m3, m4, m5, t0, t1;
dh.c:                                             ^
dh.c: ./low.incl:153:14: warning: unused variable 't1' [-Wunused-variable]
dh.c:         __m128i t0, t1, sq, mask;
dh.c:                     ^
dh.c: ./low.incl:271:14: warning: unused variable 'vv' [-Wunused-variable]
dh.c:         ui64 uu[2], vv[2];
dh.c:                     ^
dh.c: ./low.incl:271:7: warning: unused variable 'uu' [-Wunused-variable]
dh.c:         ui64 uu[2], vv[2];
dh.c:              ^
dh.c: In file included from dh.c:9:
dh.c: ./scmul.incl:168:38: warning: unused variable 'c' [-Wunused-variable]
dh.c:         ui64 r, carry, shift, mask, *c;
dh.c:                                      ^
dh.c: ./scmul.incl:191:41: warning: unused variable 'one' [-Wunused-variable]
dh.c:         i64 efe=(ui64)(-1), zero = 0x0, one = 0x1;
dh.c:                                         ^
dh.c: ./scmul.incl:189:13: warning: unused variable 't0' [-Wunused-variable]
dh.c:         i64 t0, mask;
dh.c:             ^
dh.c: ./scmul.incl:191:29: warning: unused variable 'zero' [-Wunused-variable]
dh.c:         i64 efe=(ui64)(-1), zero = 0x0, one = 0x1;
dh.c: ...

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

Compiler output


dh.c: In file included from dh.c:7:
dh.c: ./low.incl:65:38: warning: unused variable 't1' [-Wunused-variable]
dh.c:         __m128i m1, m0, m2, m3, m4, m5, t0, t1;
dh.c:                                             ^
dh.c: ./low.incl:153:14: warning: unused variable 't1' [-Wunused-variable]
dh.c:         __m128i t0, t1, sq, mask;
dh.c:                     ^
dh.c: ./low.incl:271:7: warning: unused variable 'uu' [-Wunused-variable]
dh.c:         ui64 uu[2], vv[2];
dh.c:              ^
dh.c: ./low.incl:271:14: warning: unused variable 'vv' [-Wunused-variable]
dh.c:         ui64 uu[2], vv[2];
dh.c:                     ^
dh.c: In file included from dh.c:9:
dh.c: ./scmul.incl:168:38: warning: unused variable 'c' [-Wunused-variable]
dh.c:         ui64 r, carry, shift, mask, *c;
dh.c:                                      ^
dh.c: ./scmul.incl:189:13: warning: unused variable 't0' [-Wunused-variable]
dh.c:         i64 t0, mask;
dh.c:             ^
dh.c: ./scmul.incl:191:13: warning: unused variable 'efe' [-Wunused-variable]
dh.c:         i64 efe=(ui64)(-1), zero = 0x0, one = 0x1;
dh.c:             ^
dh.c: ./scmul.incl:191:29: warning: unused variable 'zero' [-Wunused-variable]
dh.c:         i64 efe=(ui64)(-1), zero = 0x0, one = 0x1;
dh.c: ...

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

Compiler output


dh.c: In file included from dh.c:7:
dh.c: ./low.incl:65:38: warning: unused variable 't1' [-Wunused-variable]
dh.c:         __m128i m1, m0, m2, m3, m4, m5, t0, t1;
dh.c:                                             ^
dh.c: ./low.incl:153:14: warning: unused variable 't1' [-Wunused-variable]
dh.c:         __m128i t0, t1, sq, mask;
dh.c:                     ^
dh.c: ./low.incl:271:7: warning: unused variable 'uu' [-Wunused-variable]
dh.c:         ui64 uu[2], vv[2];
dh.c:              ^
dh.c: ./low.incl:271:14: warning: unused variable 'vv' [-Wunused-variable]
dh.c:         ui64 uu[2], vv[2];
dh.c:                     ^
dh.c: In file included from dh.c:9:
dh.c: ./scmul.incl:168:38: warning: unused variable 'c' [-Wunused-variable]
dh.c:         ui64 r, carry, shift, mask, *c;
dh.c:                                      ^
dh.c: ./scmul.incl:191:29: warning: unused variable 'zero' [-Wunused-variable]
dh.c:         i64 efe=(ui64)(-1), zero = 0x0, one = 0x1;
dh.c:                             ^
dh.c: ./scmul.incl:191:13: warning: unused variable 'efe' [-Wunused-variable]
dh.c:         i64 efe=(ui64)(-1), zero = 0x0, one = 0x1;
dh.c:             ^
dh.c: ./scmul.incl:189:13: warning: unused variable 't0' [-Wunused-variable]
dh.c:         i64 t0, mask;
dh.c: ...

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

Compiler output


dh.c: In file included from dh.c:7:
dh.c: ./low.incl:26:2: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
dh.c:         MUL4(m1, m0, ma, mb);
dh.c:         ^
dh.c: ./gls254.h:155:7: note: expanded from macro 'MUL4'
dh.c:         r0 = _mm_clmulepi64_si128(ma, mb, 0x00);\
dh.c:              ^
dh.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/__wmmintrin_pclmul.h:45:13: note: expanded from macro '_mm_clmulepi64_si128'
dh.c:   ((__m128i)__builtin_ia32_pclmulqdq128((__v2di)(__m128i)(X), \
dh.c:             ^
dh.c: In file included from dh.c:7:
dh.c: ./low.incl:26:2: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
dh.c: ./gls254.h:156:7: note: expanded from macro 'MUL4'
dh.c:         r1 = _mm_clmulepi64_si128(ma, mb, 0x11);\
dh.c:              ^
dh.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/__wmmintrin_pclmul.h:45:13: note: expanded from macro '_mm_clmulepi64_si128'
dh.c:   ((__m128i)__builtin_ia32_pclmulqdq128((__v2di)(__m128i)(X), \
dh.c:             ^
dh.c: In file included from dh.c:7:
dh.c: ./low.incl:26:2: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
dh.c: ./gls254.h:157:7: note: expanded from macro 'MUL4'
dh.c:         t0 = _mm_clmulepi64_si128(t0, t0, 0x10);\
dh.c:              ^
dh.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/__wmmintrin_pclmul.h:45:13: note: expanded from macro '_mm_clmulepi64_si128'
dh.c:   ((__m128i)__builtin_ia32_pclmulqdq128((__v2di)(__m128i)(X), \
dh.c: ...

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

Compiler output


dh.c: In file included from dh.c:7:
dh.c: low.incl: In function 'low_mul_nr254':
dh.c: low.incl:65:38: warning: unused variable 't1' [-Wunused-variable]
dh.c:    65 |  __m128i m1, m0, m2, m3, m4, m5, t0, t1;
dh.c:       |                                      ^~
dh.c: low.incl: In function 'low_sq_nr254':
dh.c: low.incl:153:14: warning: unused variable 't1' [-Wunused-variable]
dh.c:   153 |  __m128i t0, t1, sq, mask;
dh.c:       |              ^~
dh.c: low.incl: In function 'low_sqrt254':
dh.c: low.incl:271:14: warning: unused variable 'vv' [-Wunused-variable]
dh.c:   271 |  ui64 uu[2], vv[2];
dh.c:       |              ^~
dh.c: low.incl:271:7: warning: unused variable 'uu' [-Wunused-variable]
dh.c:   271 |  ui64 uu[2], vv[2];
dh.c:       |       ^~
dh.c: In file included from dh.c:9:
dh.c: scmul.incl: In function 'bn_rsh':
dh.c: scmul.incl:168:38: warning: unused variable 'c' [-Wunused-variable]
dh.c:   168 |         ui64 r, carry, shift, mask, *c;
dh.c:       |                                      ^
dh.c: scmul.incl: In function 'scmul_wreg':
dh.c: scmul.incl:191:41: warning: unused variable 'one' [-Wunused-variable]
dh.c:   191 |         i64 efe=(ui64)(-1), zero = 0x0, one = 0x1;
dh.c:       |                                         ^~~
dh.c: ...

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

Compiler output


dh.c: In file included from dh.c:7:
dh.c: ./low.incl:65:38: warning: unused variable 't1' [-Wunused-variable]
dh.c:         __m128i m1, m0, m2, m3, m4, m5, t0, t1;
dh.c:                                             ^
dh.c: ./low.incl:153:14: warning: unused variable 't1' [-Wunused-variable]
dh.c:         __m128i t0, t1, sq, mask;
dh.c:                     ^
dh.c: ./low.incl:271:7: warning: unused variable 'uu' [-Wunused-variable]
dh.c:         ui64 uu[2], vv[2];
dh.c:              ^
dh.c: ./low.incl:271:14: warning: unused variable 'vv' [-Wunused-variable]
dh.c:         ui64 uu[2], vv[2];
dh.c:                     ^
dh.c: In file included from dh.c:9:
dh.c: ./scmul.incl:204:14: warning: & has lower precedence than ==; == will be evaluated first [-Wparentheses]
dh.c:                 if (num[0] & 0x1 == 1) {
dh.c:                            ^~~~~~~~~~
dh.c: ./scmul.incl:204:14: note: place parentheses around the '==' expression to silence this warning
dh.c:                 if (num[0] & 0x1 == 1) {
dh.c:                            ^
dh.c:                              (       )
dh.c: ./scmul.incl:204:14: note: place parentheses around the & expression to evaluate it first
dh.c:                 if (num[0] & 0x1 == 1) {
dh.c:                            ^
dh.c:                     (           )
dh.c: ...

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

Compiler output


dh.c: In file included from dh.c:7:
dh.c: ./low.incl:65:38: warning: unused variable 't1' [-Wunused-variable]
dh.c:         __m128i m1, m0, m2, m3, m4, m5, t0, t1;
dh.c:                                             ^
dh.c: ./low.incl:153:14: warning: unused variable 't1' [-Wunused-variable]
dh.c:         __m128i t0, t1, sq, mask;
dh.c:                     ^
dh.c: ./low.incl:271:14: warning: unused variable 'vv' [-Wunused-variable]
dh.c:         ui64 uu[2], vv[2];
dh.c:                     ^
dh.c: ./low.incl:271:7: warning: unused variable 'uu' [-Wunused-variable]
dh.c:         ui64 uu[2], vv[2];
dh.c:              ^
dh.c: In file included from dh.c:9:
dh.c: ./scmul.incl:204:14: warning: & has lower precedence than ==; == will be evaluated first [-Wparentheses]
dh.c:                 if (num[0] & 0x1 == 1) {
dh.c:                            ^~~~~~~~~~
dh.c: ./scmul.incl:204:14: note: place parentheses around the '==' expression to silence this warning
dh.c:                 if (num[0] & 0x1 == 1) {
dh.c:                            ^
dh.c:                              (       )
dh.c: ./scmul.incl:204:14: note: place parentheses around the & expression to evaluate it first
dh.c:                 if (num[0] & 0x1 == 1) {
dh.c:                            ^
dh.c:                     (           )
dh.c: ...

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

Compiler output


dh.c: In file included from dh.c:6:
dh.c: ./curves.incl:53:2: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
dh.c:         STEP(k, t, tmp, 16*1, 0x01);
dh.c:         ^
dh.c: ./gls254.h:272:6: note: expanded from macro 'STEP'
dh.c:         t = _mm_aeskeygenassist_si128(k, rcon);\
dh.c:             ^
dh.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/__wmmintrin_aes.h:136:12: note: expanded from macro '_mm_aeskeygenassist_si128'
dh.c:   (__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R))
dh.c:            ^
dh.c: In file included from dh.c:6:
dh.c: ./curves.incl:54:2: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
dh.c:         STEP(k, t, tmp, 16*2, 0x02);
dh.c:         ^
dh.c: ./gls254.h:272:6: note: expanded from macro 'STEP'
dh.c:         t = _mm_aeskeygenassist_si128(k, rcon);\
dh.c:             ^
dh.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/__wmmintrin_aes.h:136:12: note: expanded from macro '_mm_aeskeygenassist_si128'
dh.c:   (__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R))
dh.c:            ^
dh.c: In file included from dh.c:6:
dh.c: ./curves.incl:55:2: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
dh.c:         STEP(k, t, tmp, 16*3, 0x04);
dh.c:         ^
dh.c: ./gls254.h:272:6: note: expanded from macro 'STEP'
dh.c: ...

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

Compiler output


dh.c: In file included from dh.c:7:
dh.c: low.incl: In function 'low_mul_nr254':
dh.c: low.incl:65:38: warning: unused variable 't1' [-Wunused-variable]
dh.c:    65 |  __m128i m1, m0, m2, m3, m4, m5, t0, t1;
dh.c:       |                                      ^~
dh.c: low.incl: In function 'low_sq_nr254':
dh.c: low.incl:153:14: warning: unused variable 't1' [-Wunused-variable]
dh.c:   153 |  __m128i t0, t1, sq, mask;
dh.c:       |              ^~
dh.c: low.incl: In function 'low_sqrt254':
dh.c: low.incl:271:14: warning: unused variable 'vv' [-Wunused-variable]
dh.c:   271 |  ui64 uu[2], vv[2];
dh.c:       |              ^~
dh.c: low.incl:271:7: warning: unused variable 'uu' [-Wunused-variable]
dh.c:   271 |  ui64 uu[2], vv[2];
dh.c:       |       ^~
dh.c: In file included from dh.c:9:
dh.c: scmul.incl: In function 'scmul_4wnafend':
dh.c: scmul.incl:204:14: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses]
dh.c:   204 |   if (num[0] & 0x1 == 1) {
dh.c:       |              ^

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