Implementation notes: amd64, ygritte, crypto_scalarmult/kummer

Computer: ygritte
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20200525
Operation: crypto_scalarmult
Primitive: kummer
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
16861417347 0 044660 808 1608avx2intgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052720200525
1965189376 0 033956 808 1608avx2intgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052720200525
19764019001 0 049315 792 1608avx2intclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052720200525
19786221164 0 051811 792 1608avx2intclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052720200525
19810819001 0 049315 792 1608avx2intclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052720200525
2021888957 0 032988 808 1608avx2intgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052720200525
2125966049 0 028956 800 1608avx2intgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052720200525
2253248918 0 036073 784 1576avx2intclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052720200525
2306529129 0 035395 792 1576avx2clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052720200525
2315948816 0 032852 808 1608avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052720200525
2316889244 0 036476 808 1608avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052720200525
2324428403 0 031292 800 1608avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052720200525
2365488524 0 033132 808 1608avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052720200525
2759388849 0 039331 792 1608avx2clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052720200525
2768608409 0 035705 784 1576avx2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052720200525
2779528849 0 039331 792 1608avx2clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052720200525
2781088849 0 039683 792 1608avx2clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052720200525
3087769815 0 036035 792 1576avxclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052720200525
3094969089 0 031932 800 1608avxgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052720200525
3096829210 0 033772 808 1608avxgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052720200525
3100009930 0 037180 808 1608avxgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052720200525
3103069502 0 033492 808 1608avxgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052720200525
3704789535 0 040035 792 1608avxclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052720200525
3713349535 0 040387 792 1608avxclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052720200525
3720069535 0 040035 792 1608avxclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052720200525
3727969095 0 036345 784 1576avxclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052720200525
60331214061 0 040203 792 1576ref5clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052720200525
63252214040 0 040187 792 1576ref5uclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052720200525
63456412501 0 042915 792 1608ref5clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052720200525
65766613644 0 040812 808 1608ref5gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052720200525
6756904472 0 031681 784 1576ref5uclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052720200525
67994212501 0 042915 792 1608ref5clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052720200525
6816724318 0 028804 808 1608ref5gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052720200525
69544213901 0 041084 808 1608ref5ugcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052720200525
6960244473 0 031649 784 1576ref5clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052720200525
70671013932 0 044683 792 1608ref5clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052720200525
7148664617 0 029124 808 1608ref5ugcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052720200525
71837612703 0 043139 792 1608ref5uclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052720200525
71920012703 0 043139 792 1608ref5uclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052720200525
7282044077 0 026844 800 1608ref5gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052720200525
74905014064 0 044827 792 1608ref5uclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052720200525
7640024358 0 027148 800 1608ref5ugcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052720200525
7669304399 0 028300 808 1608ref5gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052720200525
8137324690 0 028620 808 1608ref5ugcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052720200525

Compiler output

Implementation: avx2int
Security model: unknown
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
smult.c: smult.c:36:8: error: always_inline function '_mm256_mul_epi32' requires target feature 'avx2', but would be inlined into function 'crypto_scalarmult_kummer_avx2int_gfe4x_mulconst' that is compiled without support for 'avx2'
smult.c: t0 = _mm256_mul_epi32(a->v[0],*b);
smult.c: ^
smult.c: smult.c:37:8: error: always_inline function '_mm256_mul_epi32' requires target feature 'avx2', but would be inlined into function 'crypto_scalarmult_kummer_avx2int_gfe4x_mulconst' that is compiled without support for 'avx2'
smult.c: t1 = _mm256_mul_epi32(a->v[1],*b);
smult.c: ^
smult.c: smult.c:38:10: error: always_inline function '_mm256_add_epi64' requires target feature 'avx2', but would be inlined into function 'crypto_scalarmult_kummer_avx2int_gfe4x_mulconst' that is compiled without support for 'avx2'
smult.c: t1 = _mm256_add_epi64(t1,_mm256_srli_epi64(t0,26)); t0 &= mask26;
smult.c: ^
smult.c: smult.c:38:30: error: always_inline function '_mm256_srli_epi64' requires target feature 'avx2', but would be inlined into function 'crypto_scalarmult_kummer_avx2int_gfe4x_mulconst' that is compiled without support for 'avx2'
smult.c: t1 = _mm256_add_epi64(t1,_mm256_srli_epi64(t0,26)); t0 &= mask26;
smult.c: ^
smult.c: smult.c:39:8: error: always_inline function '_mm256_mul_epi32' requires target feature 'avx2', but would be inlined into function 'crypto_scalarmult_kummer_avx2int_gfe4x_mulconst' that is compiled without support for 'avx2'
smult.c: t2 = _mm256_mul_epi32(a->v[2],*b);
smult.c: ^
smult.c: smult.c:40:8: error: always_inline function '_mm256_mul_epi32' requires target feature 'avx2', but would be inlined into function 'crypto_scalarmult_kummer_avx2int_gfe4x_mulconst' that is compiled without support for 'avx2'
smult.c: t3 = _mm256_mul_epi32(a->v[3],*b);
smult.c: ^
smult.c: smult.c:41:8: error: always_inline function '_mm256_mul_epi32' requires target feature 'avx2', but would be inlined into function 'crypto_scalarmult_kummer_avx2int_gfe4x_mulconst' that is compiled without support for 'avx2'
smult.c: t4 = _mm256_mul_epi32(a->v[4],*b);
smult.c: ^
smult.c: smult.c:42:10: error: always_inline function '_mm256_add_epi64' requires target feature 'avx2', but would be inlined into function 'crypto_scalarmult_kummer_avx2int_gfe4x_mulconst' that is compiled without support for 'avx2'
smult.c: t3 = _mm256_add_epi64(t3,_mm256_srli_epi64(t2,26)); t2 &= mask26;
smult.c: ^
smult.c: smult.c:42:30: error: always_inline function '_mm256_srli_epi64' requires target feature 'avx2', but would be inlined into function 'crypto_scalarmult_kummer_avx2int_gfe4x_mulconst' that is compiled without support for 'avx2'
smult.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2int

Namespace violations

Implementation: avx
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
consts.o _2 R
consts.o _2p106 R
consts.o _2p107m2p86 R
consts.o _2p127 R
consts.o _2p127m2p85 R
consts.o _2p128m2p107 R
consts.o _2p128m2p86 R
consts.o _2p22 R
consts.o _2p23 R
consts.o _2p43 R
consts.o _2p43m1 R
consts.o _2p44m2 R
consts.o _2p44m2p23 R
consts.o _2p64 R
consts.o _2p65m2p44 R
consts.o _2p85 R
consts.o _2p85m2p43 R
consts.o _2p86m2p44 R
consts.o _2p86m2p65 R
consts.o _2pm106 R
consts.o _2pm127 R
consts.o _2pm22 R
consts.o _2pm43 R
consts.o _2pm64 R
consts.o _2pm85 R
consts.o _one R
consts.o _two R
consts.o alpha106 R
consts.o alpha127 R
consts.o alpha22 R
consts.o alpha43 R
consts.o alpha64 R
consts.o alpha85 R
consts.o hadstepconsts R
consts.o mask63 R
consts.o minusz R
consts.o newABCD R
consts.o newabcd R
consts.o stepconsts R
gfe.o gfe4x3limb_split T
gfe.o gfe4x3limb_unpack T
gfe.o gfe4x_unpack T
gfe.o gfe_invert T
gfe.o gfe_pack T
gfe.o gfe_unpack T
gfe4x3limb_freeze.o _gfe4x3limb_freeze T
gfe4x3limb_freeze.o gfe4x3limb_freeze T
gfe_mul.o _gfe_mul T
gfe_mul.o gfe_mul T
gfe_nsquare.o _gfe_nsquare T
gfe_nsquare.o gfe_nsquare T
ladder.o _ladder T
ladder.o ladder T
znegate.o _gfe4x_znegate T
znegate.o gfe4x_znegate T

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE avx
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE avx

Namespace violations

Implementation: avx2
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
consts.o _1111 R
consts.o _2 R
consts.o _2p106 R
consts.o _2p107m2p86 R
consts.o _2p127 R
consts.o _2p127m2p85 R
consts.o _2p128m2p107 R
consts.o _2p128m2p86 R
consts.o _2p22 R
consts.o _2p23 R
consts.o _2p43 R
consts.o _2p43m1 R
consts.o _2p44m2 R
consts.o _2p44m2p23 R
consts.o _2p64 R
consts.o _2p65m2p44 R
consts.o _2p85 R
consts.o _2p85m2p43 R
consts.o _2p86m2p44 R
consts.o _2p86m2p65 R
consts.o _2pm106 R
consts.o _2pm127 R
consts.o _2pm22 R
consts.o _2pm43 R
consts.o _2pm64 R
consts.o _2pm85 R
consts.o _one R
consts.o _two R
consts.o alpha106 R
consts.o alpha127 R
consts.o alpha22 R
consts.o alpha43 R
consts.o alpha64 R
consts.o alpha85 R
consts.o hadstepconsts R
consts.o mask63 R
consts.o minusz R
consts.o newABCD R
consts.o newabcd R
consts.o stepconsts R
gfe.o gfe4x3limb_split T
gfe.o gfe4x3limb_unpack T
gfe.o gfe4x_unpack T
gfe.o gfe_invert T
gfe.o gfe_pack T
gfe.o gfe_unpack T
gfe4x3limb_freeze.o _gfe4x3limb_freeze T
gfe4x3limb_freeze.o gfe4x3limb_freeze T
gfe_mul.o _gfe_mul T
gfe_mul.o gfe_mul T
gfe_nsquare.o _gfe_nsquare T
gfe_nsquare.o gfe_nsquare T
ladder.o _ladder T
ladder.o ladder T
znegate.o _gfe4x_znegate T
znegate.o gfe4x_znegate T

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2