Implementation notes: aarch64, a53, crypto_dh/prjfp127i

Computer: a53
Architecture: aarch64
CPU ID: unknown CPU ID
SUPERCOP version: 20160731
Operation: crypto_dh
Primitive: prjfp127i

Compiler output

Implementation: crypto_dh/prjfp127i/v01/var
Compiler: clang -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
divisor.c: In file included from divisor.c:13:
divisor.c: ./finite128.h:157:13: warning: inline function 'hec_fp_add_2e127m1_g2i_x8664_asm' is not defined [-Wundefined-inline]
divisor.c: inline void hec_fp_add_2e127m1_g2i_x8664_asm(TEMP_hec_fp_2e127m1 t, DIV_hec_fp_2e127m1 D2);
divisor.c: ^
divisor.c: divisor.c:42:3: note: used here
divisor.c: hec_fp_add_2e127m1_g2i_x8664_asm(t, D2);
divisor.c: ^
divisor.c: In file included from divisor.c:13:
divisor.c: ./finite128.h:158:13: warning: inline function 'hec_fp_madd_2e127m1_g2i_x8664_asm' is not defined [-Wundefined-inline]
divisor.c: inline void hec_fp_madd_2e127m1_g2i_x8664_asm(TEMP_hec_fp_2e127m1 t, DIV_hec_fp_2e127m1 D2);
divisor.c: ^
divisor.c: divisor.c:136:3: note: used here
divisor.c: hec_fp_madd_2e127m1_g2i_x8664_asm(t, D2);
divisor.c: ^
divisor.c: In file included from divisor.c:13:
divisor.c: ./finite128.h:159:13: warning: inline function 'hec_fp_dbl_2e127m1_g2i_x8664_asm' is not defined [-Wundefined-inline]
divisor.c: inline void hec_fp_dbl_2e127m1_g2i_x8664_asm(TEMP_hec_fp_2e127m1 t);
divisor.c: ^
divisor.c: divisor.c:217:3: note: used here
divisor.c: hec_fp_dbl_2e127m1_g2i_x8664_asm(t);
divisor.c: ^
divisor.c: In file included from divisor.c:13:
divisor.c: ./finite128.h:160:13: warning: inline function 'hec_fp_dbl_2e127m1_g2i_x8664_asm_a3is1' is not defined [-Wundefined-inline]
divisor.c: inline void hec_fp_dbl_2e127m1_g2i_x8664_asm_a3is1(TEMP_hec_fp_2e127m1 t);
divisor.c: ^
divisor.c: ...
smul.c: In file included from smul.c:13:
smul.c: In file included from ./finite128.h:5:
smul.c: ./fpx.h:23:13: warning: inline function 'fp_cnt_bits' is not defined [-Wundefined-inline]
smul.c: inline void fp_cnt_bits(int *bc, const uni an, const uni_t al);
smul.c: ^
smul.c: smul.c:28:2: note: used here
smul.c: fp_cnt_bits(&i, kn, FP_LEN*2); /*printf("%d ", i);*/
smul.c: ^
smul.c: In file included from smul.c:13:
smul.c: In file included from ./finite128.h:5:
smul.c: ./fpx.h:24:13: warning: inline function 'find_nextwindow' is not defined [-Wundefined-inline]
smul.c: inline void find_nextwindow(int *v, int *k, uni_t kl, int *wd, const uni en, const int i, uni_t WINDOW_SIZE_LTR, uni_t TABLE_SIZE_LTR);
smul.c: ^
smul.c: smul.c:69:3: note: used here
smul.c: find_nextwindow(&ni, &k, 2*FP_LEN, &wd, kn, i, WINDOW_SIZE_LTR, TABLE_SIZE_LTR);
smul.c: ^
smul.c: 2 warnings generated.
smul_a3is1.c: In file included from smul_a3is1.c:13:
smul_a3is1.c: In file included from ./finite128.h:5:
smul_a3is1.c: ./fpx.h:23:13: warning: inline function 'fp_cnt_bits' is not defined [-Wundefined-inline]
smul_a3is1.c: inline void fp_cnt_bits(int *bc, const uni an, const uni_t al);
smul_a3is1.c: ^
smul_a3is1.c: smul_a3is1.c:28:2: note: used here
smul_a3is1.c: fp_cnt_bits(&i, kn, FP_LEN*2); /*printf("%d ", i);*/
smul_a3is1.c: ^
smul_a3is1.c: In file included from smul_a3is1.c:13:
smul_a3is1.c: In file included from ./finite128.h:5:
smul_a3is1.c: ./fpx.h:24:13: warning: inline function 'find_nextwindow' is not defined [-Wundefined-inline]
smul_a3is1.c: inline void find_nextwindow(int *v, int *k, uni_t kl, int *wd, const uni en, const int i, uni_t WINDOW_SIZE_LTR, uni_t TABLE_SIZE_LTR);
smul_a3is1.c: ^
smul_a3is1.c: smul_a3is1.c:69:3: note: used here
smul_a3is1.c: find_nextwindow(&ni, &k, 2*FP_LEN, &wd, kn, i, WINDOW_SIZE_LTR, TABLE_SIZE_LTR);
smul_a3is1.c: ^
smul_a3is1.c: 2 warnings generated.
divisor_add.s: divisor_add.s:7:8: error: unknown token in expression
divisor_add.s: pushq %r12
divisor_add.s: ^
divisor_add.s: divisor_add.s:7:8: error: invalid operand
divisor_add.s: pushq %r12
divisor_add.s: ^
divisor_add.s: divisor_add.s:8:8: error: unknown token in expression
divisor_add.s: pushq %rbp
divisor_add.s: ^
divisor_add.s: divisor_add.s:8:8: error: invalid operand
divisor_add.s: pushq %rbp
divisor_add.s: ^
divisor_add.s: divisor_add.s:9:7: error: unknown token in expression
divisor_add.s: movq %rsi, %rbp
divisor_add.s: ^
divisor_add.s: divisor_add.s:9:7: error: invalid operand
divisor_add.s: movq %rsi, %rbp
divisor_add.s: ^
divisor_add.s: divisor_add.s:10:8: error: unknown token in expression
divisor_add.s: movq (%rdi), %rax
divisor_add.s: ^
divisor_add.s: divisor_add.s:10:7: error: invalid operand
divisor_add.s: movq (%rdi), %rax
divisor_add.s: ^
divisor_add.s: divisor_add.s:11:9: error: unexpected token in argument list
divisor_add.s: ...

Number of similar (compiler,implementation) pairs: 13, namely:
CompilerImplementations
clang -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments v01/var v01/w4s01 v01/w4s02 v01/w4s04 v01/w4s08 v01/w4s16 v01/w4s32 v01/w8s01 v01/w8s02 v01/w8s04 v01/w8s08 v01/w8s16 v01/w8s32

Compiler output

Implementation: crypto_dh/prjfp127i/v01/var
Compiler: gcc -mcpu=cortex-a53 -O2 -fomit-frame-pointer -fwrapv
divisor_add.s: divisor_add.s: Assembler messages:
divisor_add.s: divisor_add.s:7: Error: unknown mnemonic `pushq' -- `pushq %r12'
divisor_add.s: divisor_add.s:8: Error: unknown mnemonic `pushq' -- `pushq %rbp'
divisor_add.s: divisor_add.s:9: Error: unknown mnemonic `movq' -- `movq %rsi,%rbp'
divisor_add.s: divisor_add.s:10: Error: unknown mnemonic `movq' -- `movq (%rdi),%rax'
divisor_add.s: divisor_add.s:11: Error: unknown mnemonic `mulq' -- `mulq 72(%rbp)'
divisor_add.s: divisor_add.s:12: Error: unknown mnemonic `movq' -- `movq %rdx,%r10'
divisor_add.s: divisor_add.s:13: Error: unknown mnemonic `movq' -- `movq %rax,%rsi'
divisor_add.s: divisor_add.s:14: Error: unknown mnemonic `movq' -- `movq 8(%rdi),%rax'
divisor_add.s: divisor_add.s:15: Error: unknown mnemonic `mulq' -- `mulq 64(%rbp)'
divisor_add.s: divisor_add.s:16: Error: unknown mnemonic `addq' -- `addq %rax,%rsi'
divisor_add.s: divisor_add.s:17: Error: unknown mnemonic `adcq' -- `adcq %rdx,%r10'
divisor_add.s: divisor_add.s:18: Error: unknown mnemonic `movq' -- `movq 64(%rbp),%rax'
divisor_add.s: divisor_add.s:19: Error: unknown mnemonic `mulq' -- `mulq (%rdi)'
divisor_add.s: divisor_add.s:20: Error: unknown mnemonic `addq' -- `addq %rdx,%rsi'
divisor_add.s: divisor_add.s:21: Error: unknown mnemonic `movq' -- `movq %rax,%r12'
divisor_add.s: divisor_add.s:22: Error: unknown mnemonic `adcq' -- `adcq $0,%r10'
divisor_add.s: divisor_add.s:23: Error: unknown mnemonic `movq' -- `movq 8(%rdi),%rax'
divisor_add.s: divisor_add.s:24: Error: unknown mnemonic `mulq' -- `mulq 72(%rbp)'
divisor_add.s: divisor_add.s:25: Error: unknown mnemonic `addq' -- `addq %r10,%rax'
divisor_add.s: divisor_add.s:26: Error: unknown mnemonic `adcq' -- `adcq $0,%rdx'
divisor_add.s: divisor_add.s:27: Error: unknown mnemonic `addq' -- `addq %rax,%rax'
divisor_add.s: divisor_add.s:28: Error: unknown mnemonic `adcq' -- `adcq %rdx,%rdx'
divisor_add.s: divisor_add.s:29: Error: unknown mnemonic `btrq' -- `btrq $63,%rsi'
divisor_add.s: divisor_add.s:30: Error: unknown mnemonic `adcq' -- `adcq %rax,%r12'
divisor_add.s: ...

Number of similar (compiler,implementation) pairs: 52, namely:
CompilerImplementations
gcc -mcpu=cortex-a53 -O2 -fomit-frame-pointer -fwrapv v01/var v01/w4s01 v01/w4s02 v01/w4s04 v01/w4s08 v01/w4s16 v01/w4s32 v01/w8s01 v01/w8s02 v01/w8s04 v01/w8s08 v01/w8s16 v01/w8s32
gcc -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv v01/var v01/w4s01 v01/w4s02 v01/w4s04 v01/w4s08 v01/w4s16 v01/w4s32 v01/w8s01 v01/w8s02 v01/w8s04 v01/w8s08 v01/w8s16 v01/w8s32
gcc -mcpu=cortex-a53 -O -fomit-frame-pointer -fwrapv v01/var v01/w4s01 v01/w4s02 v01/w4s04 v01/w4s08 v01/w4s16 v01/w4s32 v01/w8s01 v01/w8s02 v01/w8s04 v01/w8s08 v01/w8s16 v01/w8s32
gcc -mcpu=cortex-a53 -Os -fomit-frame-pointer -fwrapv v01/var v01/w4s01 v01/w4s02 v01/w4s04 v01/w4s08 v01/w4s16 v01/w4s32 v01/w8s01 v01/w8s02 v01/w8s04 v01/w8s08 v01/w8s16 v01/w8s32