Implementation notes: amd64, icelake, crypto_scalarmult/kummer

Computer: icelake
Architecture: amd64
CPU ID: GenuineIntel-000706e5-bfebfbff
SUPERCOP version: 20200826
Operation: crypto_scalarmult
Primitive: kummer
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
19809914946 0 045056 4096 0avx2intopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
21073320971 0 053248 4096 0avx2intclang_-march=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
21162318672 0 053248 4096 0avx2intclang_-march=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
2182818955 0 036864 4096 0avx2intclang_-march=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
2223879309 0 036864 4096 0avx2intopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
2306916474 0 032768 4096 0avx2intopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
89552613813 0 045056 4096 0ref5clang_-march=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
90440614055 0 045056 4096 0ref5uclang_-march=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
91075212357 0 045056 4096 0ref5clang_-march=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
9320547859 0 036864 4096 0ref5uopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
9441704581 0 032768 4096 0ref5uclang_-march=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
9601307496 0 036864 4096 0ref5opt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
9766854970 0 032768 4096 0ref5uopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
98204812647 0 045056 4096 0ref5uclang_-march=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
9950214640 0 032768 4096 0ref5opt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
10107144588 0 032768 4096 0ref5clang_-march=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
10210574501 0 028672 4096 0ref5opt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
10565204778 0 032768 4096 0ref5uopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826

Compiler output

Implementation: avx
Security model: constbranchindex
Compiler: clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: Undefined symbols for architecture x86_64:
try.c: "crypto_scalarmult_kummer_avx_constbranchindex__2p106", referenced from:
try.c: _crypto_scalarmult_kummer_avx_constbranchindex_ladder in crypto_scalarmult_kummer.a(ladder.o)
try.c: (maybe you meant: _crypto_scalarmult_kummer_avx_constbranchindex__2p106)
try.c: "crypto_scalarmult_kummer_avx_constbranchindex__2p127", referenced from:
try.c: _crypto_scalarmult_kummer_avx_constbranchindex_ladder in crypto_scalarmult_kummer.a(ladder.o)
try.c: _crypto_scalarmult_kummer_avx_constbranchindex_gfe4x3limb_freeze in crypto_scalarmult_kummer.a(gfe4x3limb_freeze.o)
try.c: (maybe you meant: _crypto_scalarmult_kummer_avx_constbranchindex__2p127, _crypto_scalarmult_kummer_avx_constbranchindex__2p127m2p85 )
try.c: "crypto_scalarmult_kummer_avx_constbranchindex__2p128m2p86", referenced from:
try.c: _crypto_scalarmult_kummer_avx_constbranchindex_gfe4x3limb_freeze in crypto_scalarmult_kummer.a(gfe4x3limb_freeze.o)
try.c: (maybe you meant: _crypto_scalarmult_kummer_avx_constbranchindex__2p128m2p86)
try.c: "crypto_scalarmult_kummer_avx_constbranchindex__2p22", referenced from:
try.c: _crypto_scalarmult_kummer_avx_constbranchindex_ladder in crypto_scalarmult_kummer.a(ladder.o)
try.c: (maybe you meant: _crypto_scalarmult_kummer_avx_constbranchindex__2p22)
try.c: "crypto_scalarmult_kummer_avx_constbranchindex__2p43", referenced from:
try.c: _crypto_scalarmult_kummer_avx_constbranchindex_ladder in crypto_scalarmult_kummer.a(ladder.o)
try.c: _crypto_scalarmult_kummer_avx_constbranchindex_gfe4x3limb_freeze in crypto_scalarmult_kummer.a(gfe4x3limb_freeze.o)
try.c: (maybe you meant: _crypto_scalarmult_kummer_avx_constbranchindex__2p43m1, _crypto_scalarmult_kummer_avx_constbranchindex__2p43 )
try.c: "crypto_scalarmult_kummer_avx_constbranchindex__2p44m2", referenced from:
try.c: _crypto_scalarmult_kummer_avx_constbranchindex_gfe4x3limb_freeze in crypto_scalarmult_kummer.a(gfe4x3limb_freeze.o)
try.c: (maybe you meant: _crypto_scalarmult_kummer_avx_constbranchindex__2p44m2, _crypto_scalarmult_kummer_avx_constbranchindex__2p44m2p23 )
try.c: "crypto_scalarmult_kummer_avx_constbranchindex__2p64", referenced from:
try.c: _crypto_scalarmult_kummer_avx_constbranchindex_ladder in crypto_scalarmult_kummer.a(ladder.o)
try.c: (maybe you meant: _crypto_scalarmult_kummer_avx_constbranchindex__2p64)
try.c: "crypto_scalarmult_kummer_avx_constbranchindex__2p85", referenced from:
try.c: ...

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx
clang -march=icelake-client -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx
clang -march=icelake-client -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx

Compiler output

Implementation: avx
Security model: constbranchindex
Compiler: opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: Undefined symbols for architecture x86_64:
try.c: "crypto_scalarmult_kummer_avx_constbranchindex__2p106", referenced from:
try.c: _crypto_scalarmult_kummer_avx_constbranchindex_ladder in crypto_scalarmult_kummer.a(ladder.o)
try.c: (maybe you meant: _crypto_scalarmult_kummer_avx_constbranchindex__2p106)
try.c: "crypto_scalarmult_kummer_avx_constbranchindex__2p127", referenced from:
try.c: _crypto_scalarmult_kummer_avx_constbranchindex_ladder in crypto_scalarmult_kummer.a(ladder.o)
try.c: _crypto_scalarmult_kummer_avx_constbranchindex_gfe4x3limb_freeze in crypto_scalarmult_kummer.a(gfe4x3limb_freeze.o)
try.c: (maybe you meant: _crypto_scalarmult_kummer_avx_constbranchindex__2p127, _crypto_scalarmult_kummer_avx_constbranchindex__2p127m2p85 )
try.c: "crypto_scalarmult_kummer_avx_constbranchindex__2p128m2p86", referenced from:
try.c: _crypto_scalarmult_kummer_avx_constbranchindex_gfe4x3limb_freeze in crypto_scalarmult_kummer.a(gfe4x3limb_freeze.o)
try.c: (maybe you meant: _crypto_scalarmult_kummer_avx_constbranchindex__2p128m2p86)
try.c: "crypto_scalarmult_kummer_avx_constbranchindex__2p22", referenced from:
try.c: _crypto_scalarmult_kummer_avx_constbranchindex_ladder in crypto_scalarmult_kummer.a(ladder.o)
try.c: (maybe you meant: _crypto_scalarmult_kummer_avx_constbranchindex__2p22)
try.c: "crypto_scalarmult_kummer_avx_constbranchindex__2p43", referenced from:
try.c: _crypto_scalarmult_kummer_avx_constbranchindex_ladder in crypto_scalarmult_kummer.a(ladder.o)
try.c: _crypto_scalarmult_kummer_avx_constbranchindex_gfe4x3limb_freeze in crypto_scalarmult_kummer.a(gfe4x3limb_freeze.o)
try.c: (maybe you meant: _crypto_scalarmult_kummer_avx_constbranchindex__2p43, _crypto_scalarmult_kummer_avx_constbranchindex__2p43m1 )
try.c: "crypto_scalarmult_kummer_avx_constbranchindex__2p44m2", referenced from:
try.c: _crypto_scalarmult_kummer_avx_constbranchindex_gfe4x3limb_freeze in crypto_scalarmult_kummer.a(gfe4x3limb_freeze.o)
try.c: (maybe you meant: _crypto_scalarmult_kummer_avx_constbranchindex__2p44m2, _crypto_scalarmult_kummer_avx_constbranchindex__2p44m2p23 )
try.c: "crypto_scalarmult_kummer_avx_constbranchindex__2p64", referenced from:
try.c: _crypto_scalarmult_kummer_avx_constbranchindex_ladder in crypto_scalarmult_kummer.a(ladder.o)
try.c: (maybe you meant: _crypto_scalarmult_kummer_avx_constbranchindex__2p64)
try.c: "crypto_scalarmult_kummer_avx_constbranchindex__2p85", referenced from:
try.c: ...

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE avx

Compiler output

Implementation: avx2
Security model: constbranchindex
Compiler: clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: Undefined symbols for architecture x86_64:
try.c: "crypto_scalarmult_kummer_avx2_constbranchindex__1111", referenced from:
try.c: _crypto_scalarmult_kummer_avx2_constbranchindex_ladder in crypto_scalarmult_kummer.a(ladder.o)
try.c: (maybe you meant: _crypto_scalarmult_kummer_avx2_constbranchindex__1111)
try.c: "crypto_scalarmult_kummer_avx2_constbranchindex__2p127", referenced from:
try.c: _crypto_scalarmult_kummer_avx2_constbranchindex_gfe4x3limb_freeze in crypto_scalarmult_kummer.a(gfe4x3limb_freeze.o)
try.c: (maybe you meant: _crypto_scalarmult_kummer_avx2_constbranchindex__2p127m2p85, _crypto_scalarmult_kummer_avx2_constbranchindex__2p127 )
try.c: "crypto_scalarmult_kummer_avx2_constbranchindex__2p128m2p86", referenced from:
try.c: _crypto_scalarmult_kummer_avx2_constbranchindex_gfe4x3limb_freeze in crypto_scalarmult_kummer.a(gfe4x3limb_freeze.o)
try.c: (maybe you meant: _crypto_scalarmult_kummer_avx2_constbranchindex__2p128m2p86)
try.c: "crypto_scalarmult_kummer_avx2_constbranchindex__2p43", referenced from:
try.c: _crypto_scalarmult_kummer_avx2_constbranchindex_gfe4x3limb_freeze in crypto_scalarmult_kummer.a(gfe4x3limb_freeze.o)
try.c: (maybe you meant: _crypto_scalarmult_kummer_avx2_constbranchindex__2p43m1, _crypto_scalarmult_kummer_avx2_constbranchindex__2p43 )
try.c: "crypto_scalarmult_kummer_avx2_constbranchindex__2p44m2", referenced from:
try.c: _crypto_scalarmult_kummer_avx2_constbranchindex_gfe4x3limb_freeze in crypto_scalarmult_kummer.a(gfe4x3limb_freeze.o)
try.c: (maybe you meant: _crypto_scalarmult_kummer_avx2_constbranchindex__2p44m2p23, _crypto_scalarmult_kummer_avx2_constbranchindex__2p44m2 )
try.c: "crypto_scalarmult_kummer_avx2_constbranchindex__2p85", referenced from:
try.c: _crypto_scalarmult_kummer_avx2_constbranchindex_gfe4x3limb_freeze in crypto_scalarmult_kummer.a(gfe4x3limb_freeze.o)
try.c: (maybe you meant: _crypto_scalarmult_kummer_avx2_constbranchindex__2p85m2p43, _crypto_scalarmult_kummer_avx2_constbranchindex__2p85 )
try.c: "crypto_scalarmult_kummer_avx2_constbranchindex__2p86m2p44", referenced from:
try.c: _crypto_scalarmult_kummer_avx2_constbranchindex_gfe4x3limb_freeze in crypto_scalarmult_kummer.a(gfe4x3limb_freeze.o)
try.c: (maybe you meant: _crypto_scalarmult_kummer_avx2_constbranchindex__2p86m2p44)
try.c: "crypto_scalarmult_kummer_avx2_constbranchindex__2pm127", referenced from:
try.c: _crypto_scalarmult_kummer_avx2_constbranchindex_ladder in crypto_scalarmult_kummer.a(ladder.o)
try.c: _crypto_scalarmult_kummer_avx2_constbranchindex_gfe4x3limb_freeze in crypto_scalarmult_kummer.a(gfe4x3limb_freeze.o)
try.c: ...

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2
clang -march=icelake-client -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2
clang -march=icelake-client -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2

Compiler output

Implementation: avx2
Security model: constbranchindex
Compiler: opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: Undefined symbols for architecture x86_64:
try.c: "crypto_scalarmult_kummer_avx2_constbranchindex__1111", referenced from:
try.c: _crypto_scalarmult_kummer_avx2_constbranchindex_ladder in crypto_scalarmult_kummer.a(ladder.o)
try.c: (maybe you meant: _crypto_scalarmult_kummer_avx2_constbranchindex__1111)
try.c: "crypto_scalarmult_kummer_avx2_constbranchindex__2p127", referenced from:
try.c: _crypto_scalarmult_kummer_avx2_constbranchindex_gfe4x3limb_freeze in crypto_scalarmult_kummer.a(gfe4x3limb_freeze.o)
try.c: (maybe you meant: _crypto_scalarmult_kummer_avx2_constbranchindex__2p127, _crypto_scalarmult_kummer_avx2_constbranchindex__2p127m2p85 )
try.c: "crypto_scalarmult_kummer_avx2_constbranchindex__2p128m2p86", referenced from:
try.c: _crypto_scalarmult_kummer_avx2_constbranchindex_gfe4x3limb_freeze in crypto_scalarmult_kummer.a(gfe4x3limb_freeze.o)
try.c: (maybe you meant: _crypto_scalarmult_kummer_avx2_constbranchindex__2p128m2p86)
try.c: "crypto_scalarmult_kummer_avx2_constbranchindex__2p43", referenced from:
try.c: _crypto_scalarmult_kummer_avx2_constbranchindex_gfe4x3limb_freeze in crypto_scalarmult_kummer.a(gfe4x3limb_freeze.o)
try.c: (maybe you meant: _crypto_scalarmult_kummer_avx2_constbranchindex__2p43, _crypto_scalarmult_kummer_avx2_constbranchindex__2p43m1 )
try.c: "crypto_scalarmult_kummer_avx2_constbranchindex__2p44m2", referenced from:
try.c: _crypto_scalarmult_kummer_avx2_constbranchindex_gfe4x3limb_freeze in crypto_scalarmult_kummer.a(gfe4x3limb_freeze.o)
try.c: (maybe you meant: _crypto_scalarmult_kummer_avx2_constbranchindex__2p44m2p23, _crypto_scalarmult_kummer_avx2_constbranchindex__2p44m2 )
try.c: "crypto_scalarmult_kummer_avx2_constbranchindex__2p85", referenced from:
try.c: _crypto_scalarmult_kummer_avx2_constbranchindex_gfe4x3limb_freeze in crypto_scalarmult_kummer.a(gfe4x3limb_freeze.o)
try.c: (maybe you meant: _crypto_scalarmult_kummer_avx2_constbranchindex__2p85, _crypto_scalarmult_kummer_avx2_constbranchindex__2p85m2p43 )
try.c: "crypto_scalarmult_kummer_avx2_constbranchindex__2p86m2p44", referenced from:
try.c: _crypto_scalarmult_kummer_avx2_constbranchindex_gfe4x3limb_freeze in crypto_scalarmult_kummer.a(gfe4x3limb_freeze.o)
try.c: (maybe you meant: _crypto_scalarmult_kummer_avx2_constbranchindex__2p86m2p44)
try.c: "crypto_scalarmult_kummer_avx2_constbranchindex__2pm127", referenced from:
try.c: _crypto_scalarmult_kummer_avx2_constbranchindex_ladder in crypto_scalarmult_kummer.a(ladder.o)
try.c: _crypto_scalarmult_kummer_avx2_constbranchindex_gfe4x3limb_freeze in crypto_scalarmult_kummer.a(gfe4x3limb_freeze.o)
try.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2

Compiler output

Implementation: avx2
Security model: constbranchindex
Compiler: opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: ld: malformed archive TOC entry for _crypto_scalarmult_curve25519_donna_c64_constbranchindex, offset 1078376 is beyond end of file 1015808
try.c: file '/Users/krovetz/tmp/supercop-20200826/supercop-data/icelake/amd64/lib/libsupercop.a'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2

Compiler output

Implementation: avx2int
Security model: constbranchindex
Compiler: clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
measure.c: ld: warning: could not create compact unwind for _crypto_stream_aes256ctr_dolbeau_aesenc_int_constbranchindex_xor: register 3 saved somewhere other than in frame

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2int
clang -march=icelake-client -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2int
clang -march=icelake-client -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2int
clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref5
clang -march=icelake-client -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref5
clang -march=icelake-client -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref5
clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref5u
clang -march=icelake-client -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref5u
clang -march=icelake-client -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref5u