Implementation notes: armeabi, rpi3b, crypto_kem/sikep503

Computer: rpi3b
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20191221
Operation: crypto_kem
Primitive: sikep503
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
79534680974112 0 091757 460 1520optclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011520191221
169204802331120 0 045492 440 1496optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011520191221
179323756156688 0 073548 440 1496optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011520191221
204853028229004 0 043388 440 1496optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011520191221
210288460325340 0 039304 432 1488optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011520191221

Compiler output

Implementation: ms
Security model: unknown
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:11: error: invalid operand for instruction
fp_x64_asm.S: push r12
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:64:11: error: invalid operand for instruction
fp_x64_asm.S: push r13
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:65:11: error: invalid operand for instruction
fp_x64_asm.S: push r14
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:66:11: error: invalid operand for instruction
fp_x64_asm.S: push r15
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:68:3: error: invalid instruction
fp_x64_asm.S: xor rax, rax
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:69:11: error: immediate expression for mov requires :lower16: or :upper16
fp_x64_asm.S: mov r8, [rdi]
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:70:11: error: immediate expression for mov requires :lower16: or :upper16
fp_x64_asm.S: mov r9, [rdi+8]
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:71:12: error: immediate expression for mov requires :lower16: or :upper16
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: ms
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
P503.c: In file included from P503_internal.h:10:0,
P503.c: from P503.c:8:
P503.c: config.h:97:5: error: unable to emulate 'TI'
P503.c: typedef unsigned uint128_t __attribute__((mode(TI)));
P503.c: ^~~~~~~
P503.c: In file included from P503_internal.h:10:0,
P503.c: from P503.c:8:
P503.c: fpx.inc: In function 'mp_add':
P503.c: config.h:247:36: warning: right shift count >= width of type [-Wshift-count-overflow]
P503.c: (carryOut) = (digit_t)(tempReg >> RADIX); \
P503.c: ^
P503.c: fpx.inc:511:9: note: in expansion of macro 'ADDC'
P503.c: ADDC(carry, a[i], b[i], carry, c[i]);
P503.c: ^~~~

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

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
api.c: In file included from api.c:9:
api.c: In file included from ./sike_params.h:15:
api.c: In file included from ./montgomery.h:15:
api.c: In file included from ./fp2.h:16:
api.c: ./fp.h:15:10: fatal error: 'gmp.h' file not found
api.c: #include <gmp.h>
api.c: ^
api.c: 1 error generated.

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

Compiler output

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

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
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

Compiler output

Implementation: x64
Security model: unknown
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:11: error: invalid operand for instruction
fp_x64_asm.S: push r12
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:38:11: error: invalid operand for instruction
fp_x64_asm.S: push r13
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:39:11: error: invalid operand for instruction
fp_x64_asm.S: push r14
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:40:11: error: invalid operand for instruction
fp_x64_asm.S: push r15
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:42:3: error: invalid instruction
fp_x64_asm.S: xor rax, rax
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:43:11: error: immediate expression for mov requires :lower16: or :upper16
fp_x64_asm.S: mov r8, [rdi]
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:44:11: error: immediate expression for mov requires :lower16: or :upper16
fp_x64_asm.S: mov r9, [rdi+8]
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:45:12: error: immediate expression for mov requires :lower16: or :upper16
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: x64
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
P503.c: In file included from api.h:10:0,
P503.c: from P503_internal.h:10,
P503.c: from P503.c:7:
P503.c: config.h:42:1: error: unable to emulate 'TI'
P503.c: typedef unsigned uint128_t __attribute__((mode(TI)));
P503.c: ^~~~~~~
P503.c: In file included from api.h:10:0,
P503.c: from P503_internal.h:10,
P503.c: from P503.c:7:
P503.c: fpx.inc: In function 'fp2mul503_mont':
P503.c: config.h:86:36: warning: right shift count >= width of type [-Wshift-count-overflow]
P503.c: (carryOut) = (digit_t)(tempReg >> RADIX); \
P503.c: ^
P503.c: fpx.inc:200:9: note: in expansion of macro 'ADDC'
P503.c: ADDC(borrow, tt3[NWORDS_FIELD+i], ((digit_t*)PRIME)[i] & mask, borrow, tt3[NWORDS_FIELD+i]);
P503.c: ^~~~
P503.c: fpx.inc: In function 'mp_add':
P503.c: config.h:86:36: warning: right shift count >= width of type [-Wshift-count-overflow]
P503.c: (carryOut) = (digit_t)(tempReg >> RADIX); \
P503.c: ^
P503.c: fpx.inc:350:9: note: in expansion of macro 'ADDC'
P503.c: ADDC(carry, a[i], b[i], carry, c[i]);
P503.c: ^~~~

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

Namespace violations

Implementation: opt
Security model: unknown
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