Implementation notes: amd64, h5e450, crypto_dh/gls1271

Computer: h5e450
Architecture: amd64
CPU ID: AuthenticAMD-00500f20-178bfbff
SUPERCOP version: 20130419
Operation: crypto_dh
Primitive: gls1271
TimeImplementationCompilerBenchmark dateSUPERCOP version
1073784ref4gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2012080320120717
1074834ref4gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2012080320120717
1078908ref4gcc -funroll-loops -O2 -fomit-frame-pointer2012080320120717
1081002ref4gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2012080320120717
1083714ref4gcc -march=barcelona -O2 -fomit-frame-pointer2012080320120717
1084947ref4gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2012080320120717
1085742ref4gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2012080320120717
1086660ref4gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2012080320120717
1088178ref4gcc -march=k8 -O3 -fomit-frame-pointer2012080320120717
1088466ref4gcc -funroll-loops -O3 -fomit-frame-pointer2012080320120717
1089336ref4gcc -fno-schedule-insns -O3 -fomit-frame-pointer2012080320120717
1089357ref4gcc -m64 -O3 -fomit-frame-pointer2012080320120717
1090599ref4gcc -m64 -march=core2 -O3 -fomit-frame-pointer2012080320120717
1090884ref4gcc -O3 -fomit-frame-pointer2012080320120717
1091250ref4gcc -m64 -O2 -fomit-frame-pointer2012080320120717
1091589ref4gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2012080320120717
1091964ref4gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2012080320120717
1092267ref4gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2012080320120717
1092351ref4gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2012080320120717
1092738ref4gcc -m64 -march=k8 -O3 -fomit-frame-pointer2012080320120717
1093422ref4gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2012080320120717
1093527ref4gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2012080320120717
1094304ref4gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2012080320120717
1095159ref4gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2012080320120717
1095198ref4gcc -O2 -fomit-frame-pointer2012080320120717
1095978ref4gcc -m64 -march=core2 -O2 -fomit-frame-pointer2012080320120717
1096170ref4gcc -march=barcelona -O3 -fomit-frame-pointer2012080320120717
1096692ref4gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2012080320120717
1096752ref4gcc -fno-schedule-insns -O2 -fomit-frame-pointer2012080320120717
1097904ref4gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2012080320120717
1102116ref4gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2012080320120717
1102899ref4gcc -m64 -march=k8 -O2 -fomit-frame-pointer2012080320120717
1105221ref4gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2012080320120717
1105509ref4gcc -march=nocona -O2 -fomit-frame-pointer2012080320120717
1106295ref4gcc -march=k8 -O2 -fomit-frame-pointer2012080320120717
1110135ref4gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2012080320120717
1110288ref4gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2012080320120717
1110645ref4gcc -m64 -march=nocona -O3 -fomit-frame-pointer2012080320120717
1116873ref4gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2012080320120717
1119189ref4gcc -march=nocona -O3 -fomit-frame-pointer2012080320120717
1123293ref4gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2012080320120717
1124430ref4gcc -m64 -march=nocona -O2 -fomit-frame-pointer2012080320120717
1125285ref4gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2012080320120717
1164954ref4gcc -march=barcelona -O -fomit-frame-pointer2012080320120717
1166235ref4gcc -m64 -march=barcelona -O -fomit-frame-pointer2012080320120717
1166364ref4gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2012080320120717
1166433ref4gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2012080320120717
1167624ref4gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2012080320120717
1167999ref4gcc -funroll-loops -m64 -O -fomit-frame-pointer2012080320120717
1168359ref4gcc -m64 -march=k8 -O -fomit-frame-pointer2012080320120717
1168929ref4gcc -march=nocona -O -fomit-frame-pointer2012080320120717
1169691ref4gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2012080320120717
1170360ref4gcc -m64 -march=nocona -O -fomit-frame-pointer2012080320120717
1173294ref4gcc -O -fomit-frame-pointer2012080320120717
1173735ref4gcc -fno-schedule-insns -O -fomit-frame-pointer2012080320120717
1173987ref4gcc -m64 -march=core2 -O -fomit-frame-pointer2012080320120717
1174161ref4gcc -funroll-loops -O -fomit-frame-pointer2012080320120717
1174404ref4gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2012080320120717
1175781ref4gcc -m64 -march=corei7 -O -fomit-frame-pointer2012080320120717
1175919ref4gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2012080320120717
1176549ref4gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2012080320120717
1177314ref4gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2012080320120717
1180500ref4gcc -march=k8 -O -fomit-frame-pointer2012080320120717
1181889ref4gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2012080320120717
1182711ref4gcc -m64 -O -fomit-frame-pointer2012080320120717
1182816ref4gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2012080320120717
1291089ref4gcc -m64 -march=corei7 -Os -fomit-frame-pointer2012080320120717
1291557ref4gcc -funroll-loops -m64 -Os -fomit-frame-pointer2012080320120717
1292883ref4gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012080320120717
1293171ref4gcc -march=barcelona -Os -fomit-frame-pointer2012080320120717
1293258ref4gcc -m64 -march=k8 -Os -fomit-frame-pointer2012080320120717
1293327ref4gcc -march=k8 -Os -fomit-frame-pointer2012080320120717
1293402ref4gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2012080320120717
1293492ref4gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2012080320120717
1293507ref4gcc -fno-schedule-insns -Os -fomit-frame-pointer2012080320120717
1293642ref4gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2012080320120717
1293681ref4gcc -m64 -march=barcelona -Os -fomit-frame-pointer2012080320120717
1293735ref4gcc -funroll-loops -Os -fomit-frame-pointer2012080320120717
1294317ref4gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2012080320120717
1295127ref4gcc -m64 -Os -fomit-frame-pointer2012080320120717
1297494ref4gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2012080320120717
1300800ref4gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2012080320120717
1302702ref4gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2012080320120717
1302939ref4gcc -Os -fomit-frame-pointer2012080320120717
1307673ref4gcc -m64 -march=nocona -Os -fomit-frame-pointer2012080320120717
1307676ref4gcc -march=nocona -Os -fomit-frame-pointer2012080320120717
1309896ref4gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2012080320120717
1310799ref4gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2012080320120717
1311924ref4gcc -m64 -march=core2 -Os -fomit-frame-pointer2012080320120717
1984890ref4cc2012080320120717
1985187ref4gcc -funroll-loops2012080320120717
1991502ref4gcc2012080320120717

Compiler output

Implementation: crypto_dh/gls1271/ref4
Compiler: clang -O3
gls1271.c: gls1271.c:385:2: warning: implicit declaration of function 'ecn2_brick_init' is invalid in C99 [-Wimplicit-function-declaration]
gls1271.c: ecn2_brick_init(&binst,prom,A,B,p,6,128);
gls1271.c: ^
gls1271.c: gls1271.c:391:5: warning: implicit declaration of function 'randombytes' is invalid in C99 [-Wimplicit-function-declaration]
gls1271.c: randombytes(sk,32);
gls1271.c: ^
gls1271.c: gls1271.c:395:22: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign]
gls1271.c: bytes_to_big(mip,16,sk,a[0]);
gls1271.c: ^~
gls1271.c: ./miracl.h:842:50: note: passing argument to parameter here
gls1271.c: extern void bytes_to_big(_MIPT_ int,const char *,big);
gls1271.c: ^
gls1271.c: gls1271.c:396:22: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign]
gls1271.c: bytes_to_big(mip,16,&sk[16],a[1]);
gls1271.c: ^~~~~~~
gls1271.c: ./miracl.h:842:50: note: passing argument to parameter here
gls1271.c: extern void bytes_to_big(_MIPT_ int,const char *,big);
gls1271.c: ^
gls1271.c: gls1271.c:400:29: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign]
gls1271.c: big_to_bytes(mip,16,x.a,pk,TRUE);
gls1271.c: ^~
gls1271.c: ./miracl.h:843:48: note: passing argument to parameter here
gls1271.c: extern int big_to_bytes(_MIPT_ int,big,char *,BOOL);
gls1271.c: ^
gls1271.c: gls1271.c:401:29: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign]
gls1271.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 ref4