Implementation notes: amd64, comet, crypto_dh/ecfp256s

Computer: comet
Microarchitecture: amd64; Comet Lake (806ec)
Architecture: amd64
CPU ID: GenuineIntel-000806ec-bfebfbff
SUPERCOP version: 20240107
Operation: crypto_dh
Primitive: ecfp256s
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
587600216185 0 8231026 820 1824T:v01/w8s8gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
592522185091 0 8200466 820 1824T:v01/w8s8gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
595372149752 0 8164562 820 1824T:v01/w8s4gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
597829119388 0 8134802 820 1824T:v01/w8s4gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
598168181363 0 8196258 820 1824T:v01/w8s8gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
599593115714 0 8130530 820 1824T:v01/w8s2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
599704172064 0 8185978 812 1792T:v01/w8s8gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
603636115806 0 8130722 820 1824T:v01/w8s4gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
605211106528 0 8120442 812 1792T:v01/w8s4gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
60679686630 0 8102002 820 1824T:v01/w8s2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
61416483024 0 897954 820 1824T:v01/w8s2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
61418773768 0 887738 812 1792T:v01/w8s2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
62123498989 0 8113802 820 1824T:v01/w8s1gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
62981170155 0 885554 820 1824T:v01/w8s1gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
63526666579 0 881506 820 1824T:v01/w8s1gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
63757157315 0 871282 812 1792T:v01/w8s1gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
98432980405 0 895202 820 1824T:v01/vargcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
98547252735 0 868098 820 1824T:v01/vargcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
100802650205 0 865066 820 1824T:v01/vargcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
101604541144 0 855082 812 1792T:v01/vargcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222

Compiler output

Implementation: T:v01/var
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
alloc.c: alloc.c:79:11: warning: passing 'char[13]' to parameter of type 'sic_t *' (aka 'signed char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
alloc.c: kn_exit("kn_init_fast", ERR_OUT_OF_MEMORY);
alloc.c: ^~~~~~~~~~~~~~
alloc.c: ./_core.h:132:21: note: passing argument to parameter 's' here
alloc.c: void kn_exit(sic_t *s, uni_t code);
alloc.c: ^
alloc.c: alloc.c:94:11: warning: passing 'char[13]' to parameter of type 'sic_t *' (aka 'signed char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
alloc.c: kn_exit("kn_free_fast", ERR_INVALID_MEMORY);
alloc.c: ^~~~~~~~~~~~~~
alloc.c: ./_core.h:132:21: note: passing argument to parameter 's' here
alloc.c: void kn_exit(sic_t *s, uni_t code);
alloc.c: ^
alloc.c: alloc.c:110:11: warning: passing 'char[8]' to parameter of type 'sic_t *' (aka 'signed char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
alloc.c: kn_exit("kn_kill", ERR_INVALID_MEMORY);
alloc.c: ^~~~~~~~~
alloc.c: ./_core.h:132:21: note: passing argument to parameter 's' here
alloc.c: void kn_exit(sic_t *s, uni_t code);
alloc.c: ^
alloc.c: alloc.c:133:11: warning: passing 'char[33]' to parameter of type 'sic_t *' (aka 'signed char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
alloc.c: kn_exit("kn_alloc: cannot allocate memory", 0);
alloc.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alloc.c: ./_core.h:132:21: note: passing argument to parameter 's' here
alloc.c: void kn_exit(sic_t *s, uni_t code);
alloc.c: ^
alloc.c: alloc.c:154:12: warning: passing 'char[8]' to parameter of type 'sic_t *' (aka 'signed char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
alloc.c: ...
error.c: error.c:44:11: warning: passing 'char[56]' to parameter of type 'sic_t *' (aka 'signed char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
error.c: kn_exit("Increase the workspace space using crypmix_init(maxlen)", ERR_OUT_OF_BOUNDS);
error.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
error.c: error.c:29:21: note: passing argument to parameter 's' here
error.c: void kn_exit(sic_t *s, uni_t code)
error.c: ^
error.c: 1 warning generated.
integer_hi_stack.c: integer_hi_stack.c:387:11: warning: passing 'char[11]' to parameter of type 'sic_t *' (aka 'signed char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
integer_hi_stack.c: kn_exit("mi_q_and_r", ERR_DIVIDE_BY_ZERO);
integer_hi_stack.c: ^~~~~~~~~~~~
integer_hi_stack.c: ./kernel.h:814:18: note: passing argument to parameter 's' here
integer_hi_stack.c: void kn_exit(sic s, uni_t code);
integer_hi_stack.c: ^
integer_hi_stack.c: integer_hi_stack.c:417:11: warning: passing 'char[11]' to parameter of type 'sic_t *' (aka 'signed char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
integer_hi_stack.c: kn_exit("mi_q_and_r", ERR_DIVIDE_BY_ZERO);
integer_hi_stack.c: ^~~~~~~~~~~~
integer_hi_stack.c: ./kernel.h:814:18: note: passing argument to parameter 's' here
integer_hi_stack.c: void kn_exit(sic s, uni_t code);
integer_hi_stack.c: ^
integer_hi_stack.c: integer_hi_stack.c:907:11: warning: passing 'char[33]' to parameter of type 'sic_t *' (aka 'signed char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
integer_hi_stack.c: kn_exit("mi_modinv_stack: 0 is not a unit", 0);
integer_hi_stack.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
integer_hi_stack.c: ./kernel.h:814:18: note: passing argument to parameter 's' here
integer_hi_stack.c: void kn_exit(sic s, uni_t code);
integer_hi_stack.c: ^
integer_hi_stack.c: integer_hi_stack.c:918:11: warning: passing 'char[16]' to parameter of type 'sic_t *' (aka 'signed char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
integer_hi_stack.c: kn_exit("mi_modinv_stack", 0);
integer_hi_stack.c: ^~~~~~~~~~~~~~~~~
integer_hi_stack.c: ./kernel.h:814:18: note: passing argument to parameter 's' here
integer_hi_stack.c: void kn_exit(sic s, uni_t code);
integer_hi_stack.c: ^
integer_hi_stack.c: integer_hi_stack.c:943:12: warning: passing 'char[32]' to parameter of type 'sic_t *' (aka 'signed char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
integer_hi_stack.c: ...
integer_lo.c: integer_lo.c:551:10: warning: passing 'char[35]' to parameter of type 'sic_t *' (aka 'signed char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
integer_lo.c: kn_exit("min_nres_prepare2: not implemented", 0);
integer_lo.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
integer_lo.c: ./kernel.h:814:18: note: passing argument to parameter 's' here
integer_lo.c: void kn_exit(sic s, uni_t code);
integer_lo.c: ^
integer_lo.c: 1 warning generated.
io.c: io.c:340:11: warning: passing 'char[32]' to parameter of type 'sic_t *' (aka 'signed char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
io.c: kn_exit("kn_io_fscan: zero length string", ERR_INVALID_STRING);
io.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
io.c: ./_core.h:132:21: note: passing argument to parameter 's' here
io.c: void kn_exit(sic_t *s, uni_t code);
io.c: ^
io.c: io.c:350:12: warning: passing 'char[31]' to parameter of type 'sic_t *' (aka 'signed char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
io.c: kn_exit("kn_io_fscan: invalid character", ERR_INVALID_CHARACTER);
io.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
io.c: ./_core.h:132:21: note: passing argument to parameter 's' here
io.c: void kn_exit(sic_t *s, uni_t code);
io.c: ^
io.c: io.c:352:14: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
io.c: if((buf[i] == -1)){
io.c: ~~~~~~~^~~~~
io.c: io.c:352:14: note: remove extraneous parentheses around the comparison to silence this warning
io.c: if((buf[i] == -1)){
io.c: ~ ^ ~
io.c: io.c:352:14: note: use '=' to turn this equality comparison into an assignment
io.c: if((buf[i] == -1)){
io.c: ^~
io.c: =
io.c: io.c:353:12: warning: passing 'char[31]' to parameter of type 'sic_t *' (aka 'signed char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
io.c: kn_exit("kn_io_fscan: invalid character", ERR_INVALID_CHARACTER);
io.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
io.c: ...

Number of similar (compiler,implementation) pairs: 25, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/var
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/var
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/var
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/var
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/var
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s1
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s1
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s1
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s1
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s1
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s2
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s2
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s2
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s2
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s2
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s4
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s4
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s4
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s4
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s4
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s8
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s8
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s8
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s8
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s8

Compiler output

Implementation: T:v01/var
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: warning: crypto_stream_chacha20_moon_avx2_64_constbranchindex-chacha.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
try.c: /usr/bin/ld: warning: crypto_stream_chacha20_moon_avx2_64_constbranchindex-chacha.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker

Number of similar (compiler,implementation) pairs: 20, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:v01/var
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:v01/var
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:v01/var
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:v01/var
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:v01/w8s1
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:v01/w8s1
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:v01/w8s1
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:v01/w8s1
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:v01/w8s2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:v01/w8s2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:v01/w8s2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:v01/w8s2
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:v01/w8s4
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:v01/w8s4
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:v01/w8s4
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:v01/w8s4
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:v01/w8s8
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:v01/w8s8
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:v01/w8s8
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:v01/w8s8