Implementation notes: amd64, avx512imath, crypto_kem/sikep503

Computer: avx512imath
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20210125
Operation: crypto_kem
Primitive: sikep503
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
3751847472960 0 0102520 812 1776T:msgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032420210125
3820927634094 0 060960 812 1776T:msgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032420210125
3862602573199 0 0102760 812 1776T:x64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032420210125
3880364726153 0 051368 804 1744T:msgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032420210125
3901885431833 0 058688 812 1776T:msgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032420210125
4015018734141 0 061008 812 1776T:x64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032420210125
4056468331841 0 058688 812 1776T:x64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032420210125
4108348326158 0 051376 804 1744T:x64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032420210125
31275253878976 0 0109008 812 1776T:optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032420210125
36387354432728 0 060072 812 1776T:optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032420210125
36503835130508 0 057840 812 1776T:optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032420210125
56202286424125 0 049816 804 1744T:optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032420210125

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: crypto_kem_sikep503.a(encoding.o): in function `ostofp':
try.c: encoding.c:(.text+0x...): undefined reference to `__gmpz_cmp'
try.c: /usr/bin/ld: crypto_kem_sikep503.a(fp.o): in function `gmp_subtract':
try.c: fp.c:(.text+0x...): undefined reference to `__gmpz_sub'
try.c: /usr/bin/ld: crypto_kem_sikep503.a(fp.o): in function `gmp_square':
try.c: fp.c:(.text+0x...): undefined reference to `__gmpz_mul'
try.c: /usr/bin/ld: crypto_kem_sikep503.a(fp.o): in function `gmp_multiply':
try.c: fp.c:(.text+0x...): undefined reference to `__gmpz_mul'
try.c: /usr/bin/ld: crypto_kem_sikep503.a(fp.o): in function `nist_rand':
try.c: fp.c:(.text+0x...): undefined reference to `__gmpz_sizeinbase'
try.c: /usr/bin/ld: fp.c:(.text+0x...): undefined reference to `__gmpz_import'
try.c: /usr/bin/ld: fp.c:(.text+0x...): undefined reference to `__gmpz_mod'
try.c: /usr/bin/ld: crypto_kem_sikep503.a(fp.o): in function `gmp_negative':
try.c: fp.c:(.text+0x...): undefined reference to `__gmpz_set'
try.c: /usr/bin/ld: crypto_kem_sikep503.a(fp.o): in function `gmp_isConstant':
try.c: fp.c:(.text+0x...): undefined reference to `__gmpz_cmp_ui'
try.c: /usr/bin/ld: crypto_kem_sikep503.a(fp.o): in function `gmp_isequal_fp':
try.c: fp.c:(.text+0x...): undefined reference to `__gmpz_cmp'
try.c: /usr/bin/ld: crypto_kem_sikep503.a(fp.o): in function `gmp_add_fp':
try.c: fp.c:(.text+0x...): undefined reference to `__gmpz_add'
try.c: /usr/bin/ld: crypto_kem_sikep503.a(fp.o): in function `gmp_zero':
try.c: fp.c:(.text+0x...): undefined reference to `__gmpz_set_ui'
try.c: /usr/bin/ld: crypto_kem_sikep503.a(fp.o): in function `gmp_unity':
try.c: fp.c:(.text+0x...): undefined reference to `__gmpz_set_ui'
try.c: /usr/bin/ld: crypto_kem_sikep503.a(fp.o): in function `gmp_constant_fp':
try.c: ...

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 -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: crypto_kem_sikep503.a(encoding.o): in function `ostofp':
try.c: encoding.c:(.text+0x...): undefined reference to `__gmpz_cmp'
try.c: /usr/bin/ld: crypto_kem_sikep503.a(encoding.o): in function `ostofp2':
try.c: encoding.c:(.text+0x...): undefined reference to `__gmpz_cmp'
try.c: /usr/bin/ld: encoding.c:(.text+0x...): undefined reference to `__gmpz_cmp'
try.c: /usr/bin/ld: crypto_kem_sikep503.a(encoding.o): in function `ostopk':
try.c: encoding.c:(.text+0x...): undefined reference to `__gmpz_cmp'
try.c: /usr/bin/ld: encoding.c:(.text+0x...): undefined reference to `__gmpz_cmp'
try.c: /usr/bin/ld: crypto_kem_sikep503.a(encoding.o):encoding.c:(.text+0x...): more undefined references to `__gmpz_cmp' follow
try.c: /usr/bin/ld: crypto_kem_sikep503.a(fp.o): in function `gmp_subtract':
try.c: fp.c:(.text+0x...): undefined reference to `__gmpz_sub'
try.c: /usr/bin/ld: crypto_kem_sikep503.a(fp.o): in function `gmp_square':
try.c: fp.c:(.text+0x...): undefined reference to `__gmpz_mul'
try.c: /usr/bin/ld: crypto_kem_sikep503.a(fp.o): in function `gmp_multiply':
try.c: fp.c:(.text+0x...): undefined reference to `__gmpz_mul'
try.c: /usr/bin/ld: crypto_kem_sikep503.a(fp.o): in function `nist_rand':
try.c: fp.c:(.text+0x...): undefined reference to `__gmpz_sizeinbase'
try.c: /usr/bin/ld: fp.c:(.text+0x...): undefined reference to `__gmpz_import'
try.c: /usr/bin/ld: fp.c:(.text+0x...): undefined reference to `__gmpz_mod'
try.c: /usr/bin/ld: crypto_kem_sikep503.a(fp.o): in function `gmp_negative':
try.c: fp.c:(.text+0x...): undefined reference to `__gmpz_set'
try.c: /usr/bin/ld: crypto_kem_sikep503.a(fp.o): in function `gmp_isConstant':
try.c: fp.c:(.text+0x...): undefined reference to `__gmpz_cmp_ui'
try.c: /usr/bin/ld: crypto_kem_sikep503.a(fp.o): in function `gmp_isequal_fp':
try.c: fp.c:(.text+0x...): undefined reference to `__gmpz_cmp'
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
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: crypto_kem_sikep503.a(encoding.o): in function `ostofp':
try.c: encoding.c:(.text+0x...): undefined reference to `__gmpz_cmp'
try.c: /usr/bin/ld: crypto_kem_sikep503.a(fp.o): in function `gmp_zero':
try.c: fp.c:(.text+0x...): undefined reference to `__gmpz_set_ui'
try.c: /usr/bin/ld: crypto_kem_sikep503.a(fp.o): in function `gmp_unity':
try.c: fp.c:(.text+0x...): undefined reference to `__gmpz_set_ui'
try.c: /usr/bin/ld: crypto_kem_sikep503.a(fp.o): in function `gmp_constant_fp':
try.c: fp.c:(.text+0x...): undefined reference to `__gmpz_set_ui'
try.c: /usr/bin/ld: crypto_kem_sikep503.a(fp.o): in function `gmp_subtract':
try.c: fp.c:(.text+0x...): undefined reference to `__gmpz_sub'
try.c: /usr/bin/ld: fp.c:(.text+0x...): undefined reference to `__gmpz_mod'
try.c: /usr/bin/ld: crypto_kem_sikep503.a(fp.o): in function `gmp_square':
try.c: fp.c:(.text+0x...): undefined reference to `__gmpz_mul'
try.c: /usr/bin/ld: fp.c:(.text+0x...): undefined reference to `__gmpz_mod'
try.c: /usr/bin/ld: crypto_kem_sikep503.a(fp.o): in function `gmp_multiply':
try.c: fp.c:(.text+0x...): undefined reference to `__gmpz_mul'
try.c: /usr/bin/ld: fp.c:(.text+0x...): undefined reference to `__gmpz_mod'
try.c: /usr/bin/ld: crypto_kem_sikep503.a(fp.o): in function `gmp_pow':
try.c: fp.c:(.text+0x...): undefined reference to `__gmpz_powm'
try.c: /usr/bin/ld: crypto_kem_sikep503.a(fp.o): in function `gmp_negative':
try.c: fp.c:(.text+0x...): undefined reference to `__gmpz_set'
try.c: /usr/bin/ld: fp.c:(.text+0x...): undefined reference to `__gmpz_mod'
try.c: /usr/bin/ld: crypto_kem_sikep503.a(fp.o): in function `gmp_copy_fp':
try.c: fp.c:(.text+0x...): undefined reference to `__gmpz_set'
try.c: /usr/bin/ld: crypto_kem_sikep503.a(fp.o): in function `gmp_isConstant':
try.c: ...

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

Namespace violations

Implementation: T:ms
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
P503.o A_gen R
P503.o Alice_order R
P503.o B_gen R
P503.o Bob_order R
P503.o Border_div3 R
P503.o EphemeralKeyGeneration_A_SIDHp503 T
P503.o EphemeralKeyGeneration_B_SIDHp503 T
P503.o EphemeralSecretAgreement_A_SIDHp503 T
P503.o EphemeralSecretAgreement_B_SIDHp503 T
P503.o Montgomery_R2 R
P503.o Montgomery_Rprime R
P503.o Montgomery_one R
P503.o Montgomery_rprime R
P503.o copy_words T
P503.o eval_3_isog T
P503.o eval_4_isog T
P503.o fp2add503 T
P503.o fp2copy503 T
P503.o fp2correction503 T
P503.o fp2div2_503 T
P503.o fp2inv503_mont T
P503.o fp2mul503_mont T
P503.o fp2neg503 T
P503.o fp2sqr503_mont T
P503.o fp2sub503 T
P503.o fp2zero503 T
P503.o fpcopy503 T
P503.o fpinv503_chain_mont T
P503.o fpinv503_mont T
P503.o fpmul503_mont T
P503.o fpsqr503_mont T
P503.o fpzero503 T
P503.o from_fp2mont T
P503.o from_mont T
P503.o get_3_isog T
P503.o get_4_isog T
P503.o get_A T
P503.o inv_3_way T
P503.o j_inv T
P503.o mp_add T
P503.o mp_shiftl1 T
P503.o mp_shiftleft T
P503.o mp_shiftr1 T
P503.o mp_sub T
P503.o p503 R
P503.o p503p1 R
P503.o p503x2 R
P503.o random_mod_order_A_SIDHp503 T
P503.o random_mod_order_B_SIDHp503 T
P503.o strat_Alice R
P503.o strat_Bob R
P503.o to_fp2mont T
P503.o to_mont T
P503.o xDBL T
P503.o xDBLADD T
P503.o xDBLe T
P503.o xTPL T
P503.o xTPLe 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_x64.o fpadd503 T
fp_x64.o fpcorrection503 T
fp_x64.o fpdiv2_503 T
fp_x64.o fpneg503 T
fp_x64.o fpsub503 T
fp_x64.o mp_mul T
fp_x64.o rdc_mont T
fp_x64_asm.o fpadd503_asm T
fp_x64_asm.o fpsub503_asm T
fp_x64_asm.o mp_add503_asm T
fp_x64_asm.o mp_dblsub503x2_asm T
fp_x64_asm.o mp_sub503x2_asm T
fp_x64_asm.o mul503_asm T
fp_x64_asm.o rdc503_asm T

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

Namespace violations

Implementation: T:opt
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
P503.o A_gen R
P503.o Alice_order R
P503.o B_gen R
P503.o Bob_order R
P503.o Border_div3 R
P503.o EphemeralKeyGeneration_A T
P503.o EphemeralKeyGeneration_B T
P503.o EphemeralSecretAgreement_A T
P503.o EphemeralSecretAgreement_B T
P503.o Montgomery_R2 R
P503.o Montgomery_Rprime R
P503.o Montgomery_one R
P503.o Montgomery_rprime R
P503.o copy_words T
P503.o eval_3_isog T
P503.o eval_4_isog T
P503.o fp2add503 T
P503.o fp2copy503 T
P503.o fp2correction503 T
P503.o fp2div2_503 T
P503.o fp2inv503_mont T
P503.o fp2mul503_mont T
P503.o fp2neg503 T
P503.o fp2sqr503_mont T
P503.o fp2sub503 T
P503.o fp2zero503 T
P503.o fpcopy503 T
P503.o fpinv503_chain_mont T
P503.o fpinv503_mont T
P503.o fpmul503_mont T
P503.o fpsqr503_mont T
P503.o fpzero503 T
P503.o from_fp2mont T
P503.o from_mont T
P503.o get_3_isog T
P503.o get_4_isog T
P503.o get_A T
P503.o inv_3_way T
P503.o j_inv T
P503.o mp_add T
P503.o mp_shiftl1 T
P503.o mp_shiftleft T
P503.o mp_shiftr1 T
P503.o mp_sub T
P503.o p503 R
P503.o p503p1 R
P503.o p503x2 R
P503.o random_mod_order_A T
P503.o random_mod_order_B T
P503.o strat_Alice R
P503.o strat_Bob R
P503.o to_fp2mont T
P503.o to_mont T
P503.o xDBL T
P503.o xDBLADD T
P503.o xDBLe T
P503.o xTPL T
P503.o xTPLe 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_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 rdc_mont T

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

Namespace violations

Implementation: T:x64
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
P503.o A_gen R
P503.o Alice_order R
P503.o B_gen R
P503.o Bob_order R
P503.o Border_div3 R
P503.o EphemeralKeyGeneration_A T
P503.o EphemeralKeyGeneration_B T
P503.o EphemeralSecretAgreement_A T
P503.o EphemeralSecretAgreement_B T
P503.o Montgomery_R2 R
P503.o Montgomery_Rprime R
P503.o Montgomery_one R
P503.o Montgomery_rprime R
P503.o copy_words T
P503.o eval_3_isog T
P503.o eval_4_isog T
P503.o fp2add503 T
P503.o fp2copy503 T
P503.o fp2correction503 T
P503.o fp2div2_503 T
P503.o fp2inv503_mont T
P503.o fp2mul503_mont T
P503.o fp2neg503 T
P503.o fp2sqr503_mont T
P503.o fp2sub503 T
P503.o fp2zero503 T
P503.o fpcopy503 T
P503.o fpinv503_chain_mont T
P503.o fpinv503_mont T
P503.o fpmul503_mont T
P503.o fpsqr503_mont T
P503.o fpzero503 T
P503.o from_fp2mont T
P503.o from_mont T
P503.o get_3_isog T
P503.o get_4_isog T
P503.o get_A T
P503.o inv_3_way T
P503.o j_inv T
P503.o mp_add T
P503.o mp_shiftl1 T
P503.o mp_shiftleft T
P503.o mp_shiftr1 T
P503.o mp_sub T
P503.o p503 R
P503.o p503p1 R
P503.o p503x2 R
P503.o random_mod_order_A T
P503.o random_mod_order_B T
P503.o strat_Alice R
P503.o strat_Bob R
P503.o to_fp2mont T
P503.o to_mont T
P503.o xDBL T
P503.o xDBLADD T
P503.o xDBLe T
P503.o xTPL T
P503.o xTPLe 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_x64.o fpadd503 T
fp_x64.o fpcorrection503 T
fp_x64.o fpdiv2_503 T
fp_x64.o fpneg503 T
fp_x64.o fpsub503 T
fp_x64.o mp_mul T
fp_x64.o rdc_mont T
fp_x64_asm.o fpadd503_asm T
fp_x64_asm.o fpsub503_asm T
fp_x64_asm.o mp_add503_asm T
fp_x64_asm.o mp_add503x2_asm T
fp_x64_asm.o mp_sub503x2_asm T
fp_x64_asm.o mul503_asm T
fp_x64_asm.o rdc503_asm T

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