Implementation notes: aarch64, pi3aplus, crypto_kem/sikep434
Computer: pi3aplus
Microarchitecture: aarch64; Cortex-A53 (410fd034)
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20240716
Operation: crypto_kem
Primitive: sikep434
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
86762083 | 42436 0 0 | 60576 856 1568 | T:arm64asm | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240730 | 20240716 |
87486804 | 26688 0 0 | 43640 856 1552 | T:arm64asm | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240730 | 20240716 |
87906120 | 28172 0 0 | 45040 856 1552 | T:arm64asm | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240730 | 20240716 |
88130742 | 22828 0 0 | 38840 840 1536 | T:arm64asm | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240730 | 20240716 |
374772297 | 70724 0 0 | 88920 872 1568 | T:arm64 | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240730 | 20240716 |
374930377 | 70724 0 0 | 88920 872 1568 | T:amd64 | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240730 | 20240716 |
504860512 | 33600 0 0 | 50504 872 1552 | T:arm64 | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240730 | 20240716 |
505058730 | 33600 0 0 | 50504 872 1552 | T:amd64 | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240730 | 20240716 |
660810979 | 32796 0 0 | 49808 872 1552 | T:amd64 | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240730 | 20240716 |
664261440 | 32796 0 0 | 49808 872 1552 | T:arm64 | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240730 | 20240716 |
844755593 | 21820 0 0 | 37888 856 1536 | T:amd64 | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240730 | 20240716 |
844774500 | 21820 0 0 | 37888 856 1536 | T:arm64 | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240730 | 20240716 |
6438812204 | 34953 1088 0 | 238514 2032 1552 | T:ref | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240730 | 20240716 |
6463421130 | 34709 1088 0 | 238781 2080 1536 | T:ref | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240730 | 20240716 |
6527611790 | 58979 1088 0 | 265237 2096 1568 | T:ref | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240730 | 20240716 |
6562637766 | 37179 1088 0 | 242181 2096 1552 | T:ref | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240730 | 20240716 |
6622229712 | 37203 1088 0 | 242261 2096 1552 | T:ref | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240730 | 20240716 |
Compiler output
P434.c: In file included from P434.c:127:
P434.c: ./ec_isogeny.inc:226:28: warning: suggest braces around initialization of subobject [-Wmissing-braces]
P434.c: f2elm_t t0, t1, one = {0};
P434.c: ^
P434.c: {}
P434.c: ./ec_isogeny.inc:323:24: warning: suggest braces around initialization of subobject [-Wmissing-braces]
P434.c: point_proj_t R0 = {0}, R2 = {0};
P434.c: ^
P434.c: {}
P434.c: ./ec_isogeny.inc:323:24: warning: suggest braces around initialization of subobject [-Wmissing-braces]
P434.c: point_proj_t R0 = {0}, R2 = {0};
P434.c: ^
P434.c: {}
P434.c: ./ec_isogeny.inc:323:24: warning: suggest braces around initialization of subobject [-Wmissing-braces]
P434.c: point_proj_t R0 = {0}, R2 = {0};
P434.c: ^
P434.c: {}
P434.c: ./ec_isogeny.inc:323:34: warning: suggest braces around initialization of subobject [-Wmissing-braces]
P434.c: point_proj_t R0 = {0}, R2 = {0};
P434.c: ^
P434.c: {}
P434.c: ./ec_isogeny.inc:323:34: warning: suggest braces around initialization of subobject [-Wmissing-braces]
P434.c: point_proj_t R0 = {0}, R2 = {0};
P434.c: ^
P434.c: {}
P434.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_434':
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) |
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:
Implementation | Compiler |
T:ref | 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
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:
Implementation | Compiler |
T:ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
T:ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
T:ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
T:ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
Namespace violations
P434.o A_gen R
P434.o Alice_order R
P434.o B_gen R
P434.o Bob_order R
P434.o EphemeralKeyGeneration_A_SIDHp434 T
P434.o EphemeralKeyGeneration_B_SIDHp434 T
P434.o EphemeralSecretAgreement_A_SIDHp434 T
P434.o EphemeralSecretAgreement_B_SIDHp434 T
P434.o Montgomery_R2 R
P434.o Montgomery_one R
P434.o clear_words T
P434.o copy_words T
P434.o ct_cmov T
P434.o ct_compare T
P434.o eval_3_isog T
P434.o eval_4_isog T
P434.o fp2add434 T
P434.o fp2copy434 T
P434.o fp2correction434 T
P434.o fp2div2_434 T
P434.o fp2inv434_mont T
P434.o fp2mul434_mont T
P434.o fp2neg434 T
P434.o fp2sqr434_mont T
P434.o fp2sub434 T
P434.o fp2zero434 T
P434.o fpcopy434 T
P434.o fpinv434_chain_mont T
P434.o fpinv434_mont T
P434.o fpmul434_mont T
P434.o fpsqr434_mont T
P434.o fpzero434 T
P434.o from_fp2mont T
P434.o from_mont T
P434.o get_3_isog T
P434.o get_4_isog T
P434.o get_A T
P434.o inv_3_way T
P434.o j_inv T
P434.o mp_add T
P434.o mp_shiftl1 T
P434.o mp_shiftleft T
P434.o mp_shiftr1 T
P434.o mp_sub T
P434.o p434 R
P434.o p434p1 R
P434.o p434x16p R
P434.o p434x2 R
P434.o p434x4 R
P434.o random_mod_order_A_SIDHp434 T
P434.o random_mod_order_B_SIDHp434 T
P434.o strat_Alice R
P434.o strat_Bob R
P434.o to_fp2mont T
P434.o to_mont T
P434.o xDBL T
P434.o xDBLADD T
P434.o xDBLe T
P434.o xTPL T
P434.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 fpadd434 T
fp_generic.o fpcorrection434 T
fp_generic.o fpdiv2_434 T
fp_generic.o fpneg434 T
fp_generic.o fpsub434 T
fp_generic.o mp_mul T
fp_generic.o mp_sub434_p2 T
fp_generic.o mp_sub434_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
P434.o A_gen R
P434.o Alice_order R
P434.o B_gen R
P434.o Bob_order R
P434.o EphemeralKeyGeneration_A_SIDHp434 T
P434.o EphemeralKeyGeneration_B_SIDHp434 T
P434.o EphemeralSecretAgreement_A_SIDHp434 T
P434.o EphemeralSecretAgreement_B_SIDHp434 T
P434.o Montgomery_R2 R
P434.o Montgomery_one R
P434.o clear_words T
P434.o copy_words T
P434.o ct_cmov T
P434.o ct_compare T
P434.o eval_3_isog T
P434.o eval_4_isog T
P434.o fp2add434 T
P434.o fp2copy434 T
P434.o fp2correction434 T
P434.o fp2div2_434 T
P434.o fp2inv434_mont T
P434.o fp2mul434_mont T
P434.o fp2neg434 T
P434.o fp2sqr434_mont T
P434.o fp2sub434 T
P434.o fp2zero434 T
P434.o fpcopy434 T
P434.o fpinv434_chain_mont T
P434.o fpinv434_mont T
P434.o fpmul434_mont T
P434.o fpsqr434_mont T
P434.o fpzero434 T
P434.o from_fp2mont T
P434.o from_mont T
P434.o get_3_isog T
P434.o get_4_isog T
P434.o get_A T
P434.o inv_3_way T
P434.o j_inv T
P434.o mp_add T
P434.o mp_shiftl1 T
P434.o mp_shiftleft T
P434.o mp_shiftr1 T
P434.o mp_sub T
P434.o p434 R
P434.o p434p1 R
P434.o p434x16p R
P434.o p434x2 R
P434.o p434x4 R
P434.o random_mod_order_A_SIDHp434 T
P434.o random_mod_order_B_SIDHp434 T
P434.o strat_Alice R
P434.o strat_Bob R
P434.o to_fp2mont T
P434.o to_mont T
P434.o xDBL T
P434.o xDBLADD T
P434.o xDBLe T
P434.o xTPL T
P434.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 fpadd434 T
fp_arm64.o fpcorrection434 T
fp_arm64.o fpdiv2_434 T
fp_arm64.o fpneg434 T
fp_arm64.o fpsub434 T
fp_arm64.o mp_mul T
fp_arm64.o mp_sub434_p2 T
fp_arm64.o mp_sub434_p4 T
fp_arm64.o rdc_mont T
fp_arm64_asm.o fpadd434_asm T
fp_arm64_asm.o fpsub434_asm T
fp_arm64_asm.o mp_add434_asm T
fp_arm64_asm.o mp_add434x2_asm T
fp_arm64_asm.o mp_dblsub434x2_asm T
fp_arm64_asm.o mp_sub434_p2_asm T
fp_arm64_asm.o mp_sub434_p4_asm T
fp_arm64_asm.o mp_subadd434x2_asm T
fp_arm64_asm.o mul434_asm T
fp_arm64_asm.o rdc434_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) |
Namespace violations
api_generic.o crypto_kem_dec_generic T
api_generic.o crypto_kem_enc_generic T
api_generic.o crypto_kem_keypair_generic T
encoding.o clear_free T
encoding.o encapstoos T
encoding.o encapstoos_alloc T
encoding.o encapstoos_len T
encoding.o fp2toos T
encoding.o fp2toos_alloc T
encoding.o fp2toos_len T
encoding.o ostoencaps T
encoding.o ostofp T
encoding.o ostofp2 T
encoding.o ostoi T
encoding.o ostopk T
encoding.o ostosk T
encoding.o pktoos T
encoding.o pktoos_alloc T
encoding.o pktoos_len T
encoding.o sktoos T
encoding.o sktoos_len T
fips202.o KeccakF1600_StatePermute T
fips202.o cshake128_simple T
fips202.o cshake128_simple_absorb T
fips202.o cshake128_simple_squeezeblocks T
fips202.o cshake256_simple T
fips202.o cshake256_simple_absorb T
fips202.o cshake256_simple_squeezeblocks 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.o fp_Add T
fp.o fp_Clear T
fp.o fp_Constant T
fp.o fp_Copy T
fp.o fp_ImportHex T
fp.o fp_Init T
fp.o fp_Invert T
fp.o fp_IsBitSet T
fp.o fp_IsConstant T
fp.o fp_IsEqual T
fp.o fp_Multiply T
fp.o fp_Negative T
fp.o fp_Pow T
fp.o fp_Rand T
fp.o fp_Square T
fp.o fp_Subtract T
fp.o fp_Unity T
fp.o fp_Zero T
fp.o mp_export T
fp.o mp_import T
fp.o mp_mod T
fp.o mp_pow T
fp.o mp_sizeinbase T
fp.o set_gmp_fp_params T
fp2.o fp2_Add T
fp2.o fp2_AddDeg1 T
fp2.o fp2_Clear T
fp2.o fp2_Copy T
fp2.o fp2_Init T
fp2.o fp2_Init_set T
fp2.o fp2_Invert T
fp2.o fp2_IsConst T
fp2.o fp2_IsEqual T
fp2.o fp2_Multiply T
fp2.o fp2_Negative T
fp2.o fp2_Rand T
fp2.o fp2_Set T
fp2.o fp2_Sqrt T
fp2.o fp2_Square T
fp2.o fp2_Sub T
isogeny.o curve_2_iso T
isogeny.o curve_3_iso T
isogeny.o curve_4_iso T
isogeny.o eval_2_iso T
isogeny.o eval_3_iso T
isogeny.o eval_4_iso T
isogeny.o iso_2_e T
isogeny.o iso_3_e T
montgomery.o get_xR T
montgomery.o get_yP_yQ_A_B T
montgomery.o j_inv T
montgomery.o mont_curve_clear T
montgomery.o mont_curve_copy T
montgomery.o mont_curve_init T
montgomery.o mont_double_and_add T
montgomery.o mont_pt_clear T
montgomery.o mont_pt_copy T
montgomery.o mont_pt_init T
montgomery.o public_key_clear T
montgomery.o public_key_init T
montgomery.o xADD T
montgomery.o xDBL T
montgomery.o xDBLe T
montgomery.o xTPL T
montgomery.o xTPLe T
sidh.o sidh_isoex T
sidh.o sidh_isogen T
sidh.o sidh_sk_keygen T
sike.o sike_kem_decaps T
sike.o sike_kem_encaps T
sike.o sike_kem_keygen T
sike.o sike_pke_dec T
sike.o sike_pke_enc T
sike_params.o SIKEp434 D
sike_params.o SIKEp503 D
sike_params.o SIKEp610 D
sike_params.o SIKEp751 D
sike_params.o sike_setup_params T
sike_params.o sike_teardown_params T
Number of similar (implementation,compiler) pairs: 5, namely:
Implementation | Compiler |
T:ref | 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:ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
T:ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
T:ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
T:ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |