Implementation notes: riscv64, hifiveunleashedriscv, crypto_kem/sikep503

Computer: hifiveunleashedriscv
Architecture: riscv64
CPU ID: unknown CPU ID
SUPERCOP version: 20191221
Operation: crypto_kem
Primitive: sikep503
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
124858177840050 0 049660 760 1544optgcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010320191221
145155798823260 0 032512 760 1544optgcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010320191221
153920346621940 0 031084 760 1544optgcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010320191221
219372531419712 0 028488 744 1544optgcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010320191221

Compiler output

Implementation: ms
Security model: unknown
Compiler: gcc -march=rv64gc -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: unrecognized opcode `push r12'
fp_x64_asm.S: fp_x64_asm.S:64: Error: unrecognized opcode `push r13'
fp_x64_asm.S: fp_x64_asm.S:65: Error: unrecognized opcode `push r14'
fp_x64_asm.S: fp_x64_asm.S:66: Error: unrecognized opcode `push r15'
fp_x64_asm.S: fp_x64_asm.S:68: Error: illegal operands `xor rax,rax'
fp_x64_asm.S: fp_x64_asm.S:69: Error: unrecognized opcode `mov r8,[rdi]'
fp_x64_asm.S: fp_x64_asm.S:70: Error: unrecognized opcode `mov r9,[rdi+8]'
fp_x64_asm.S: fp_x64_asm.S:71: Error: unrecognized opcode `mov r10,[rdi+16]'
fp_x64_asm.S: fp_x64_asm.S:72: Error: unrecognized opcode `mov r11,[rdi+24]'
fp_x64_asm.S: fp_x64_asm.S:73: Error: unrecognized opcode `mov r12,[rdi+32]'
fp_x64_asm.S: fp_x64_asm.S:74: Error: unrecognized opcode `mov r13,[rdi+40]'
fp_x64_asm.S: fp_x64_asm.S:75: Error: unrecognized opcode `mov r14,[rdi+48]'
fp_x64_asm.S: fp_x64_asm.S:76: Error: unrecognized opcode `mov r15,[rdi+56]'
fp_x64_asm.S: fp_x64_asm.S:77: Error: illegal operands `add r8,[rsi]'
fp_x64_asm.S: fp_x64_asm.S:78: Error: unrecognized opcode `adc r9,[rsi+8]'
fp_x64_asm.S: fp_x64_asm.S:79: Error: unrecognized opcode `adc r10,[rsi+16]'
fp_x64_asm.S: fp_x64_asm.S:80: Error: unrecognized opcode `adc r11,[rsi+24]'
fp_x64_asm.S: fp_x64_asm.S:81: Error: unrecognized opcode `adc r12,[rsi+32]'
fp_x64_asm.S: fp_x64_asm.S:82: Error: unrecognized opcode `adc r13,[rsi+40]'
fp_x64_asm.S: fp_x64_asm.S:83: Error: unrecognized opcode `adc r14,[rsi+48]'
fp_x64_asm.S: fp_x64_asm.S:84: Error: unrecognized opcode `adc r15,[rsi+56]'
fp_x64_asm.S: fp_x64_asm.S:86: Error: unrecognized opcode `mov rcx,0xFFFFFFFFFFFFFFFE'
fp_x64_asm.S: fp_x64_asm.S:87: Error: illegal operands `sub r8,rcx'
fp_x64_asm.S: ...

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

Compiler output

Implementation: ref
Security model: unknown
Compiler: gcc -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
api.c: In file included from ./fp2.h:16,
api.c: from ./montgomery.h:15,
api.c: from ./sike_params.h:15,
api.c: from api.c:9:
api.c: ./fp.h:15:10: fatal error: gmp.h: No such file or directory
api.c: 15 | #include <gmp.h>
api.c: | ^~~~~~~
api.c: compilation terminated.

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

Compiler output

Implementation: x64
Security model: unknown
Compiler: gcc -march=rv64gc -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: unrecognized opcode `push r12'
fp_x64_asm.S: fp_x64_asm.S:38: Error: unrecognized opcode `push r13'
fp_x64_asm.S: fp_x64_asm.S:39: Error: unrecognized opcode `push r14'
fp_x64_asm.S: fp_x64_asm.S:40: Error: unrecognized opcode `push r15'
fp_x64_asm.S: fp_x64_asm.S:42: Error: illegal operands `xor rax,rax'
fp_x64_asm.S: fp_x64_asm.S:43: Error: unrecognized opcode `mov r8,[rdi]'
fp_x64_asm.S: fp_x64_asm.S:44: Error: unrecognized opcode `mov r9,[rdi+8]'
fp_x64_asm.S: fp_x64_asm.S:45: Error: unrecognized opcode `mov r10,[rdi+16]'
fp_x64_asm.S: fp_x64_asm.S:46: Error: unrecognized opcode `mov r11,[rdi+24]'
fp_x64_asm.S: fp_x64_asm.S:47: Error: unrecognized opcode `mov r12,[rdi+32]'
fp_x64_asm.S: fp_x64_asm.S:48: Error: unrecognized opcode `mov r13,[rdi+40]'
fp_x64_asm.S: fp_x64_asm.S:49: Error: unrecognized opcode `mov r14,[rdi+48]'
fp_x64_asm.S: fp_x64_asm.S:50: Error: unrecognized opcode `mov r15,[rdi+56]'
fp_x64_asm.S: fp_x64_asm.S:51: Error: illegal operands `add r8,[rsi]'
fp_x64_asm.S: fp_x64_asm.S:52: Error: unrecognized opcode `adc r9,[rsi+8]'
fp_x64_asm.S: fp_x64_asm.S:53: Error: unrecognized opcode `adc r10,[rsi+16]'
fp_x64_asm.S: fp_x64_asm.S:54: Error: unrecognized opcode `adc r11,[rsi+24]'
fp_x64_asm.S: fp_x64_asm.S:55: Error: unrecognized opcode `adc r12,[rsi+32]'
fp_x64_asm.S: fp_x64_asm.S:56: Error: unrecognized opcode `adc r13,[rsi+40]'
fp_x64_asm.S: fp_x64_asm.S:57: Error: unrecognized opcode `adc r14,[rsi+48]'
fp_x64_asm.S: fp_x64_asm.S:58: Error: unrecognized opcode `adc r15,[rsi+56]'
fp_x64_asm.S: fp_x64_asm.S:60: Error: unrecognized opcode `mov rcx,0xFFFFFFFFFFFFFFFE'
fp_x64_asm.S: fp_x64_asm.S:61: Error: illegal operands `sub r8,rcx'
fp_x64_asm.S: ...

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

Namespace violations

Implementation: opt
Security model: unknown
Compiler: gcc -march=rv64gc -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=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE opt
gcc -march=rv64gc -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE opt
gcc -march=rv64gc -O -fomit-frame-pointer -fwrapv -fPIC -fPIE opt
gcc -march=rv64gc -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE opt