Implementation notes: aarch64, pi3aplus, crypto_kem/sikep503comp
Computer: pi3aplus
Microarchitecture: aarch64; Cortex-A53 (410fd034)
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20240716
Operation: crypto_kem
Primitive: sikep503comp
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
154369466 | 416584 0 16 | 435304 856 1584 | T:arm64asm | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240730 | 20240716 |
154370142 | 391868 0 16 | 409320 856 1568 | T:arm64asm | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240730 | 20240716 |
155607054 | 365600 0 16 | 382176 840 1552 | T:arm64asm | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240730 | 20240716 |
156801380 | 384784 0 16 | 402256 856 1568 | T:arm64asm | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240730 | 20240716 |
747993218 | 425304 0 16 | 444096 872 1584 | T:arm64 | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240730 | 20240716 |
748688268 | 425304 0 16 | 444096 872 1584 | T:amd64 | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240730 | 20240716 |
992166272 | 393968 0 16 | 411464 872 1568 | T:amd64 | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240730 | 20240716 |
992304914 | 393968 0 16 | 411464 872 1568 | T:arm64 | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240730 | 20240716 |
1292934294 | 387016 0 16 | 404536 872 1568 | T:amd64 | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240730 | 20240716 |
1296152556 | 387016 0 16 | 404536 872 1568 | T:arm64 | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240730 | 20240716 |
1687145850 | 364584 0 16 | 381216 856 1552 | T:amd64 | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240730 | 20240716 |
1693104950 | 364584 0 16 | 381216 856 1552 | T:arm64 | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240730 | 20240716 |
Compiler output
P503_compressed.c: In file included from P503_compressed.c:391:
P503_compressed.c: ./ec_isogeny.inc:226:28: warning: suggest braces around initialization of subobject [-Wmissing-braces]
P503_compressed.c: f2elm_t t0, t1, one = {0};
P503_compressed.c: ^
P503_compressed.c: {}
P503_compressed.c: ./ec_isogeny.inc:323:24: warning: suggest braces around initialization of subobject [-Wmissing-braces]
P503_compressed.c: point_proj_t R0 = {0}, R2 = {0};
P503_compressed.c: ^
P503_compressed.c: {}
P503_compressed.c: ./ec_isogeny.inc:323:24: warning: suggest braces around initialization of subobject [-Wmissing-braces]
P503_compressed.c: point_proj_t R0 = {0}, R2 = {0};
P503_compressed.c: ^
P503_compressed.c: {}
P503_compressed.c: ./ec_isogeny.inc:323:24: warning: suggest braces around initialization of subobject [-Wmissing-braces]
P503_compressed.c: point_proj_t R0 = {0}, R2 = {0};
P503_compressed.c: ^
P503_compressed.c: {}
P503_compressed.c: ./ec_isogeny.inc:323:34: warning: suggest braces around initialization of subobject [-Wmissing-braces]
P503_compressed.c: point_proj_t R0 = {0}, R2 = {0};
P503_compressed.c: ^
P503_compressed.c: {}
P503_compressed.c: ./ec_isogeny.inc:323:34: warning: suggest braces around initialization of subobject [-Wmissing-braces]
P503_compressed.c: point_proj_t R0 = {0}, R2 = {0};
P503_compressed.c: ^
P503_compressed.c: {}
P503_compressed.c: ...
Number of similar (implementation,compiler) pairs: 3, namely:
Implementation | Compiler |
T:amd64 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final)) |
T:arm64 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final)) |
T:arm64asm | clang -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_503':
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:
Implementation | Compiler |
T:arm64asm | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
T:arm64asm | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
T:arm64asm | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
T:arm64asm | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
Namespace violations
P503_compressed.o A_basis_zero R
P503_compressed.o A_gen R
P503_compressed.o Alice_order R
P503_compressed.o B_basis_zero R
P503_compressed.o B_gen R
P503_compressed.o B_gen_3_tors R
P503_compressed.o Bob_order R
P503_compressed.o CompleteMPoint T
P503_compressed.o Double T
P503_compressed.o EphemeralKeyGeneration_A_SIDHp503_Compressed T
P503_compressed.o EphemeralKeyGeneration_B_SIDHp503_Compressed T
P503_compressed.o EphemeralSecretAgreement_A_SIDHp503_Compressed T
P503_compressed.o EphemeralSecretAgreement_B_SIDHp503_Compressed T
P503_compressed.o FormatPrivKey_B T
P503_compressed.o Ladder T
P503_compressed.o Montgomery_R R
P503_compressed.o Montgomery_R2 R
P503_compressed.o Montgomery_RB1 R
P503_compressed.o Montgomery_RB2 R
P503_compressed.o Montgomery_inversion_mod_order_bingcd T
P503_compressed.o Montgomery_multiply_mod_order T
P503_compressed.o Montgomery_neg T
P503_compressed.o Montgomery_one R
P503_compressed.o T_tate2_P R
P503_compressed.o T_tate2_Q R
P503_compressed.o T_tate2_firststep_P R
P503_compressed.o T_tate2_firststep_Q R
P503_compressed.o T_tate3 R
P503_compressed.o Tate2_pairings T
P503_compressed.o Tate3_pairings T
P503_compressed.o Traverse_w_div_e_fullsigned T
P503_compressed.o Traverse_w_div_e_torus T
P503_compressed.o Traverse_w_notdiv_e_fullsigned T
P503_compressed.o U3 R
P503_compressed.o XQB3 R
P503_compressed.o clear_words T
P503_compressed.o cmp_f2elm T
P503_compressed.o copy_words T
P503_compressed.o ct_cmov T
P503_compressed.o ct_compare T
P503_compressed.o cube_Fp2_cycl T
P503_compressed.o eval_3_isog T
P503_compressed.o eval_4_isog T
P503_compressed.o fp2_conj T
P503_compressed.o fp2add503 T
P503_compressed.o fp2copy503 T
P503_compressed.o fp2correction503 T
P503_compressed.o fp2div2_503 T
P503_compressed.o fp2inv503_mont T
P503_compressed.o fp2inv503_mont_bingcd T
P503_compressed.o fp2mul503_mont T
P503_compressed.o fp2neg503 T
P503_compressed.o fp2shl T
P503_compressed.o fp2sqr503_mont T
P503_compressed.o fp2sub503 T
P503_compressed.o fp2zero503 T
P503_compressed.o fpcopy503 T
P503_compressed.o fpinv503_chain_mont T
P503_compressed.o fpinv503_mont T
P503_compressed.o fpinv503_mont_bingcd T
P503_compressed.o fpmul503_mont T
P503_compressed.o fpsqr503_mont T
P503_compressed.o fpzero503 T
P503_compressed.o from_Montgomery_mod_order T
P503_compressed.o from_base T
P503_compressed.o from_fp2mont T
P503_compressed.o from_mont T
P503_compressed.o fromproj T
P503_compressed.o g_R_S_im R
P503_compressed.o get_3_isog T
P503_compressed.o get_4_isog T
P503_compressed.o get_A T
P503_compressed.o highest_2t T
P503_compressed.o highest_t T
P503_compressed.o inv_3_way T
P503_compressed.o inv_Fp2_cycl_proj T
P503_compressed.o inv_mod_orderA T
P503_compressed.o is_sqr_fp2 T
P503_compressed.o j_inv T
P503_compressed.o mod T
P503_compressed.o mod3 T
P503_compressed.o mont_n_way_inv T
P503_compressed.o mp_add T
P503_compressed.o mp_shiftl1 T
P503_compressed.o mp_shiftleft T
P503_compressed.o mp_shiftr1 T
P503_compressed.o mp_sub T
P503_compressed.o mul3 T
P503_compressed.o mulmixed_montproj T
P503_compressed.o multiply T
P503_compressed.o ord2w_dlog T
P503_compressed.o ord2w_dloghyb T
P503_compressed.o p503 R
P503_compressed.o p503p1 R
P503_compressed.o p503p1x64 R
P503_compressed.o p503x16p R
P503_compressed.o p503x2 R
P503_compressed.o p503x4 R
P503_compressed.o ph2_CT R
P503_compressed.o ph2_G R
P503_compressed.o ph2_Log R
P503_compressed.o ph2_Texp R
P503_compressed.o ph2_path R
P503_compressed.o ph3_T R
P503_compressed.o ph3_T1 B
P503_compressed.o ph3_T2 B
P503_compressed.o ph3_path R
P503_compressed.o random_mod_order_A_SIDHp503 T
P503_compressed.o random_mod_order_B_SIDHp503 T
P503_compressed.o recover_os T
P503_compressed.o reverse_bits T
P503_compressed.o solve_dlog T
P503_compressed.o sqr_Fp2_cycl T
P503_compressed.o sqr_Fp2_cycl_proj T
P503_compressed.o sqrt_Fp2 T
P503_compressed.o strat_Alice R
P503_compressed.o strat_Bob R
P503_compressed.o table_r_qnr R
P503_compressed.o table_r_qr R
P503_compressed.o table_v_qnr R
P503_compressed.o table_v_qr R
P503_compressed.o threeinv R
P503_compressed.o to_Montgomery_mod_order T
P503_compressed.o to_fp2mont T
P503_compressed.o to_mont T
P503_compressed.o toproj T
P503_compressed.o u_entang R
P503_compressed.o v_3_torsion R
P503_compressed.o validate_ciphertext T
P503_compressed.o xDBL T
P503_compressed.o xDBLADD T
P503_compressed.o xDBL_e T
P503_compressed.o xDBLe T
P503_compressed.o xTPL T
P503_compressed.o xTPL_fast T
P503_compressed.o xTPLe T
P503_compressed.o xTPLe_fast 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 fpadd503 T
fp_generic.o fpcorrection503 T
fp_generic.o fpdiv2_503 T
fp_generic.o fpneg503 T
fp_generic.o fpsub503 T
fp_generic.o mp_mul T
fp_generic.o mp_sub503_p2 T
fp_generic.o mp_sub503_p4 T
fp_generic.o rdc_mont T
Number of similar (implementation,compiler) pairs: 8, namely:
Implementation | Compiler |
T:amd64 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
T:amd64 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
T:amd64 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
T:amd64 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
T:arm64 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
T:arm64 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
T:arm64 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
T:arm64 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
Namespace violations
P503_compressed.o A_basis_zero R
P503_compressed.o A_gen R
P503_compressed.o Alice_order R
P503_compressed.o B_basis_zero R
P503_compressed.o B_gen R
P503_compressed.o B_gen_3_tors R
P503_compressed.o Bob_order R
P503_compressed.o CompleteMPoint T
P503_compressed.o Double T
P503_compressed.o EphemeralKeyGeneration_A_SIDHp503_Compressed T
P503_compressed.o EphemeralKeyGeneration_B_SIDHp503_Compressed T
P503_compressed.o EphemeralSecretAgreement_A_SIDHp503_Compressed T
P503_compressed.o EphemeralSecretAgreement_B_SIDHp503_Compressed T
P503_compressed.o FormatPrivKey_B T
P503_compressed.o Ladder T
P503_compressed.o Montgomery_R R
P503_compressed.o Montgomery_R2 R
P503_compressed.o Montgomery_RB1 R
P503_compressed.o Montgomery_RB2 R
P503_compressed.o Montgomery_inversion_mod_order_bingcd T
P503_compressed.o Montgomery_multiply_mod_order T
P503_compressed.o Montgomery_neg T
P503_compressed.o Montgomery_one R
P503_compressed.o T_tate2_P R
P503_compressed.o T_tate2_Q R
P503_compressed.o T_tate2_firststep_P R
P503_compressed.o T_tate2_firststep_Q R
P503_compressed.o T_tate3 R
P503_compressed.o Tate2_pairings T
P503_compressed.o Tate3_pairings T
P503_compressed.o Traverse_w_div_e_fullsigned T
P503_compressed.o Traverse_w_div_e_torus T
P503_compressed.o Traverse_w_notdiv_e_fullsigned T
P503_compressed.o U3 R
P503_compressed.o XQB3 R
P503_compressed.o clear_words T
P503_compressed.o cmp_f2elm T
P503_compressed.o copy_words T
P503_compressed.o ct_cmov T
P503_compressed.o ct_compare T
P503_compressed.o cube_Fp2_cycl T
P503_compressed.o eval_3_isog T
P503_compressed.o eval_4_isog T
P503_compressed.o fp2_conj T
P503_compressed.o fp2add503 T
P503_compressed.o fp2copy503 T
P503_compressed.o fp2correction503 T
P503_compressed.o fp2div2_503 T
P503_compressed.o fp2inv503_mont T
P503_compressed.o fp2inv503_mont_bingcd T
P503_compressed.o fp2mul503_mont T
P503_compressed.o fp2neg503 T
P503_compressed.o fp2shl T
P503_compressed.o fp2sqr503_mont T
P503_compressed.o fp2sub503 T
P503_compressed.o fp2zero503 T
P503_compressed.o fpcopy503 T
P503_compressed.o fpinv503_chain_mont T
P503_compressed.o fpinv503_mont T
P503_compressed.o fpinv503_mont_bingcd T
P503_compressed.o fpmul503_mont T
P503_compressed.o fpsqr503_mont T
P503_compressed.o fpzero503 T
P503_compressed.o from_Montgomery_mod_order T
P503_compressed.o from_base T
P503_compressed.o from_fp2mont T
P503_compressed.o from_mont T
P503_compressed.o fromproj T
P503_compressed.o g_R_S_im R
P503_compressed.o get_3_isog T
P503_compressed.o get_4_isog T
P503_compressed.o get_A T
P503_compressed.o highest_2t T
P503_compressed.o highest_t T
P503_compressed.o inv_3_way T
P503_compressed.o inv_Fp2_cycl_proj T
P503_compressed.o inv_mod_orderA T
P503_compressed.o is_sqr_fp2 T
P503_compressed.o j_inv T
P503_compressed.o mod T
P503_compressed.o mod3 T
P503_compressed.o mont_n_way_inv T
P503_compressed.o mp_add T
P503_compressed.o mp_shiftl1 T
P503_compressed.o mp_shiftleft T
P503_compressed.o mp_shiftr1 T
P503_compressed.o mp_sub T
P503_compressed.o mul3 T
P503_compressed.o mulmixed_montproj T
P503_compressed.o multiply T
P503_compressed.o ord2w_dlog T
P503_compressed.o ord2w_dloghyb T
P503_compressed.o p503 R
P503_compressed.o p503p1 R
P503_compressed.o p503p1x64 R
P503_compressed.o p503x16p R
P503_compressed.o p503x2 R
P503_compressed.o p503x4 R
P503_compressed.o ph2_CT R
P503_compressed.o ph2_G R
P503_compressed.o ph2_Log R
P503_compressed.o ph2_Texp R
P503_compressed.o ph2_path R
P503_compressed.o ph3_T R
P503_compressed.o ph3_T1 B
P503_compressed.o ph3_T2 B
P503_compressed.o ph3_path R
P503_compressed.o random_mod_order_A_SIDHp503 T
P503_compressed.o random_mod_order_B_SIDHp503 T
P503_compressed.o recover_os T
P503_compressed.o reverse_bits T
P503_compressed.o solve_dlog T
P503_compressed.o sqr_Fp2_cycl T
P503_compressed.o sqr_Fp2_cycl_proj T
P503_compressed.o sqrt_Fp2 T
P503_compressed.o strat_Alice R
P503_compressed.o strat_Bob R
P503_compressed.o table_r_qnr R
P503_compressed.o table_r_qr R
P503_compressed.o table_v_qnr R
P503_compressed.o table_v_qr R
P503_compressed.o threeinv R
P503_compressed.o to_Montgomery_mod_order T
P503_compressed.o to_fp2mont T
P503_compressed.o to_mont T
P503_compressed.o toproj T
P503_compressed.o u_entang R
P503_compressed.o v_3_torsion R
P503_compressed.o validate_ciphertext T
P503_compressed.o xDBL T
P503_compressed.o xDBLADD T
P503_compressed.o xDBL_e T
P503_compressed.o xDBLe T
P503_compressed.o xTPL T
P503_compressed.o xTPL_fast T
P503_compressed.o xTPLe T
P503_compressed.o xTPLe_fast 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 fpadd503 T
fp_arm64.o fpcorrection503 T
fp_arm64.o fpdiv2_503 T
fp_arm64.o fpneg503 T
fp_arm64.o fpsub503 T
fp_arm64.o mp_mul T
fp_arm64.o mp_sub503_p2 T
fp_arm64.o mp_sub503_p4 T
fp_arm64.o rdc_mont T
fp_arm64_asm.o fpadd503_asm T
fp_arm64_asm.o fpsub503_asm T
fp_arm64_asm.o mp_add503_asm T
fp_arm64_asm.o mp_add503x2_asm T
fp_arm64_asm.o mp_dblsub503x2_asm T
fp_arm64_asm.o mp_sub503_p2_asm T
fp_arm64_asm.o mp_sub503_p4_asm T
fp_arm64_asm.o mp_subadd503x2_asm T
fp_arm64_asm.o mul503_asm T
fp_arm64_asm.o rdc503_asm T
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:arm64asm | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
T:arm64asm | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
T:arm64asm | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
T:arm64asm | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |