Implementation notes: aarch64, pi3bplus, crypto_kem/sikep503

Computer: pi3bplus
Microarchitecture: aarch64; Cortex-A53 (410fd034)
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20230530
Operation: crypto_kem
Primitive: sikep503
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
12359775060864 0 080432 848 1568T:arm64asmclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023070620230530
12412362527532 0 046511 912 1568T:arm64asmgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023070620230530
12424775045124 0 065327 912 1584T:arm64asmgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023070620230530
12464837523616 0 041639 896 1552T:arm64asmgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023070620230530
12482050029068 0 048047 912 1568T:arm64asmgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023070620230530
62164462581604 0 0101879 928 1584T:arm64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023070620230530
62345462581604 0 0101879 928 1584T:amd64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023070620230530
66992662561892 0 081456 864 1568T:arm64clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023070620230530
66999187561892 0 081456 864 1568T:amd64clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023070620230530
81179387533808 0 052831 928 1568T:arm64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023070620230530
81454612533808 0 052831 928 1568T:amd64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023070620230530
105643925033072 0 052103 928 1568T:amd64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023070620230530
105909087533072 0 052103 928 1568T:arm64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023070620230530
136847012521808 0 039895 912 1552T:arm64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023070620230530
137045012521808 0 039895 912 1552T:amd64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023070620230530

Test failure

Implementation: T:ref
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
error 142
Alarm clock

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O -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:arm64asm
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
fp_arm64.c: fp_arm64.c:71:5: warning: implicit declaration of function 'mp_shiftr1' is invalid in C99 [-Wimplicit-function-declaration]
fp_arm64.c: mp_shiftr1(c, NWORDS_FIELD);
fp_arm64.c: ^
fp_arm64.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:arm64asm

Compiler output

Implementation: T:arm64asm
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
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 (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:arm64asm
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:arm64asm
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:arm64asm
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:arm64asm

Namespace violations

Implementation: T:amd64
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
P503.o A_gen R
P503.o Alice_order R
P503.o B_gen R
P503.o Bob_order 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_one R
P503.o clear_words T
P503.o copy_words T
P503.o ct_cmov T
P503.o ct_compare 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 p503p1x64 R
P503.o p503x16p R
P503.o p503x2 R
P503.o p503x4 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 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 (compiler,implementation) pairs: 10, namely:
CompilerImplementations
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
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:arm64
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:arm64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:arm64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:arm64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:arm64

Namespace violations

Implementation: T:arm64asm
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
P503.o A_gen R
P503.o Alice_order R
P503.o B_gen R
P503.o Bob_order 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_one R
P503.o clear_words T
P503.o copy_words T
P503.o ct_cmov T
P503.o ct_compare 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 p503p1x64 R
P503.o p503x16p R
P503.o p503x2 R
P503.o p503x4 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 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 (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:arm64asm
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:arm64asm
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:arm64asm
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:arm64asm
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:arm64asm