Implementation notes: aarch64, pi3bplus, crypto_encrypt/r5nd5pke0d

Computer: pi3bplus
Microarchitecture: aarch64; Cortex-A53 (410fd034)
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 202311020231107
Operation: crypto_encrypt
Primitive: r5nd5pke0d
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
319962525740 0 058700 1016 1600T:optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023120420231107
320075025740 0 058700 1016 1600T:avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023120420231107
916087518288 0 054644 1016 1584T:avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023120420231107
916125018288 0 054644 1016 1584T:optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023120420231107
974737518904 0 054796 1016 1600T:optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023120420231107
975125018904 0 054796 1016 1600T:avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023120420231107
1085087516664 0 052860 1000 1584T:optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023120420231107
1085412516664 0 052860 1000 1584T:avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023120420231107

Compiler output

Implementation: T:avx2
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
a_fixed.c: In file included from a_fixed.h:13,
a_fixed.c: from a_fixed.c:10:
a_fixed.c: r5_parameter_sets.h:140:2: warning: #warning AVX2 not supported by platform [-Wcpp]
a_fixed.c: 140 | #warning AVX2 not supported by platform
a_fixed.c: | ^~~~~~~
a_random.c: In file included from a_random.h:13,
a_random.c: from a_random.c:10:
a_random.c: r5_parameter_sets.h:140:2: warning: #warning AVX2 not supported by platform [-Wcpp]
a_random.c: 140 | #warning AVX2 not supported by platform
a_random.c: | ^~~~~~~
cca_encrypt.c: In file included from cca_encrypt.h:14,
cca_encrypt.c: from cca_encrypt.c:12:
cca_encrypt.c: r5_parameter_sets.h:140:2: warning: #warning AVX2 not supported by platform [-Wcpp]
cca_encrypt.c: 140 | #warning AVX2 not supported by platform
cca_encrypt.c: | ^~~~~~~
cpa_kem.c: In file included from cpa_kem.h:13,
cpa_kem.c: from cpa_kem.c:11:
cpa_kem.c: r5_parameter_sets.h:140:2: warning: #warning AVX2 not supported by platform [-Wcpp]
cpa_kem.c: 140 | #warning AVX2 not supported by platform
cpa_kem.c: | ^~~~~~~
drbg.c: In file included from drbg.h:13,
drbg.c: from drbg.c:18:
drbg.c: r5_parameter_sets.h:140:2: warning: #warning AVX2 not supported by platform [-Wcpp]
drbg.c: 140 | #warning AVX2 not supported by platform
drbg.c: | ^~~~~~~
matmul.c: In file included from matmul.h:8,
matmul.c: from matmul.c:8:
matmul.c: r5_parameter_sets.h:140:2: warning: #warning AVX2 not supported by platform [-Wcpp]
matmul.c: 140 | #warning AVX2 not supported by platform
matmul.c: | ^~~~~~~
matmul_avx2.c: In file included from matmul.h:8,
matmul_avx2.c: from matmul_avx2.c:8:
matmul_avx2.c: r5_parameter_sets.h:140:2: warning: #warning AVX2 not supported by platform [-Wcpp]
matmul_avx2.c: 140 | #warning AVX2 not supported by platform
matmul_avx2.c: | ^~~~~~~
matmul_cm.c: In file included from matmul.h:8,
matmul_cm.c: from matmul_cm.c:7:
matmul_cm.c: r5_parameter_sets.h:140:2: warning: #warning AVX2 not supported by platform [-Wcpp]
matmul_cm.c: 140 | #warning AVX2 not supported by platform
matmul_cm.c: | ^~~~~~~
probe_cm.c: In file included from probe_cm.c:6:
probe_cm.c: r5_parameter_sets.h:140:2: warning: #warning AVX2 not supported by platform [-Wcpp]
probe_cm.c: 140 | #warning AVX2 not supported by platform
probe_cm.c: | ^~~~~~~
r5_cca_kem.c: In file included from r5_cca_kem.c:7:
r5_cca_kem.c: r5_parameter_sets.h:140:2: warning: #warning AVX2 not supported by platform [-Wcpp]
r5_cca_kem.c: 140 | #warning AVX2 not supported by platform
r5_cca_kem.c: | ^~~~~~~
r5_cca_pke.c: In file included from r5_cca_pke.c:12:
r5_cca_pke.c: r5_parameter_sets.h:140:2: warning: #warning AVX2 not supported by platform [-Wcpp]
r5_cca_pke.c: 140 | #warning AVX2 not supported by platform
r5_cca_pke.c: | ^~~~~~~
r5_cpa_kem.c: In file included from r5_cpa_kem.c:9:
r5_cpa_kem.c: r5_parameter_sets.h:140:2: warning: #warning AVX2 not supported by platform [-Wcpp]
r5_cpa_kem.c: 140 | #warning AVX2 not supported by platform
r5_cpa_kem.c: | ^~~~~~~
r5_cpa_pke_n1.c: In file included from r5_cpa_pke_n1.c:6:
r5_cpa_pke_n1.c: r5_parameter_sets.h:140:2: warning: #warning AVX2 not supported by platform [-Wcpp]
r5_cpa_pke_n1.c: 140 | #warning AVX2 not supported by platform
r5_cpa_pke_n1.c: | ^~~~~~~
r5_cpa_pke_nd.c: In file included from r5_cpa_pke_nd.c:7:
r5_cpa_pke_nd.c: r5_parameter_sets.h:140:2: warning: #warning AVX2 not supported by platform [-Wcpp]
r5_cpa_pke_nd.c: 140 | #warning AVX2 not supported by platform
r5_cpa_pke_nd.c: | ^~~~~~~
r5_dem.c: In file included from r5_dem.c:11:
r5_dem.c: r5_parameter_sets.h:140:2: warning: #warning AVX2 not supported by platform [-Wcpp]
r5_dem.c: 140 | #warning AVX2 not supported by platform
r5_dem.c: | ^~~~~~~
ringmul.c: In file included from ringmul.h:9,
ringmul.c: from ringmul.c:8:
ringmul.c: r5_parameter_sets.h:140:2: warning: #warning AVX2 not supported by platform [-Wcpp]
ringmul.c: 140 | #warning AVX2 not supported by platform
ringmul.c: | ^~~~~~~
ringmul_cm.c: In file included from ringmul.h:9,
ringmul_cm.c: from ringmul_cm.c:8:
ringmul_cm.c: r5_parameter_sets.h:140:2: warning: #warning AVX2 not supported by platform [-Wcpp]
ringmul_cm.c: 140 | #warning AVX2 not supported by platform
ringmul_cm.c: | ^~~~~~~

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(parameters.o):(.bss+0x40): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(parameters.o):(.rodata+0x40): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_cca_pke.o):(.bss+0x0): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_cca_pke.o):(.rodata+0x0): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_cca_kem.o):(.bss+0x0): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_cca_kem.o):(.rodata+0x0): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_cpa_pke.o):(.bss+0x0): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_cpa_pke.o):(.rodata+0x0): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_core.o):(.bss+0x0): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_core.o):(.rodata+0x30): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(a_fixed.o):(.bss+0x10): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(a_fixed.o):(.rodata+0x0): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(a_random.o):(.bss+0x0): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(a_random.o):(.rodata+0x0): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(parameters.o):(.bss+0x38): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(parameters.o):(.rodata+0x40): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_cca_pke.o):(.bss+0x0): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_cca_pke.o):(.rodata+0x0): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_cca_kem.o):(.bss+0x0): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_cca_kem.o):(.rodata+0x0): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_cpa_pke.o):(.bss+0x0): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_cpa_pke.o):(.rodata+0x0): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_core.o):(.bss+0x0): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_core.o):(.rodata+0x28): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(a_fixed.o):(.bss+0x10): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(a_fixed.o):(.rodata+0x0): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(a_random.o):(.bss+0x0): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(a_random.o):(.rodata+0x0): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(parameters.o):(.bss+0x38): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(parameters.o):(.rodata+0x38): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_cca_pke.o):(.bss+0x0): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_cca_pke.o):(.rodata+0x0): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_cca_kem.o):(.bss+0x0): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_cca_kem.o):(.rodata+0x0): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_cpa_pke.o):(.bss+0x0): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_cpa_pke.o):(.rodata+0x0): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_core.o):(.bss+0x0): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_core.o):(.rodata+0x18): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(a_fixed.o):(.bss+0x10): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(a_fixed.o):(.rodata+0x0): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(a_random.o):(.bss+0x0): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(a_random.o):(.rodata+0x0): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref