Implementation notes: mipso32, loongson, crypto_scalarmult/curve25519

Computer: loongson
Architecture: mipso32
CPU ID: unknown CPU ID
SUPERCOP version: 20161026
Operation: crypto_scalarmult
Primitive: curve25519
TimeImplementationCompilerBenchmark dateSUPERCOP version
1981836donna_c64gcc -funroll-loops -march=loongson2f -mabi=n32 -Os2016122020161026
2024424donna_c64gcc -march=loongson2f -mabi=n32 -Os2016122020161026
2517398donna_c64gcc -funroll-loops -march=loongson2f -mabi=n32 -O22016122020161026
2588566donna_c64gcc -funroll-loops -march=loongson2f -mabi=n32 -O32016122020161026
2623252donna_c64gcc -march=loongson2f -mabi=n32 -O32016122020161026
2673922donna_c64gcc -march=loongson2f -mabi=n32 -O22016122020161026
7454528ref10gcc -funroll-loops -march=loongson2f -mabi=n32 -O22016122020161026
7533246ref10gcc -funroll-loops -march=loongson2f -mabi=n32 -O32016122020161026
7846808ref10gcc -march=loongson2f -mabi=n32 -O22016122020161026
7850032ref10gcc -march=loongson2f -mabi=n32 -O32016122020161026
8325248ref10gcc -funroll-loops -march=loongson2f -mabi=n32 -Os2016122020161026
8448662ref10gcc -march=loongson2f -mabi=n32 -Os2016122020161026
62084408refgcc -funroll-loops -march=loongson2f -mabi=n32 -O32016122020161026
63735358refgcc -funroll-loops -march=loongson2f -mabi=n32 -O22016122020161026
69289278refgcc -march=loongson2f -mabi=n32 -O32016122020161026
69422026refgcc -march=loongson2f -mabi=n32 -O22016122020161026
85477470refgcc -funroll-loops -march=loongson2f -mabi=n32 -Os2016122020161026
89810990refgcc -march=loongson2f -mabi=n32 -Os2016122020161026

Compiler output

Implementation: crypto_scalarmult/curve25519/donna_c64
Compiler: gcc -funroll-loops -march=loongson2f -mabi=n32 -O2
smult.c: smult.c:149:1: warning: always_inline function might not be inlinable [-Wattributes]
smult.c: fsquare_times(felem output, const felem in, limb count) {
smult.c: ^
smult.c: smult.c:100:1: warning: always_inline function might not be inlinable [-Wattributes]
smult.c: fmul(felem output, const felem in2, const felem in) {
smult.c: ^
smult.c: smult.c:70:1: warning: always_inline function might not be inlinable [-Wattributes]
smult.c: fscalar_product(felem output, const felem in, const limb scalar) {
smult.c: ^
smult.c: smult.c:56:1: warning: always_inline function might not be inlinable [-Wattributes]
smult.c: fdifference_backwards(felem out, const felem in) {
smult.c: ^
smult.c: smult.c:41:1: warning: always_inline function might not be inlinable [-Wattributes]
smult.c: fsum(limb *output, const limb *in) {
smult.c: ^

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -march=loongson2f -mabi=n32 -O2 donna_c64
gcc -funroll-loops -march=loongson2f -mabi=n32 -O3 donna_c64
gcc -funroll-loops -march=loongson2f -mabi=n32 -Os donna_c64
gcc -march=loongson2f -mabi=n32 -O2 donna_c64
gcc -march=loongson2f -mabi=n32 -O3 donna_c64
gcc -march=loongson2f -mabi=n32 -Os donna_c64