Implementation notes: amd64, icelake, crypto_encrypt/ledapkc5364

Computer: icelake
Architecture: amd64
CPU ID: GenuineIntel-000706e5-bfebfbff
SUPERCOP version: 20200826
Operation: crypto_encrypt
Primitive: ledapkc5364
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1468841169327 1366076 0131072 1368064 0T:portableoptopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020083120200826

Compiler output

Implementation: T:portableopt
Security model: timingleaks
Compiler: clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
gf2x_arith.c: gf2x_arith.c:594:32: warning: incompatible pointer types passing 'uint64_t *' (aka 'unsigned long long *') to parameter of type 'DIGIT *' (aka 'unsigned long *') [-Wincompatible-pointer-types]
gf2x_arith.c: gf2x_add(2*CHUNK_SIZE,Res+(nr - CHUNK_SIZE*(i+j+2)),
gf2x_arith.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gf2x_arith.c: ./gf2x_arith.h:93:49: note: passing argument to parameter 'Res' here
gf2x_arith.c: static inline void gf2x_add(const int nr, DIGIT Res[],
gf2x_arith.c: ^
gf2x_arith.c: gf2x_arith.c:595:32: warning: incompatible pointer types passing 'uint64_t [18]' to parameter of type 'const DIGIT *' (aka 'const unsigned long *') [-Wincompatible-pointer-types]
gf2x_arith.c: 2*CHUNK_SIZE,buffer,
gf2x_arith.c: ^~~~~~
gf2x_arith.c: ./gf2x_arith.h:94:55: note: passing argument to parameter 'A' here
gf2x_arith.c: const int na, const DIGIT A[],
gf2x_arith.c: ^
gf2x_arith.c: gf2x_arith.c:596:32: warning: incompatible pointer types passing 'uint64_t *' (aka 'unsigned long long *') to parameter of type 'const DIGIT *' (aka 'const unsigned long *') [-Wincompatible-pointer-types]
gf2x_arith.c: 2*CHUNK_SIZE,Res+(nr - CHUNK_SIZE*(i+j+2)));
gf2x_arith.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gf2x_arith.c: ./gf2x_arith.h:95:55: note: passing argument to parameter 'B' here
gf2x_arith.c: const int nb, const DIGIT B[]) {
gf2x_arith.c: ^
gf2x_arith.c: gf2x_arith.c:613:26: warning: incompatible pointer types passing 'uint64_t *' (aka 'unsigned long long *') to parameter of type 'DIGIT *' (aka 'unsigned long *') [-Wincompatible-pointer-types]
gf2x_arith.c: gf2x_add(2*remC, Res+(nr - offset - 2*remC),
gf2x_arith.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~
gf2x_arith.c: ./gf2x_arith.h:93:49: note: passing argument to parameter 'Res' here
gf2x_arith.c: static inline void gf2x_add(const int nr, DIGIT Res[],
gf2x_arith.c: ^
gf2x_arith.c: gf2x_arith.c:614:26: warning: incompatible pointer types passing 'uint64_t [18]' to parameter of type 'const DIGIT *' (aka 'const unsigned long *') [-Wincompatible-pointer-types]
gf2x_arith.c: ...

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:portableopt
clang -march=icelake-client -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:portableopt
clang -march=icelake-client -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:portableopt

Compiler output

Implementation: T:portableopt
Security model: timingleaks
Compiler: opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
gf2x_arith.c: gf2x_arith.c: In function 'gf2x_mul_avx':
gf2x_arith.c: gf2x_arith.c:594:35: warning: passing argument 2 of 'gf2x_add' from incompatible pointer type [-Wincompatible-pointer-types]
gf2x_arith.c: 594 | gf2x_add(2*CHUNK_SIZE,Res+(nr - CHUNK_SIZE*(i+j+2)),
gf2x_arith.c: | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
gf2x_arith.c: | |
gf2x_arith.c: | uint64_t * {aka long long unsigned int *}
gf2x_arith.c: In file included from gf2x_arith.c:31:
gf2x_arith.c: gf2x_arith.h:93:49: note: expected 'DIGIT *' {aka 'long unsigned int *'} but argument is of type 'uint64_t *' {aka 'long long unsigned int *'}
gf2x_arith.c: 93 | static inline void gf2x_add(const int nr, DIGIT Res[],
gf2x_arith.c: | ~~~~~~^~~~~
gf2x_arith.c: gf2x_arith.c:595:32: warning: passing argument 4 of 'gf2x_add' from incompatible pointer type [-Wincompatible-pointer-types]
gf2x_arith.c: 595 | 2*CHUNK_SIZE,buffer,
gf2x_arith.c: | ^~~~~~
gf2x_arith.c: | |
gf2x_arith.c: | uint64_t * {aka long long unsigned int *}
gf2x_arith.c: In file included from gf2x_arith.c:31:
gf2x_arith.c: gf2x_arith.h:94:55: note: expected 'const DIGIT *' {aka 'const long unsigned int *'} but argument is of type 'uint64_t *' {aka 'long long unsigned int *'}
gf2x_arith.c: 94 | const int na, const DIGIT A[],
gf2x_arith.c: | ~~~~~~~~~~~~^~~
gf2x_arith.c: gf2x_arith.c:596:35: warning: passing argument 6 of 'gf2x_add' from incompatible pointer type [-Wincompatible-pointer-types]
gf2x_arith.c: 596 | 2*CHUNK_SIZE,Res+(nr - CHUNK_SIZE*(i+j+2)));
gf2x_arith.c: | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
gf2x_arith.c: | |
gf2x_arith.c: | uint64_t * {aka long long unsigned int *}
gf2x_arith.c: In file included from gf2x_arith.c:31:
gf2x_arith.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:portableopt
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:portableopt

Compiler output

Implementation: T:portableopt
Security model: timingleaks
Compiler: opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
gf2x_arith.c: gf2x_arith.c: In function 'gf2x_mul_avx':
gf2x_arith.c: gf2x_arith.c:594:35: warning: passing argument 2 of 'gf2x_add' from incompatible pointer type [-Wincompatible-pointer-types]
gf2x_arith.c: 594 | gf2x_add(2*CHUNK_SIZE,Res+(nr - CHUNK_SIZE*(i+j+2)),
gf2x_arith.c: | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
gf2x_arith.c: | |
gf2x_arith.c: | uint64_t * {aka long long unsigned int *}
gf2x_arith.c: In file included from gf2x_arith.c:31:
gf2x_arith.c: gf2x_arith.h:93:49: note: expected 'DIGIT *' {aka 'long unsigned int *'} but argument is of type 'uint64_t *' {aka 'long long unsigned int *'}
gf2x_arith.c: 93 | static inline void gf2x_add(const int nr, DIGIT Res[],
gf2x_arith.c: | ~~~~~~^~~~~
gf2x_arith.c: gf2x_arith.c:595:32: warning: passing argument 4 of 'gf2x_add' from incompatible pointer type [-Wincompatible-pointer-types]
gf2x_arith.c: 595 | 2*CHUNK_SIZE,buffer,
gf2x_arith.c: | ^~~~~~
gf2x_arith.c: | |
gf2x_arith.c: | uint64_t * {aka long long unsigned int *}
gf2x_arith.c: In file included from gf2x_arith.c:31:
gf2x_arith.c: gf2x_arith.h:94:55: note: expected 'const DIGIT *' {aka 'const long unsigned int *'} but argument is of type 'uint64_t *' {aka 'long long unsigned int *'}
gf2x_arith.c: 94 | const int na, const DIGIT A[],
gf2x_arith.c: | ~~~~~~~~~~~~^~~
gf2x_arith.c: gf2x_arith.c:596:35: warning: passing argument 6 of 'gf2x_add' from incompatible pointer type [-Wincompatible-pointer-types]
gf2x_arith.c: 596 | 2*CHUNK_SIZE,Res+(nr - CHUNK_SIZE*(i+j+2)));
gf2x_arith.c: | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
gf2x_arith.c: | |
gf2x_arith.c: | uint64_t * {aka long long unsigned int *}
gf2x_arith.c: In file included from gf2x_arith.c:31:
gf2x_arith.c: ...
inverse_exp.c: inverse_exp.c: In function 'pow_2_A':
inverse_exp.c: inverse_exp.c:97:24: warning: passing argument 1 of 'expand_clmul' from incompatible pointer type [-Wincompatible-pointer-types]
inverse_exp.c: 97 | expand_clmul(poly+i,tmp+outidx);
inverse_exp.c: | ~~~~^~
inverse_exp.c: | |
inverse_exp.c: | DIGIT * {aka long unsigned int *}
inverse_exp.c: inverse_exp.c:39:29: note: expected 'uint64_t *' {aka 'long long unsigned int *'} but argument is of type 'DIGIT *' {aka 'long unsigned int *'}
inverse_exp.c: 39 | void expand_clmul(uint64_t* input, uint64_t* destination ) {
inverse_exp.c: | ~~~~~~~~~~^~~~~
inverse_exp.c: inverse_exp.c:97:30: warning: passing argument 2 of 'expand_clmul' from incompatible pointer type [-Wincompatible-pointer-types]
inverse_exp.c: 97 | expand_clmul(poly+i,tmp+outidx);
inverse_exp.c: | ~~~^~~~~~~
inverse_exp.c: | |
inverse_exp.c: | DIGIT * {aka long unsigned int *}
inverse_exp.c: inverse_exp.c:39:46: note: expected 'uint64_t *' {aka 'long long unsigned int *'} but argument is of type 'DIGIT *' {aka 'long unsigned int *'}
inverse_exp.c: 39 | void expand_clmul(uint64_t* input, uint64_t* destination ) {
inverse_exp.c: | ~~~~~~~~~~^~~~~~~~~~~

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:portableopt