Implementation notes: amd64, luft, crypto_encrypt/ledapkc5264

Computer: luft
Architecture: amd64
CPU ID: GenuineIntel-000306d4-bfebfbff
SUPERCOP version: 20200702
Operation: crypto_encrypt
Primitive: ledapkc5264
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
6870117659125 72 0151552 4096 0portableoptclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071420200702

Compiler output

Implementation: portableopt
Security model: unknown
Compiler: clang -march=native -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: 4, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE portableopt
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE portableopt
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE portableopt
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE portableopt

Compiler output

Implementation: portableopt
Security model: unknown
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
measure.c: ld: warning: could not create compact unwind for _crypto_stream_aes256ctr_dolbeau_aesenc_int_xor: register 3 saved somewhere other than in frame

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE portableopt

Compiler output

Implementation: portableopt
Security model: unknown
Compiler: gcc -march=native -mtune=native -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: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE portableopt
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE portableopt
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE portableopt
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE portableopt