Implementation notes: amd64, waldorf, crypto_dh/jacfp127i

Computer: waldorf
Architecture: amd64
CPU ID: GenuineIntel-000106e5-bfebfbff
SUPERCOP version: 20160715
Operation: crypto_dh
Primitive: jacfp127i
TimeImplementationCompilerBenchmark dateSUPERCOP version
863144v01/w8s16gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
917272v01/w8s02gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
923496v01/w8s04gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
923876v01/w8s16gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
928172v01/w8s08gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
928740v01/w4s16gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
932580v01/w8s16gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
935648v01/w8s16gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
982052v01/w8s32gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
989716v01/w8s32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
992956v01/w4s04gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
998128v01/w8s02gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
998440v01/w4s08gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
1016060v01/w8s32gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
1023776v01/w4s32gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
1025820v01/w8s32gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
1026156v01/w8s08gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
1027824v01/w8s01gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
1032900v01/w8s08gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
1033568v01/w4s16gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
1035096v01/w8s08gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
1036072v01/w8s04gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
1040828v01/w8s04gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
1047780v01/w8s04gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
1058100v01/w8s02gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
1062476v01/w4s04gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
1065008v01/w8s01gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
1066980v01/w8s02gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
1078668v01/w4s02gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
1098628v01/w4s02gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
1108184v01/w4s32gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
1108260v01/w4s32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
1109660v01/w8s01gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
1111500v01/w4s16gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
1114392v01/w4s32gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
1119632v01/w8s01gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
1120444v01/w4s04gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
1121996v01/w4s16gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
1128060v01/w4s08gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
1130368v01/w4s08gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
1134800v01/w4s08gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
1146256v01/w4s04gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
1149608v01/w4s01gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
1166052v01/w4s01gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
1170888v01/w4s02gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
1193968v01/w4s02gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
1292980v01/w4s01gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
1299812v01/w4s01gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
1653512v01/vargcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
1791896v01/vargcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
1795232v01/vargcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
1800336v01/vargcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715

Compiler output

Implementation: crypto_dh/jacfp127i/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.
try.c: crypto_dh_jacfp127i.a(smul_a3is1.o): In function `hec_fp_smul_2e127m1_g2i_jac_a3is1':
try.c: smul_a3is1.c:(.text+0x...): undefined reference to `fp_cnt_bits'
try.c: smul_a3is1.c:(.text+0x...): undefined reference to `find_nextwindow'
try.c: smul_a3is1.c:(.text+0x...): undefined reference to `find_nextwindow'
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

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