Implementation notes: amd64, hiphop, crypto_kem/sikep610comp

Computer: hiphop
Microarchitecture: amd64; HW+AES (306c3)
Architecture: amd64
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20221122
Operation: crypto_kem
Primitive: sikep610comp
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
114770726693476 0 16714308 812 1712T:mulxclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021110820211108
115531321560406 0 16579298 804 1712T:mulxclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021110820211108
116608125669619 0 16691436 812 1712T:mulxclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021110820211108
116943765669619 0 16691436 812 1712T:mulxclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021110820211108
117481542675795 0 16697644 812 1712T:mulxclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021110820211108
118489031639468 0 16663161 812 1776T:mulxgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021110820211108
119931626563655 0 16584273 812 1776T:mulxgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021110820211108
122170067557650 0 16578081 812 1776T:mulxgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021110820211108
122812470530903 0 16550441 804 1744T:mulxgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021110820211108
756178206732274 0 16754020 812 1712T:amd64clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021110820211108
757038559725850 0 16747524 812 1712T:amd64clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021110820211108
757197807725850 0 16747524 812 1712T:amd64clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021110820211108
760298052752999 0 16773780 812 1712T:amd64clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021110820211108
827550470633677 0 16657393 812 1776T:amd64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021110820211108
911392813562545 0 16581466 804 1712T:amd64clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021110820211108
923960117557197 0 16577785 812 1776T:amd64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021110820211108
956107209552361 0 16572777 812 1776T:amd64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021110820211108
1427556714527103 0 16546633 804 1744T:amd64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021110820211108

Test failure

Implementation: T:mulxadx
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
error 111

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mulxadx
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mulxadx
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mulxadx
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mulxadx
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mulxadx
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:mulxadx
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:mulxadx
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:mulxadx
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:mulxadx

Compiler output

Implementation: T:amd64asm
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
fp_x64_asm.S: fp_x64_asm.S:724:3: error: "CONFIGURATION NOT SUPPORTED. TRY USE_MULX=TRUE"
fp_x64_asm.S: # error "CONFIGURATION NOT SUPPORTED. TRY USE_MULX=TRUE"
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:1042:3: error: "CONFIGURATION NOT SUPPORTED. TRY USE_MULX=TRUE"
fp_x64_asm.S: # error "CONFIGURATION NOT SUPPORTED. TRY USE_MULX=TRUE"
fp_x64_asm.S: ^
fp_x64_asm.S: 2 errors generated.

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:amd64asm
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:amd64asm
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:amd64asm
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:amd64asm
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:amd64asm

Compiler output

Implementation: T:amd64asm
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
fp_x64_asm.S: fp_x64_asm.S:724:3: error: #error "CONFIGURATION NOT SUPPORTED. TRY USE_MULX=TRUE"
fp_x64_asm.S: # error "CONFIGURATION NOT SUPPORTED. TRY USE_MULX=TRUE"
fp_x64_asm.S: ^~~~~
fp_x64_asm.S: fp_x64_asm.S:1042:3: error: #error "CONFIGURATION NOT SUPPORTED. TRY USE_MULX=TRUE"
fp_x64_asm.S: # error "CONFIGURATION NOT SUPPORTED. TRY USE_MULX=TRUE"
fp_x64_asm.S: ^~~~~

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

Namespace violations

Implementation: T:amd64
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
P610_compressed.o A_basis_zero R
P610_compressed.o A_gen R
P610_compressed.o Alice_order R
P610_compressed.o B_basis_zero R
P610_compressed.o B_gen R
P610_compressed.o B_gen_3_tors R
P610_compressed.o Bob_order R
P610_compressed.o CompleteMPoint T
P610_compressed.o Double T
P610_compressed.o EphemeralKeyGeneration_A_SIDHp610_Compressed T
P610_compressed.o EphemeralKeyGeneration_B_SIDHp610_Compressed T
P610_compressed.o EphemeralSecretAgreement_A_SIDHp610_Compressed T
P610_compressed.o EphemeralSecretAgreement_B_SIDHp610_Compressed T
P610_compressed.o FormatPrivKey_B T
P610_compressed.o Ladder T
P610_compressed.o Montgomery_R R
P610_compressed.o Montgomery_R2 R
P610_compressed.o Montgomery_RB1 R
P610_compressed.o Montgomery_RB2 R
P610_compressed.o Montgomery_inversion_mod_order_bingcd T
P610_compressed.o Montgomery_multiply_mod_order T
P610_compressed.o Montgomery_neg T
P610_compressed.o Montgomery_one R
P610_compressed.o T_tate2_P R
P610_compressed.o T_tate2_Q R
P610_compressed.o T_tate2_firststep_P R
P610_compressed.o T_tate2_firststep_Q R
P610_compressed.o T_tate3 R
P610_compressed.o Tate2_pairings T
P610_compressed.o Tate3_pairings T
P610_compressed.o Traverse_w_div_e_fullsigned T
P610_compressed.o Traverse_w_div_e_torus T
P610_compressed.o Traverse_w_notdiv_e_fullsigned T
P610_compressed.o U3 R
P610_compressed.o XQB3 R
P610_compressed.o clear_words T
P610_compressed.o cmp_f2elm T
P610_compressed.o copy_words T
P610_compressed.o ct_cmov T
P610_compressed.o ct_compare T
P610_compressed.o cube_Fp2_cycl T
P610_compressed.o eval_2_isog T
P610_compressed.o eval_3_isog T
P610_compressed.o eval_4_isog T
P610_compressed.o fp2_conj T
P610_compressed.o fp2add610 T
P610_compressed.o fp2copy610 T
P610_compressed.o fp2correction610 T
P610_compressed.o fp2div2_610 T
P610_compressed.o fp2inv610_mont T
P610_compressed.o fp2inv610_mont_bingcd T
P610_compressed.o fp2mul610_mont T
P610_compressed.o fp2neg610 T
P610_compressed.o fp2shl T
P610_compressed.o fp2sqr610_mont T
P610_compressed.o fp2sub610 T
P610_compressed.o fp2zero610 T
P610_compressed.o fpcopy610 T
P610_compressed.o fpinv610_chain_mont T
P610_compressed.o fpinv610_mont T
P610_compressed.o fpinv610_mont_bingcd T
P610_compressed.o fpmul610_mont T
P610_compressed.o fpsqr610_mont T
P610_compressed.o fpzero610 T
P610_compressed.o from_Montgomery_mod_order T
P610_compressed.o from_base T
P610_compressed.o from_fp2mont T
P610_compressed.o from_mont T
P610_compressed.o fromproj T
P610_compressed.o g_R_S_im R
P610_compressed.o get_2_isog T
P610_compressed.o get_3_isog T
P610_compressed.o get_4_isog T
P610_compressed.o get_A T
P610_compressed.o highest_2t T
P610_compressed.o highest_t T
P610_compressed.o inv_3_way T
P610_compressed.o inv_Fp2_cycl_proj T
P610_compressed.o inv_mod_orderA T
P610_compressed.o is_sqr_fp2 T
P610_compressed.o j_inv T
P610_compressed.o mod T
P610_compressed.o mod3 T
P610_compressed.o mont_n_way_inv T
P610_compressed.o mp_add T
P610_compressed.o mp_shiftl1 T
P610_compressed.o mp_shiftleft T
P610_compressed.o mp_shiftr1 T
P610_compressed.o mp_sub T
P610_compressed.o mul3 T
P610_compressed.o mulmixed_montproj T
P610_compressed.o multiply T
P610_compressed.o ord2w_dlog T
P610_compressed.o ord2w_dloghyb T
P610_compressed.o p610 R
P610_compressed.o p610p1 R
P610_compressed.o p610x16p R
P610_compressed.o p610x2 R
P610_compressed.o p610x4 R
P610_compressed.o ph2_CT R
P610_compressed.o ph2_G R
P610_compressed.o ph2_Log R
P610_compressed.o ph2_Texp R
P610_compressed.o ph2_path R
P610_compressed.o ph3_T R
P610_compressed.o ph3_T1 B
P610_compressed.o ph3_T2 B
P610_compressed.o ph3_path R
P610_compressed.o random_mod_order_A_SIDHp610 T
P610_compressed.o random_mod_order_B_SIDHp610 T
P610_compressed.o recover_os T
P610_compressed.o reverse_bits T
P610_compressed.o solve_dlog T
P610_compressed.o sqr_Fp2_cycl T
P610_compressed.o sqr_Fp2_cycl_proj T
P610_compressed.o sqrt_Fp2 T
P610_compressed.o strat_Alice R
P610_compressed.o strat_Bob R
P610_compressed.o table_r_qnr R
P610_compressed.o table_r_qr R
P610_compressed.o table_v_qnr R
P610_compressed.o table_v_qr R
P610_compressed.o threeinv R
P610_compressed.o to_Montgomery_mod_order T
P610_compressed.o to_fp2mont T
P610_compressed.o to_mont T
P610_compressed.o toproj T
P610_compressed.o u_entang R
P610_compressed.o v_3_torsion R
P610_compressed.o validate_ciphertext T
P610_compressed.o xDBL T
P610_compressed.o xDBLADD T
P610_compressed.o xDBL_e T
P610_compressed.o xDBLe T
P610_compressed.o xTPL T
P610_compressed.o xTPL_fast T
P610_compressed.o xTPLe T
P610_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 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 (compiler,implementation) pairs: 9, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:amd64
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:amd64
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:amd64
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:amd64
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:amd64
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:amd64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:amd64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:amd64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:amd64

Namespace violations

Implementation: T:mulx
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
P610_compressed.o A_basis_zero R
P610_compressed.o A_gen R
P610_compressed.o Alice_order R
P610_compressed.o B_basis_zero R
P610_compressed.o B_gen R
P610_compressed.o B_gen_3_tors R
P610_compressed.o Bob_order R
P610_compressed.o CompleteMPoint T
P610_compressed.o Double T
P610_compressed.o EphemeralKeyGeneration_A_SIDHp610_Compressed T
P610_compressed.o EphemeralKeyGeneration_B_SIDHp610_Compressed T
P610_compressed.o EphemeralSecretAgreement_A_SIDHp610_Compressed T
P610_compressed.o EphemeralSecretAgreement_B_SIDHp610_Compressed T
P610_compressed.o FormatPrivKey_B T
P610_compressed.o Ladder T
P610_compressed.o Montgomery_R R
P610_compressed.o Montgomery_R2 R
P610_compressed.o Montgomery_RB1 R
P610_compressed.o Montgomery_RB2 R
P610_compressed.o Montgomery_inversion_mod_order_bingcd T
P610_compressed.o Montgomery_multiply_mod_order T
P610_compressed.o Montgomery_neg T
P610_compressed.o Montgomery_one R
P610_compressed.o T_tate2_P R
P610_compressed.o T_tate2_Q R
P610_compressed.o T_tate2_firststep_P R
P610_compressed.o T_tate2_firststep_Q R
P610_compressed.o T_tate3 R
P610_compressed.o Tate2_pairings T
P610_compressed.o Tate3_pairings T
P610_compressed.o Traverse_w_div_e_fullsigned T
P610_compressed.o Traverse_w_div_e_torus T
P610_compressed.o Traverse_w_notdiv_e_fullsigned T
P610_compressed.o U3 R
P610_compressed.o XQB3 R
P610_compressed.o clear_words T
P610_compressed.o cmp_f2elm T
P610_compressed.o copy_words T
P610_compressed.o ct_cmov T
P610_compressed.o ct_compare T
P610_compressed.o cube_Fp2_cycl T
P610_compressed.o eval_2_isog T
P610_compressed.o eval_3_isog T
P610_compressed.o eval_4_isog T
P610_compressed.o fp2_conj T
P610_compressed.o fp2add610 T
P610_compressed.o fp2copy610 T
P610_compressed.o fp2correction610 T
P610_compressed.o fp2div2_610 T
P610_compressed.o fp2inv610_mont T
P610_compressed.o fp2inv610_mont_bingcd T
P610_compressed.o fp2mul610_mont T
P610_compressed.o fp2neg610 T
P610_compressed.o fp2shl T
P610_compressed.o fp2sqr610_mont T
P610_compressed.o fp2sub610 T
P610_compressed.o fp2zero610 T
P610_compressed.o fpcopy610 T
P610_compressed.o fpinv610_chain_mont T
P610_compressed.o fpinv610_mont T
P610_compressed.o fpinv610_mont_bingcd T
P610_compressed.o fpmul610_mont T
P610_compressed.o fpsqr610_mont T
P610_compressed.o fpzero610 T
P610_compressed.o from_Montgomery_mod_order T
P610_compressed.o from_base T
P610_compressed.o from_fp2mont T
P610_compressed.o from_mont T
P610_compressed.o fromproj T
P610_compressed.o g_R_S_im R
P610_compressed.o get_2_isog T
P610_compressed.o get_3_isog T
P610_compressed.o get_4_isog T
P610_compressed.o get_A T
P610_compressed.o highest_2t T
P610_compressed.o highest_t T
P610_compressed.o inv_3_way T
P610_compressed.o inv_Fp2_cycl_proj T
P610_compressed.o inv_mod_orderA T
P610_compressed.o is_sqr_fp2 T
P610_compressed.o j_inv T
P610_compressed.o mod T
P610_compressed.o mod3 T
P610_compressed.o mont_n_way_inv T
P610_compressed.o mp_add T
P610_compressed.o mp_shiftl1 T
P610_compressed.o mp_shiftleft T
P610_compressed.o mp_shiftr1 T
P610_compressed.o mp_sub T
P610_compressed.o mul3 T
P610_compressed.o mulmixed_montproj T
P610_compressed.o multiply T
P610_compressed.o ord2w_dlog T
P610_compressed.o ord2w_dloghyb T
P610_compressed.o p610 R
P610_compressed.o p610p1 R
P610_compressed.o p610x16p R
P610_compressed.o p610x2 R
P610_compressed.o p610x4 R
P610_compressed.o ph2_CT R
P610_compressed.o ph2_G R
P610_compressed.o ph2_Log R
P610_compressed.o ph2_Texp R
P610_compressed.o ph2_path R
P610_compressed.o ph3_T R
P610_compressed.o ph3_T1 B
P610_compressed.o ph3_T2 B
P610_compressed.o ph3_path R
P610_compressed.o random_mod_order_A_SIDHp610 T
P610_compressed.o random_mod_order_B_SIDHp610 T
P610_compressed.o recover_os T
P610_compressed.o reverse_bits T
P610_compressed.o solve_dlog T
P610_compressed.o sqr_Fp2_cycl T
P610_compressed.o sqr_Fp2_cycl_proj T
P610_compressed.o sqrt_Fp2 T
P610_compressed.o strat_Alice R
P610_compressed.o strat_Bob R
P610_compressed.o table_r_qnr R
P610_compressed.o table_r_qr R
P610_compressed.o table_v_qnr R
P610_compressed.o table_v_qr R
P610_compressed.o threeinv R
P610_compressed.o to_Montgomery_mod_order T
P610_compressed.o to_fp2mont T
P610_compressed.o to_mont T
P610_compressed.o toproj T
P610_compressed.o u_entang R
P610_compressed.o v_3_torsion R
P610_compressed.o validate_ciphertext T
P610_compressed.o xDBL T
P610_compressed.o xDBLADD T
P610_compressed.o xDBL_e T
P610_compressed.o xDBLe T
P610_compressed.o xTPL T
P610_compressed.o xTPL_fast T
P610_compressed.o xTPLe T
P610_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_x64.o fpadd610 T
fp_x64.o fpcorrection610 T
fp_x64.o fpdiv2_610 T
fp_x64.o fpneg610 T
fp_x64.o fpsub610 T
fp_x64.o mp_mul T
fp_x64.o mp_sub610_p2 T
fp_x64.o mp_sub610_p4 T
fp_x64.o rdc_mont T
fp_x64_asm.o fpadd610_asm T
fp_x64_asm.o fpsub610_asm T
fp_x64_asm.o mp_add610_asm T
fp_x64_asm.o mp_dblsub610x2_asm T
fp_x64_asm.o mp_sub610_p2_asm T
fp_x64_asm.o mp_sub610_p4_asm T
fp_x64_asm.o mp_subadd610x2_asm T
fp_x64_asm.o mul610_asm T
fp_x64_asm.o rdc610_asm T

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mulx
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mulx
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mulx
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mulx
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mulx
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:mulx
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:mulx
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:mulx
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:mulx