Implementation notes: aarch64, pi3aplus, crypto_kem/sikep610

Computer: pi3aplus
Microarchitecture: aarch64; Cortex-A53 (410fd034)
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20240716
Operation: crypto_kem
Primitive: sikep610
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
26184004751060 0 069296 856 1568T:arm64asmgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024073120240716
26272652432628 0 049584 856 1552T:arm64asmgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024073120240716
26294968327016 0 043040 840 1536T:arm64asmgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024073120240716
26521435831344 0 048328 856 1552T:arm64asmgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024073120240716
118486208696060 0 0114360 872 1568T:arm64gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024073120240716
118516500596060 0 0114360 872 1568T:amd64gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716
155918828836056 0 053056 872 1552T:arm64gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024073120240716
155977882436056 0 053056 872 1552T:amd64gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716
199952225835504 0 052544 872 1552T:arm64gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024073120240716
200147456635504 0 052544 872 1552T:amd64gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024073120240716
258852605823632 0 039712 856 1536T:arm64gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024073120240716
259066650623632 0 039712 856 1536T:amd64gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716

Test failure


error 142
Alarm clock

Number of similar (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))
T:refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)
T:refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)

Compiler output


P610.c: In file included from P610.c:135:
P610.c: ./ec_isogeny.inc:226:28: warning: suggest braces around initialization of subobject [-Wmissing-braces]
P610.c:     f2elm_t t0, t1, one = {0};
P610.c:                            ^
P610.c:                            {}
P610.c: ./ec_isogeny.inc:323:24: warning: suggest braces around initialization of subobject [-Wmissing-braces]
P610.c:     point_proj_t R0 = {0}, R2 = {0};
P610.c:                        ^
P610.c:                        {}
P610.c: ./ec_isogeny.inc:323:24: warning: suggest braces around initialization of subobject [-Wmissing-braces]
P610.c:     point_proj_t R0 = {0}, R2 = {0};
P610.c:                        ^
P610.c:                        {}
P610.c: ./ec_isogeny.inc:323:24: warning: suggest braces around initialization of subobject [-Wmissing-braces]
P610.c:     point_proj_t R0 = {0}, R2 = {0};
P610.c:                        ^
P610.c:                        {}
P610.c: ./ec_isogeny.inc:323:34: warning: suggest braces around initialization of subobject [-Wmissing-braces]
P610.c:     point_proj_t R0 = {0}, R2 = {0};
P610.c:                                  ^
P610.c:                                  {}
P610.c: ./ec_isogeny.inc:323:34: warning: suggest braces around initialization of subobject [-Wmissing-braces]
P610.c:     point_proj_t R0 = {0}, R2 = {0};
P610.c:                                  ^
P610.c:                                  {}
P610.c: ...

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:amd64clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))
T:arm64clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))
T:arm64asmclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))

Compiler output


fp_arm64.c: fp_arm64.c: In function 'fpdiv2_610':
fp_arm64.c: fp_arm64.c:71:5: warning: implicit declaration of function 'mp_shiftr1' [-Wimplicit-function-declaration]
fp_arm64.c:      mp_shiftr1(c, NWORDS_FIELD);
fp_arm64.c:      ^~~~~~~~~~

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:arm64asmgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)
T:arm64asmgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)
T:arm64asmgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)
T:arm64asmgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)

Compiler output


api.c: api.c:15:28: warning: suggest braces around initialization of subobject [-Wmissing-braces]
api.c:   sike_params_t params = { 0 };
api.c:                            ^
api.c:                            {}
api.c: api.c:30:28: warning: suggest braces around initialization of subobject [-Wmissing-braces]
api.c:   sike_params_t params = { 0 };
api.c:                            ^
api.c:                            {}
api.c: api.c:45:28: warning: suggest braces around initialization of subobject [-Wmissing-braces]
api.c:   sike_params_t params = { 0 };
api.c:                            ^
api.c:                            {}
api.c: 3 warnings generated.
api_generic.c: api_generic.c:95:1: warning: unused label 'end' [-Wunused-label]
api_generic.c: end:
api_generic.c: ^~~~
api_generic.c: 1 warning generated.
fips202.c: fips202.c:578:13: warning: unused function 'cshake256_simple_absorb_for_kmac256' [-Wunused-function]
fips202.c: static void cshake256_simple_absorb_for_kmac256(uint64_t s[25], uint16_t cstm, const unsigned char *in, unsigned long long inlen)
fips202.c:             ^
fips202.c: 1 warning generated.

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))

Compiler output


api_generic.c: api_generic.c: In function 'crypto_kem_dec_generic':
api_generic.c: api_generic.c:95:1: warning: label 'end' defined but not used [-Wunused-label]
api_generic.c:  end:
api_generic.c:  ^~~
fips202.c: fips202.c:578:13: warning: 'cshake256_simple_absorb_for_kmac256' defined but not used [-Wunused-function]
fips202.c:  static void cshake256_simple_absorb_for_kmac256(uint64_t s[25], uint16_t cstm, const unsigned char *in, unsigned long long inlen)
fips202.c:              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)
T:refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)

Namespace violations


P610.o A_gen R
P610.o Alice_order R
P610.o B_gen R
P610.o Bob_order R
P610.o EphemeralKeyGeneration_A_SIDHp610 T
P610.o EphemeralKeyGeneration_B_SIDHp610 T
P610.o EphemeralSecretAgreement_A_SIDHp610 T
P610.o EphemeralSecretAgreement_B_SIDHp610 T
P610.o Montgomery_R2 R
P610.o Montgomery_one R
P610.o clear_words T
P610.o copy_words T
P610.o ct_cmov T
P610.o ct_compare T
P610.o eval_2_isog T
P610.o eval_3_isog T
P610.o eval_4_isog T
P610.o fp2add610 T
P610.o fp2copy610 T
P610.o fp2correction610 T
P610.o fp2div2_610 T
P610.o fp2inv610_mont T
P610.o fp2mul610_mont T
P610.o fp2neg610 T
P610.o fp2sqr610_mont T
P610.o fp2sub610 T
P610.o fp2zero610 T
P610.o fpcopy610 T
P610.o fpinv610_chain_mont T
P610.o fpinv610_mont T
P610.o fpmul610_mont T
P610.o fpsqr610_mont T
P610.o fpzero610 T
P610.o from_fp2mont T
P610.o from_mont T
P610.o get_2_isog T
P610.o get_3_isog T
P610.o get_4_isog T
P610.o get_A T
P610.o inv_3_way T
P610.o j_inv T
P610.o mp_add T
P610.o mp_shiftl1 T
P610.o mp_shiftleft T
P610.o mp_shiftr1 T
P610.o mp_sub T
P610.o p610 R
P610.o p610p1 R
P610.o p610x16p R
P610.o p610x2 R
P610.o p610x4 R
P610.o random_mod_order_A_SIDHp610 T
P610.o random_mod_order_B_SIDHp610 T
P610.o strat_Alice R
P610.o strat_Bob R
P610.o to_fp2mont T
P610.o to_mont T
P610.o xDBL T
P610.o xDBLADD T
P610.o xDBLe T
P610.o xTPL T
P610.o xTPLe T
fips202.o KeccakF1600_StatePermute T
fips202.o shake128 T
fips202.o shake128_absorb T
fips202.o shake128_squeezeblocks T
fips202.o shake256 T
fips202.o shake256_absorb T
fips202.o shake256_squeezeblocks T
fp_generic.o digit_x_digit T
fp_generic.o fpadd610 T
fp_generic.o fpcorrection610 T
fp_generic.o fpdiv2_610 T
fp_generic.o fpneg610 T
fp_generic.o fpsub610 T
fp_generic.o mp_mul T
fp_generic.o mp_sub610_p2 T
fp_generic.o mp_sub610_p4 T
fp_generic.o rdc_mont T

Number of similar (implementation,compiler) pairs: 8, namely:
ImplementationCompiler
T:amd64gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)
T:amd64gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)
T:amd64gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)
T:amd64gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)
T:arm64gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)
T:arm64gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)
T:arm64gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)
T:arm64gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)

Namespace violations


P610.o A_gen R
P610.o Alice_order R
P610.o B_gen R
P610.o Bob_order R
P610.o EphemeralKeyGeneration_A_SIDHp610 T
P610.o EphemeralKeyGeneration_B_SIDHp610 T
P610.o EphemeralSecretAgreement_A_SIDHp610 T
P610.o EphemeralSecretAgreement_B_SIDHp610 T
P610.o Montgomery_R2 R
P610.o Montgomery_one R
P610.o clear_words T
P610.o copy_words T
P610.o ct_cmov T
P610.o ct_compare T
P610.o eval_2_isog T
P610.o eval_3_isog T
P610.o eval_4_isog T
P610.o fp2add610 T
P610.o fp2copy610 T
P610.o fp2correction610 T
P610.o fp2div2_610 T
P610.o fp2inv610_mont T
P610.o fp2mul610_mont T
P610.o fp2neg610 T
P610.o fp2sqr610_mont T
P610.o fp2sub610 T
P610.o fp2zero610 T
P610.o fpcopy610 T
P610.o fpinv610_chain_mont T
P610.o fpinv610_mont T
P610.o fpmul610_mont T
P610.o fpsqr610_mont T
P610.o fpzero610 T
P610.o from_fp2mont T
P610.o from_mont T
P610.o get_2_isog T
P610.o get_3_isog T
P610.o get_4_isog T
P610.o get_A T
P610.o inv_3_way T
P610.o j_inv T
P610.o mp_add T
P610.o mp_shiftl1 T
P610.o mp_shiftleft T
P610.o mp_shiftr1 T
P610.o mp_sub T
P610.o p610 R
P610.o p610p1 R
P610.o p610x16p R
P610.o p610x2 R
P610.o p610x4 R
P610.o random_mod_order_A_SIDHp610 T
P610.o random_mod_order_B_SIDHp610 T
P610.o strat_Alice R
P610.o strat_Bob R
P610.o to_fp2mont T
P610.o to_mont T
P610.o xDBL T
P610.o xDBLADD T
P610.o xDBLe T
P610.o xTPL T
P610.o xTPLe T
fips202.o KeccakF1600_StatePermute T
fips202.o shake128 T
fips202.o shake128_absorb T
fips202.o shake128_squeezeblocks T
fips202.o shake256 T
fips202.o shake256_absorb T
fips202.o shake256_squeezeblocks T
fp_arm64.o fpadd610 T
fp_arm64.o fpcorrection610 T
fp_arm64.o fpdiv2_610 T
fp_arm64.o fpneg610 T
fp_arm64.o fpsub610 T
fp_arm64.o mp_mul T
fp_arm64.o mp_sub610_p2 T
fp_arm64.o mp_sub610_p4 T
fp_arm64.o rdc_mont T
fp_arm64_asm.o fpadd610_asm T
fp_arm64_asm.o fpsub610_asm T
fp_arm64_asm.o mp_add610_asm T
fp_arm64_asm.o mp_add610x2_asm T
fp_arm64_asm.o mp_dblsub610x2_asm T
fp_arm64_asm.o mp_sub610_p2_asm T
fp_arm64_asm.o mp_sub610_p4_asm T
fp_arm64_asm.o mp_subadd610x2_asm T
fp_arm64_asm.o mul610_asm T
fp_arm64_asm.o rdc610_asm T

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:arm64asmgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)
T:arm64asmgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)
T:arm64asmgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)
T:arm64asmgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)