Implementation notes: aarch64, googlecoraldev, crypto_kem/sikep503

Computer: googlecoraldev
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20191221
Operation: crypto_kem
Primitive: sikep503
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
58038138064928 0 083575 920 1584optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010720191221
63784152058332 0 076656 856 1568optclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010720191221
77364756027564 0 044959 920 1568optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010720191221
100789254026268 0 043751 920 1568optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010720191221
135767826021584 0 038159 904 1552optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010720191221
1135854864033771 768 0235420 1824 1560refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010720191221
1138818006057725 768 0261484 1840 1592refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010720191221
1140490980034015 768 0235889 1776 1576refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010720191221
1142013348036069 768 0238660 1840 1576refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010720191221
1150310160036009 768 0238596 1840 1576refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010720191221

Compiler output

Implementation: crypto_kem/sikep503/x64
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
fp_x64_asm.S: fp_x64_asm.S:7:1: error: unknown directive
fp_x64_asm.S: .intel_syntax noprefix
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:37:3: error: unrecognized instruction mnemonic, did you mean: ushl, ushr?
fp_x64_asm.S: push r12
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:38:3: error: unrecognized instruction mnemonic, did you mean: ushl, ushr?
fp_x64_asm.S: push r13
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:39:3: error: unrecognized instruction mnemonic, did you mean: ushl, ushr?
fp_x64_asm.S: push r14
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:40:3: error: unrecognized instruction mnemonic, did you mean: ushl, ushr?
fp_x64_asm.S: push r15
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:42:3: error: unrecognized instruction mnemonic, did you mean: eor, orn, orr, ror?
fp_x64_asm.S: xor rax, rax
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:43:7: error: invalid operand for instruction
fp_x64_asm.S: mov r8, [rdi]
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:44:7: error: invalid operand for instruction
fp_x64_asm.S: mov r9, [rdi+8]
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:45:7: error: invalid operand for instruction
fp_x64_asm.S: ...

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

Compiler output

Implementation: crypto_kem/sikep503/ms
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
fp_x64_asm.S: fp_x64_asm.S:7:1: error: unknown directive
fp_x64_asm.S: .intel_syntax noprefix
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:63:3: error: unrecognized instruction mnemonic, did you mean: ushl, ushr?
fp_x64_asm.S: push r12
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:64:3: error: unrecognized instruction mnemonic, did you mean: ushl, ushr?
fp_x64_asm.S: push r13
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:65:3: error: unrecognized instruction mnemonic, did you mean: ushl, ushr?
fp_x64_asm.S: push r14
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:66:3: error: unrecognized instruction mnemonic, did you mean: ushl, ushr?
fp_x64_asm.S: push r15
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:68:3: error: unrecognized instruction mnemonic, did you mean: eor, orn, orr, ror?
fp_x64_asm.S: xor rax, rax
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:69:7: error: invalid operand for instruction
fp_x64_asm.S: mov r8, [rdi]
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:70:7: error: invalid operand for instruction
fp_x64_asm.S: mov r9, [rdi+8]
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:71:7: error: invalid operand for instruction
fp_x64_asm.S: ...

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

Compiler output

Implementation: crypto_kem/sikep503/x64
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
fp_x64_asm.S: fp_x64_asm.S: Assembler messages:
fp_x64_asm.S: fp_x64_asm.S:7: Error: unknown pseudo-op: `.intel_syntax'
fp_x64_asm.S: fp_x64_asm.S:37: Error: unknown mnemonic `push' -- `push r12'
fp_x64_asm.S: fp_x64_asm.S:38: Error: unknown mnemonic `push' -- `push r13'
fp_x64_asm.S: fp_x64_asm.S:39: Error: unknown mnemonic `push' -- `push r14'
fp_x64_asm.S: fp_x64_asm.S:40: Error: unknown mnemonic `push' -- `push r15'
fp_x64_asm.S: fp_x64_asm.S:42: Error: unknown mnemonic `xor' -- `xor rax,rax'
fp_x64_asm.S: fp_x64_asm.S:43: Error: operand 1 must be an integer register -- `mov r8,[rdi]'
fp_x64_asm.S: fp_x64_asm.S:44: Error: operand 1 must be an integer register -- `mov r9,[rdi+8]'
fp_x64_asm.S: fp_x64_asm.S:45: Error: operand 1 must be an integer register -- `mov r10,[rdi+16]'
fp_x64_asm.S: fp_x64_asm.S:46: Error: operand 1 must be an integer register -- `mov r11,[rdi+24]'
fp_x64_asm.S: fp_x64_asm.S:47: Error: operand 1 must be an integer register -- `mov r12,[rdi+32]'
fp_x64_asm.S: fp_x64_asm.S:48: Error: operand 1 must be an integer register -- `mov r13,[rdi+40]'
fp_x64_asm.S: fp_x64_asm.S:49: Error: operand 1 must be an integer register -- `mov r14,[rdi+48]'
fp_x64_asm.S: fp_x64_asm.S:50: Error: operand 1 must be an integer register -- `mov r15,[rdi+56]'
fp_x64_asm.S: fp_x64_asm.S:51: Error: operand 1 must be an integer or stack pointer register -- `add r8,[rsi]'
fp_x64_asm.S: fp_x64_asm.S:52: Error: operand 1 must be an integer register -- `adc r9,[rsi+8]'
fp_x64_asm.S: fp_x64_asm.S:53: Error: operand 1 must be an integer register -- `adc r10,[rsi+16]'
fp_x64_asm.S: fp_x64_asm.S:54: Error: operand 1 must be an integer register -- `adc r11,[rsi+24]'
fp_x64_asm.S: fp_x64_asm.S:55: Error: operand 1 must be an integer register -- `adc r12,[rsi+32]'
fp_x64_asm.S: fp_x64_asm.S:56: Error: operand 1 must be an integer register -- `adc r13,[rsi+40]'
fp_x64_asm.S: fp_x64_asm.S:57: Error: operand 1 must be an integer register -- `adc r14,[rsi+48]'
fp_x64_asm.S: fp_x64_asm.S:58: Error: operand 1 must be an integer register -- `adc r15,[rsi+56]'
fp_x64_asm.S: fp_x64_asm.S:60: Error: operand 1 must be an integer register -- `mov rcx,0xFFFFFFFFFFFFFFFE'
fp_x64_asm.S: fp_x64_asm.S:61: Error: operand 1 must be an integer or stack pointer register -- `sub r8,rcx'
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 x64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE x64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE x64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE x64

Compiler output

Implementation: crypto_kem/sikep503/ms
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
fp_x64_asm.S: fp_x64_asm.S: Assembler messages:
fp_x64_asm.S: fp_x64_asm.S:7: Error: unknown pseudo-op: `.intel_syntax'
fp_x64_asm.S: fp_x64_asm.S:63: Error: unknown mnemonic `push' -- `push r12'
fp_x64_asm.S: fp_x64_asm.S:64: Error: unknown mnemonic `push' -- `push r13'
fp_x64_asm.S: fp_x64_asm.S:65: Error: unknown mnemonic `push' -- `push r14'
fp_x64_asm.S: fp_x64_asm.S:66: Error: unknown mnemonic `push' -- `push r15'
fp_x64_asm.S: fp_x64_asm.S:68: Error: unknown mnemonic `xor' -- `xor rax,rax'
fp_x64_asm.S: fp_x64_asm.S:69: Error: operand 1 must be an integer register -- `mov r8,[rdi]'
fp_x64_asm.S: fp_x64_asm.S:70: Error: operand 1 must be an integer register -- `mov r9,[rdi+8]'
fp_x64_asm.S: fp_x64_asm.S:71: Error: operand 1 must be an integer register -- `mov r10,[rdi+16]'
fp_x64_asm.S: fp_x64_asm.S:72: Error: operand 1 must be an integer register -- `mov r11,[rdi+24]'
fp_x64_asm.S: fp_x64_asm.S:73: Error: operand 1 must be an integer register -- `mov r12,[rdi+32]'
fp_x64_asm.S: fp_x64_asm.S:74: Error: operand 1 must be an integer register -- `mov r13,[rdi+40]'
fp_x64_asm.S: fp_x64_asm.S:75: Error: operand 1 must be an integer register -- `mov r14,[rdi+48]'
fp_x64_asm.S: fp_x64_asm.S:76: Error: operand 1 must be an integer register -- `mov r15,[rdi+56]'
fp_x64_asm.S: fp_x64_asm.S:77: Error: operand 1 must be an integer or stack pointer register -- `add r8,[rsi]'
fp_x64_asm.S: fp_x64_asm.S:78: Error: operand 1 must be an integer register -- `adc r9,[rsi+8]'
fp_x64_asm.S: fp_x64_asm.S:79: Error: operand 1 must be an integer register -- `adc r10,[rsi+16]'
fp_x64_asm.S: fp_x64_asm.S:80: Error: operand 1 must be an integer register -- `adc r11,[rsi+24]'
fp_x64_asm.S: fp_x64_asm.S:81: Error: operand 1 must be an integer register -- `adc r12,[rsi+32]'
fp_x64_asm.S: fp_x64_asm.S:82: Error: operand 1 must be an integer register -- `adc r13,[rsi+40]'
fp_x64_asm.S: fp_x64_asm.S:83: Error: operand 1 must be an integer register -- `adc r14,[rsi+48]'
fp_x64_asm.S: fp_x64_asm.S:84: Error: operand 1 must be an integer register -- `adc r15,[rsi+56]'
fp_x64_asm.S: fp_x64_asm.S:86: Error: operand 1 must be an integer register -- `mov rcx,0xFFFFFFFFFFFFFFFE'
fp_x64_asm.S: fp_x64_asm.S:87: Error: operand 1 must be an integer or stack pointer register -- `sub r8,rcx'
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 ms
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE ms
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE ms
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE ms

Namespace violations

Implementation: crypto_kem/sikep503/opt
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 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: 5, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE opt
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE opt
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE opt
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE opt
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE opt

Namespace violations

Implementation: crypto_kem/sikep503/ref
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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_3_iso T
isogeny.o curve_4_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 SIKEp503 D
sike_params.o SIKEp751 D
sike_params.o SIKEp964 D
sike_params.o sike_setup_params T
sike_params.o sike_teardown_params T

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