Implementation notes: amd64, river, crypto_scalarmult/kummer

Computer: river
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20160806
Operation: crypto_scalarmult
Primitive: kummer
TimeImplementationCompilerBenchmark dateSUPERCOP version
1265992ref5gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016083120160806
1346672ref5ugcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016083120160806
1380600ref5gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016083120160806
1390380ref5gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016083120160806
1431504ref5gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016083120160806
1479140ref5ugcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016083120160806
1492056ref5ugcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016083120160806
1538344ref5ugcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016083120160806

Compiler output

Implementation: crypto_scalarmult/kummer/avx
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
gfe.c: gfe.c: In function 'gfe4x3limb_split':
gfe.c: gfe.c:69: warning: ignoring alignment for stack allocated 't'
smult.c: smult.c: In function 'crypto_scalarmult_kummer_avx':
smult.c: smult.c:16: warning: ignoring alignment for stack allocated 'work'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s: Assembler messages:
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:75: Error: no such instruction: `vmovapd 0(%rsi),%ymm0'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:81: Error: no such instruction: `vmovapd 64(%rsi),%ymm1'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:88: Error: no such instruction: `vmovapd 128(%rsi),%ymm2'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:94: Error: no such instruction: `vmulpd _2pm43,%ymm0,%ymm3'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:100: Error: no such instruction: `vroundpd $8,%ymm3,%ymm3'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:106: Error: no such instruction: `vmulpd _2p43,%ymm3,%ymm3'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:113: Error: no such instruction: `vaddpd %ymm3,%ymm1,%ymm1'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:119: Error: no such instruction: `vsubpd %ymm3,%ymm0,%ymm0'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:125: Error: no such instruction: `vmulpd _2pm85,%ymm1,%ymm3'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:131: Error: no such instruction: `vroundpd $8,%ymm3,%ymm3'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:137: Error: no such instruction: `vmulpd _2p85,%ymm3,%ymm3'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:144: Error: no such instruction: `vaddpd %ymm3,%ymm2,%ymm2'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:150: Error: no such instruction: `vsubpd %ymm3,%ymm1,%ymm1'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:156: Error: no such instruction: `vmulpd _2pm127,%ymm2,%ymm3'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:162: Error: no such instruction: `vroundpd $8,%ymm3,%ymm3'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:168: Error: no such instruction: `vaddpd %ymm3,%ymm0,%ymm0'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:174: Error: no such instruction: `vmulpd _2p127,%ymm3,%ymm3'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:181: Error: no such instruction: `vsubpd %ymm3,%ymm2,%ymm2'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:187: Error: no such instruction: `vaddpd _2p44m2,%ymm0,%ymm0'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:193: Error: no such instruction: `vmulpd _2pm43,%ymm0,%ymm3'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:199: Error: no such instruction: `vroundpd $11,%ymm3,%ymm3'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:206: Error: no such instruction: `vmulpd _2p43,%ymm3,%ymm3'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:212: Error: no such instruction: `vaddpd %ymm3,%ymm1,%ymm1'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:218: Error: no such instruction: `vsubpd %ymm3,%ymm0,%ymm0'
gfe4x3limb_freeze.s: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv avx
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv avx
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv avx
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv avx

Compiler output

Implementation: crypto_scalarmult/kummer/avx2
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
gfe.c: gfe.c: In function 'gfe4x3limb_split':
gfe.c: gfe.c:69: warning: ignoring alignment for stack allocated 't'
smult.c: smult.c: In function 'crypto_scalarmult_kummer_avx2':
smult.c: smult.c:16: warning: ignoring alignment for stack allocated 'work'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s: Assembler messages:
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:75: Error: no such instruction: `vmovapd 0(%rsi),%ymm0'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:81: Error: no such instruction: `vmovapd 64(%rsi),%ymm1'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:88: Error: no such instruction: `vmovapd 128(%rsi),%ymm2'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:94: Error: no such instruction: `vmulpd _2pm43,%ymm0,%ymm3'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:100: Error: no such instruction: `vroundpd $8,%ymm3,%ymm3'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:106: Error: no such instruction: `vmulpd _2p43,%ymm3,%ymm3'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:113: Error: no such instruction: `vaddpd %ymm3,%ymm1,%ymm1'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:119: Error: no such instruction: `vsubpd %ymm3,%ymm0,%ymm0'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:125: Error: no such instruction: `vmulpd _2pm85,%ymm1,%ymm3'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:131: Error: no such instruction: `vroundpd $8,%ymm3,%ymm3'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:137: Error: no such instruction: `vmulpd _2p85,%ymm3,%ymm3'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:144: Error: no such instruction: `vaddpd %ymm3,%ymm2,%ymm2'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:150: Error: no such instruction: `vsubpd %ymm3,%ymm1,%ymm1'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:156: Error: no such instruction: `vmulpd _2pm127,%ymm2,%ymm3'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:162: Error: no such instruction: `vroundpd $8,%ymm3,%ymm3'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:168: Error: no such instruction: `vaddpd %ymm3,%ymm0,%ymm0'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:174: Error: no such instruction: `vmulpd _2p127,%ymm3,%ymm3'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:181: Error: no such instruction: `vsubpd %ymm3,%ymm2,%ymm2'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:187: Error: no such instruction: `vaddpd _2p44m2,%ymm0,%ymm0'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:193: Error: no such instruction: `vmulpd _2pm43,%ymm0,%ymm3'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:199: Error: no such instruction: `vroundpd $11,%ymm3,%ymm3'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:206: Error: no such instruction: `vmulpd _2p43,%ymm3,%ymm3'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:212: Error: no such instruction: `vaddpd %ymm3,%ymm1,%ymm1'
gfe4x3limb_freeze.s: gfe4x3limb_freeze.s:218: Error: no such instruction: `vsubpd %ymm3,%ymm0,%ymm0'
gfe4x3limb_freeze.s: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv avx2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv avx2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv avx2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv avx2

Compiler output

Implementation: crypto_scalarmult/kummer/avx2int
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
smult.c: In file included from smult.c:3:
smult.c: gfe4x.h:5:23: error: immintrin.h: No such file or directory
smult.c: In file included from smult.c:3:
smult.c: gfe4x.h:7: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'vec'
smult.c: gfe4x.h:10: error: expected specifier-qualifier-list before 'vec'
smult.c: gfe4x.h:17: error: expected ';', ',' or ')' before '*' token
smult.c: smult.c:6: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'mask25'
smult.c: smult.c:7: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'mask26'
smult.c: smult.c: In function 'gfe4x_from_gfe':
smult.c: smult.c:14: error: 'gfe4x' has no member named 'v'
smult.c: smult.c:15: error: 'gfe4x' has no member named 'v'
smult.c: smult.c:16: error: 'gfe4x' has no member named 'v'
smult.c: smult.c:17: error: 'gfe4x' has no member named 'v'
smult.c: smult.c: In function 'gfe4x_to_gfe':
smult.c: smult.c:26: error: 'gfe4x' has no member named 'v'
smult.c: smult.c:27: error: 'gfe4x' has no member named 'v'
smult.c: smult.c:28: error: 'gfe4x' has no member named 'v'
smult.c: smult.c:29: error: 'gfe4x' has no member named 'v'
smult.c: smult.c: At top level:
smult.c: smult.c:33: error: expected ';', ',' or ')' before '*' token
smult.c: smult.c: In function 'gfe4x_mul':
smult.c: smult.c:56: error: 'vec' undeclared (first use in this function)
smult.c: smult.c:56: error: (Each undeclared identifier is reported only once
smult.c: smult.c:56: error: for each function it appears in.)
smult.c: smult.c:56: error: expected ';' before 'a0'
smult.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv avx2int
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv avx2int
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv avx2int
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv avx2int

Compiler output

Implementation: crypto_scalarmult/kummer/ref5
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
try.c: /tmp//ccFbmOpX.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.c: /tmp//ccN5GhWg.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv ref5

Compiler output

Implementation: crypto_scalarmult/kummer/ref5u
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
try.c: /tmp//cck3ncvz.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.c: /tmp//ccj3F9LF.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv ref5u

Compiler output

Implementation: crypto_scalarmult/kummer/ref5u
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
try.c: /tmp//cc7TqyfH.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.c: /tmp//cc9CLLRs.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv ref5u

Compiler output

Implementation: crypto_scalarmult/kummer/ref5
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
try.c: /tmp//cciTmS53.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.c: /tmp//ccZUzKrJ.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv ref5

Compiler output

Implementation: crypto_scalarmult/kummer/ref5u
Compiler: gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv
try.c: /tmp//cc21Ubpo.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.c: /tmp//cc0b0t5G.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv ref5u

Compiler output

Implementation: crypto_scalarmult/kummer/ref5
Compiler: gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv
try.c: /tmp//ccaVk82X.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.c: /tmp//ccq8vItH.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv ref5

Compiler output

Implementation: crypto_scalarmult/kummer/ref5
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv
try.c: /tmp//ccuHDSR4.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.c: /tmp//ccEg51Cf.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv ref5

Compiler output

Implementation: crypto_scalarmult/kummer/ref5u
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv
try.c: /tmp//ccucH33x.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.c: /tmp//cc3GdXdP.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv ref5u