Implementation notes: amd64, comet, crypto_dh/gls254prot
Computer: comet
Microarchitecture: amd64; Comet Lake (806ec)
Architecture: amd64
CPU ID: GenuineIntel-000806ec-bfebfbff
SUPERCOP version: 20240808
Operation: crypto_dh
Primitive: gls254prot
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
155553 | 44582 0 0 | 67977 860 1792 | T:opt | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
155647 | 44582 0 0 | 67665 860 1760 | T:opt | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
155688 | 44630 0 0 | 64017 860 1728 | T:opt | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
159752 | 24118 0 0 | 46076 788 1792 | T:opt | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
161119 | 22822 0 0 | 42924 788 1792 | T:opt | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
166940 | 25465 0 0 | 45671 852 1792 | T:opt | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
176223 | 21152 0 0 | 39580 780 1760 | T:opt | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
181514 | 23408 0 0 | 43004 788 1792 | T:opt | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
189830 | 144269 0 0 | 166769 860 1760 | T:prot | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
190057 | 146205 0 0 | 168953 860 1792 | T:prot | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
192701 | 141149 0 0 | 159921 860 1728 | T:prot | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
212183 | 32472 98304 0 | 54852 99100 1792 | T:prot | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
221159 | 120570 0 0 | 140511 852 1792 | T:prot | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
223356 | 15204 98304 0 | 35652 99100 1792 | T:prot | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
224250 | 13011 98304 0 | 31484 99092 1760 | T:prot | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
229169 | 14777 98304 0 | 34404 99100 1792 | T:prot | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
Compiler output
dh.c: In file included from dh.c:6:
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:8:
dh.c: ./smu.h:58:18: warning: variable 'ml00' set but not used [-Wunused-but-set-variable]
dh.c: __m128i ONE, ml00;
dh.c: ^
dh.c: ./smu.h:196:31: warning: unused variable 'one' [-Wunused-variable]
dh.c: __m128i sig_sse, msk_sse, one;
dh.c: ^
dh.c: 4 warnings generated.
Number of similar (implementation,compiler) pairs: 3, namely:
Implementation | Compiler |
T:opt | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
T:opt | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
T:opt | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
Compiler output
dh.c: In file included from dh.c:6:
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:8:
dh.c: ./smu.h:58:18: warning: variable 'ml00' set but not used [-Wunused-but-set-variable]
dh.c: __m128i ONE, ml00;
dh.c: ^
dh.c: ./smu.h:196:31: warning: unused variable 'one' [-Wunused-variable]
dh.c: __m128i sig_sse, msk_sse, one;
dh.c: ^
dh.c: 4 warnings generated.
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:opt | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
Compiler output
dh.c: In file included from dh.c:6:
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-14/lib/clang/14.0.6/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:6:
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-14/lib/clang/14.0.6/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:6:
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-14/lib/clang/14.0.6/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:
Implementation | Compiler |
T:opt | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
Compiler output
dh.c: In file included from dh.c:6:
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:8:
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:
Implementation | Compiler |
T:opt | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
T:opt | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
T:opt | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
T:opt | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
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:
Implementation | Compiler |
T:prot | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
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: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:
Implementation | Compiler |
T:prot | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
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: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: ...
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:prot | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
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:41: warning: unused variable 'one' [-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:13: warning: unused variable 'efe' [-Wunused-variable]
dh.c: i64 efe=(ui64)(-1), zero = 0x0, one = 0x1;
dh.c: ...
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:prot | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
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-14/lib/clang/14.0.6/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-14/lib/clang/14.0.6/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-14/lib/clang/14.0.6/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:
Implementation | Compiler |
T:prot | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
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:45: 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:21: 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:21: warning: unused variable 'vv' [-Wunused-variable]
dh.c: 271 | ui64 uu[2], vv[2];
dh.c: | ^~
dh.c: low.incl:271:14: 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:
Implementation | Compiler |
T:prot | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
T:prot | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
T:prot | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
T:prot | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |