Implementation notes: aarch64, a53, crypto_dh/kumjacfp127g

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

Compiler output

Implementation: crypto_dh/kumjacfp127g/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:178:13: warning: inline function 'hec_fp_aadd_2e127m1_g2i_jac_x8664_asm' is not defined [-Wundefined-inline]
divisor.c: inline void hec_fp_aadd_2e127m1_g2i_jac_x8664_asm(TEMP_hec_fp_2e127m1 t, DIV_hec_fp_2e127m1 D2);
divisor.c: ^
divisor.c: divisor.c:48:3: note: used here
divisor.c: hec_fp_aadd_2e127m1_g2i_jac_x8664_asm(t, D2);
divisor.c: ^
divisor.c: In file included from divisor.c:13:
divisor.c: ./finite128.h:179:13: warning: inline function 'hec_fp_zadd_2e127m1_g2i_jac_x8664_asm' is not defined [-Wundefined-inline]
divisor.c: inline void hec_fp_zadd_2e127m1_g2i_jac_x8664_asm(TEMP_hec_fp_2e127m1 t, DIV_hec_fp_2e127m1 D2);
divisor.c: ^
divisor.c: divisor.c:122:3: note: used here
divisor.c: hec_fp_zadd_2e127m1_g2i_jac_x8664_asm(t, D2);
divisor.c: ^
divisor.c: In file included from divisor.c:13:
divisor.c: ./finite128.h:181:13: warning: inline function 'hec_fp_madd_2e127m1_g2i_jac_x8664_asm' is not defined [-Wundefined-inline]
divisor.c: inline void hec_fp_madd_2e127m1_g2i_jac_x8664_asm(TEMP_hec_fp_2e127m1 t, DIV_hec_fp_2e127m1 D2);
divisor.c: ^
divisor.c: divisor.c:193:3: note: used here
divisor.c: hec_fp_madd_2e127m1_g2i_jac_x8664_asm(t, D2);
divisor.c: ^
divisor.c: In file included from divisor.c:13:
divisor.c: ./finite128.h:180:13: warning: inline function 'hec_fp_add_2e127m1_g2i_jac_x8664_asm' is not defined [-Wundefined-inline]
divisor.c: inline void hec_fp_add_2e127m1_g2i_jac_x8664_asm(TEMP_hec_fp_2e127m1 t, DIV_hec_fp_2e127m1 D2);
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:83: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:83: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_aadd.s: divisor_aadd.s:7:8: error: unknown token in expression
divisor_aadd.s: pushq %r12
divisor_aadd.s: ^
divisor_aadd.s: divisor_aadd.s:7:8: error: invalid operand
divisor_aadd.s: pushq %r12
divisor_aadd.s: ^
divisor_aadd.s: divisor_aadd.s:8:8: error: unknown token in expression
divisor_aadd.s: pushq %rbp
divisor_aadd.s: ^
divisor_aadd.s: divisor_aadd.s:8:8: error: invalid operand
divisor_aadd.s: pushq %rbp
divisor_aadd.s: ^
divisor_aadd.s: divisor_aadd.s:9:7: error: unknown token in expression
divisor_aadd.s: movq %rsi, %rbp
divisor_aadd.s: ^
divisor_aadd.s: divisor_aadd.s:9:7: error: invalid operand
divisor_aadd.s: movq %rsi, %rbp
divisor_aadd.s: ^
divisor_aadd.s: divisor_aadd.s:10:8: error: unknown token in expression
divisor_aadd.s: movq (%rdi), %r12
divisor_aadd.s: ^
divisor_aadd.s: divisor_aadd.s:10:7: error: invalid operand
divisor_aadd.s: movq (%rdi), %r12
divisor_aadd.s: ^
divisor_aadd.s: divisor_aadd.s:11:8: error: unknown token in expression
divisor_aadd.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/kumjacfp127g/v01/var
Compiler: gcc -mcpu=cortex-a53 -O2 -fomit-frame-pointer -fwrapv
divisor_aadd.s: divisor_aadd.s: Assembler messages:
divisor_aadd.s: divisor_aadd.s:7: Error: unknown mnemonic `pushq' -- `pushq %r12'
divisor_aadd.s: divisor_aadd.s:8: Error: unknown mnemonic `pushq' -- `pushq %rbp'
divisor_aadd.s: divisor_aadd.s:9: Error: unknown mnemonic `movq' -- `movq %rsi,%rbp'
divisor_aadd.s: divisor_aadd.s:10: Error: unknown mnemonic `movq' -- `movq (%rdi),%r12'
divisor_aadd.s: divisor_aadd.s:11: Error: unknown mnemonic `subq' -- `subq (%rbp),%r12'
divisor_aadd.s: divisor_aadd.s:12: Error: unknown mnemonic `movq' -- `movq 8(%rdi),%rsi'
divisor_aadd.s: divisor_aadd.s:13: Error: unknown mnemonic `sbbq' -- `sbbq 8(%rbp),%rsi'
divisor_aadd.s: divisor_aadd.s:14: Error: unknown mnemonic `btrq' -- `btrq $63,%rsi'
divisor_aadd.s: divisor_aadd.s:15: Error: unknown mnemonic `sbbq' -- `sbbq $0,%r12'
divisor_aadd.s: divisor_aadd.s:16: Error: unknown mnemonic `movq' -- `movq %r12,8*0+8*32(%rdi)'
divisor_aadd.s: divisor_aadd.s:17: Error: unknown mnemonic `sbbq' -- `sbbq $0,%rsi'
divisor_aadd.s: divisor_aadd.s:18: Error: unknown mnemonic `movq' -- `movq %rsi,8*1+8*32(%rdi)'
divisor_aadd.s: divisor_aadd.s:19: Error: unknown mnemonic `movq' -- `movq 16(%rdi),%r12'
divisor_aadd.s: divisor_aadd.s:20: Error: unknown mnemonic `subq' -- `subq 16(%rbp),%r12'
divisor_aadd.s: divisor_aadd.s:21: Error: unknown mnemonic `movq' -- `movq 24(%rdi),%rsi'
divisor_aadd.s: divisor_aadd.s:22: Error: unknown mnemonic `sbbq' -- `sbbq 24(%rbp),%rsi'
divisor_aadd.s: divisor_aadd.s:23: Error: unknown mnemonic `btrq' -- `btrq $63,%rsi'
divisor_aadd.s: divisor_aadd.s:24: Error: unknown mnemonic `sbbq' -- `sbbq $0,%r12'
divisor_aadd.s: divisor_aadd.s:25: Error: unknown mnemonic `movq' -- `movq %r12,8*0+8*34(%rdi)'
divisor_aadd.s: divisor_aadd.s:26: Error: unknown mnemonic `sbbq' -- `sbbq $0,%rsi'
divisor_aadd.s: divisor_aadd.s:27: Error: unknown mnemonic `movq' -- `movq %rsi,8*1+8*34(%rdi)'
divisor_aadd.s: divisor_aadd.s:28: Error: unknown mnemonic `movq' -- `movq 32(%rdi),%r12'
divisor_aadd.s: divisor_aadd.s:29: Error: unknown mnemonic `subq' -- `subq 32(%rbp),%r12'
divisor_aadd.s: divisor_aadd.s:30: Error: unknown mnemonic `movq' -- `movq 40(%rdi),%rsi'
divisor_aadd.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