Implementation notes: amd64, waldorf, crypto_dh/kumjacfp127g

Computer: waldorf
Architecture: amd64
CPU ID: GenuineIntel-000106e5-bfebfbff
SUPERCOP version: 20160715
Operation: crypto_dh
Primitive: kumjacfp127g
TimeImplementationCompilerBenchmark dateSUPERCOP version
589484v01/w8s32gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
654044v01/w8s16gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
658512v01/w8s32gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
659396v01/w8s16gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
669640v01/w8s32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
673300v01/w8s08gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
675328v01/w8s04gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
678004v01/w8s08gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
680936v01/w8s04gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
682304v01/w8s16gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
699640v01/w4s08gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
712912v01/w8s02gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
714264v01/w8s16gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
715084v01/w8s02gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
733316v01/w8s04gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
734216v01/w4s16gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
737244v01/w4s32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
740188v01/w8s08gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
742292v01/w8s32gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
747248v01/w8s08gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
747320v01/w4s08gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
749660v01/w4s32gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
752112v01/w4s16gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
752692v01/w8s04gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
754516v01/w8s01gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
757468v01/w4s08gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
776084v01/w8s02gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
777208v01/w4s16gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
783200v01/w8s02gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
798248v01/w4s04gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
807692v01/w8s01gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
810440v01/w4s02gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
822204v01/w8s01gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
823000v01/w4s32gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
828072v01/w4s32gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
828884v01/w8s01gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
833336v01/w4s16gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
840296v01/w4s01gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
840376v01/w4s08gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
858408v01/w4s04gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
860276v01/w4s04gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
869816v01/w4s04gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
904244v01/w4s02gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
910392v01/w4s02gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
911328v01/w4s01gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
913456v01/w4s02gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
999908v01/w4s01gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
1008748v01/w4s01gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
1207228v01/vargcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
1387140v01/vargcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
1500724v01/vargcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
1518848v01/vargcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715

Compiler output

Implementation: crypto_dh/kumjacfp127g/v01/var
Compiler: clang -march=native -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_ym_dbl.s: divisor_ym_dbl.s:322:2: error: unexpected token at start of statement
divisor_ym_dbl.s: /The previous 2 movq instructions can be safely removed.
divisor_ym_dbl.s: ^

Number of similar (compiler,implementation) pairs: 13, namely:
CompilerImplementations
clang -march=native -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