Implementation notes: aarch64, gcc116, crypto_scalarmult/curve25519

Computer: gcc116
Architecture: aarch64
CPU ID: unknown CPU ID
SUPERCOP version: 20171218
Operation: crypto_scalarmult
Primitive: curve25519
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1602752? ? ?? ? ?ref10gcc_-funroll-loops_-Os_-fomit-frame-pointer2017110920171020
1602752? ? ?? ? ?ref10gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017110920171020
1627168? ? ?? ? ?ref10gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017110920171020
1629824? ? ?? ? ?ref10gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017110920171020
1640192? ? ?? ? ?ref10gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2017110920171020
1641312? ? ?? ? ?ref10gcc_-Os_-fomit-frame-pointer2017110920171020
1643808? ? ?? ? ?ref10gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2017110920171020
1673632? ? ?? ? ?ref10gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2017110920171020
1777088? ? ?? ? ?ref10gcc_-funroll-loops_-O3_-fomit-frame-pointer2017110920171020
1812864? ? ?? ? ?ref10gcc_-funroll-loops_-O2_-fomit-frame-pointer2017110920171020
1813312? ? ?? ? ?ref10gcc_-O3_-fomit-frame-pointer2017110920171020
1875328? ? ?? ? ?ref10gcc_-O2_-fomit-frame-pointer2017110920171020
2690080? ? ?? ? ?ref10gcc_-O_-fomit-frame-pointer2017110920171020
2690080? ? ?? ? ?ref10gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2017110920171020
2690720? ? ?? ? ?ref10gcc_-funroll-loops_-O_-fomit-frame-pointer2017110920171020
2690720? ? ?? ? ?ref10gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017110920171020
3919968? ? ?? ? ?donna_c64gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017110920171020
3944896? ? ?? ? ?donna_c64gcc_-Os_-fomit-frame-pointer2017110920171020
3944896? ? ?? ? ?donna_c64gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2017110920171020
3945152? ? ?? ? ?donna_c64gcc_-funroll-loops_-Os_-fomit-frame-pointer2017110920171020
3945152? ? ?? ? ?donna_c64gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017110920171020
3949664? ? ?? ? ?donna_c64gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2017110920171020
4013376? ? ?? ? ?donna_c64gcc_-funroll-loops_-O2_-fomit-frame-pointer2017110920171020
4089376? ? ?? ? ?donna_c64gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017110920171020
4094688? ? ?? ? ?donna_c64gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2017110920171020
4107520? ? ?? ? ?donna_c64gcc_-O2_-fomit-frame-pointer2017110920171020
4131008? ? ?? ? ?donna_c64gcc_-funroll-loops_-O3_-fomit-frame-pointer2017110920171020
4153760? ? ?? ? ?donna_c64gcc_-O3_-fomit-frame-pointer2017110920171020
4459616? ? ?? ? ?donna_c64gcc_-funroll-loops_-O_-fomit-frame-pointer2017110920171020
4459648? ? ?? ? ?donna_c64gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017110920171020
4501216? ? ?? ? ?donna_c64gcc_-O_-fomit-frame-pointer2017110920171020
4501248? ? ?? ? ?donna_c64gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2017110920171020
6423904? ? ?? ? ?ref10gcc_-funroll-loops2017110920171020
6423936? ? ?? ? ?ref10gcc2017110920171020
6423968? ? ?? ? ?ref10cc2017110920171020
9014432? ? ?? ? ?donna_c64cc2017110920171020
9016480? ? ?? ? ?donna_c64gcc_-funroll-loops2017110920171020
9022432? ? ?? ? ?donna_c64gcc2017110920171020
36359264? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2017110920171020
37230080? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017110920171020
37518560? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2017110920171020
37808288? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017110920171020
41597632? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017110920171020
41623680? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2017110920171020
41840096? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017110920171020
41937856? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2017110920171020
42110656? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2017110920171020
42263616? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2017110920171020
42346848? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2017110920171020
42417088? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2017110920171020
42595040? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2017110920171020
42633984? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2017110920171020
44623776? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2017110920171020
44912192? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2017110920171020
159522944? ? ?? ? ?refgcc2017110920171020
159534880? ? ?? ? ?refgcc_-funroll-loops2017110920171020
159801792? ? ?? ? ?refcc2017110920171020

Compiler output

Implementation: crypto_scalarmult/curve25519/donna_c64
Compiler: cc
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: 19, namely:
CompilerImplementations
cc donna_c64
gcc donna_c64
gcc -O2 -fomit-frame-pointer donna_c64
gcc -O3 -fomit-frame-pointer donna_c64
gcc -O -fomit-frame-pointer donna_c64
gcc -Os -fomit-frame-pointer donna_c64
gcc -fno-schedule-insns -O2 -fomit-frame-pointer donna_c64
gcc -fno-schedule-insns -O3 -fomit-frame-pointer donna_c64
gcc -fno-schedule-insns -O -fomit-frame-pointer donna_c64
gcc -fno-schedule-insns -Os -fomit-frame-pointer donna_c64
gcc -funroll-loops donna_c64
gcc -funroll-loops -O2 -fomit-frame-pointer donna_c64
gcc -funroll-loops -O3 -fomit-frame-pointer donna_c64
gcc -funroll-loops -O -fomit-frame-pointer donna_c64
gcc -funroll-loops -Os -fomit-frame-pointer donna_c64
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer donna_c64
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer donna_c64
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer donna_c64
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer donna_c64