Implementation notes: amd64, river, crypto_aead/pi64cipher256v1

Computer: river
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20160806
Operation: crypto_aead
Primitive: pi64cipher256v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
110284optimized_nonSSEgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016083120160806
158584optimized_nonSSEgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016083120160806
161564optimized_nonSSEgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016083120160806
166236optimized_nonSSEgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016083120160806
169224refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016083120160806
183104refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016083120160806
188660refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016083120160806
221468refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016083120160806

Compiler output

Implementation: crypto_aead/pi64cipher256v1/optimized_AVX
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
encrypt_AVX.S: encrypt_AVX.s: Assembler messages:
encrypt_AVX.S: encrypt_AVX.s:21: Error: no such instruction: `vpxor %xmm0,%xmm0,%xmm0'
encrypt_AVX.S: encrypt_AVX.s:46: Error: no such instruction: `vmovdqa %xmm0,1032(%rsp)'
encrypt_AVX.S: encrypt_AVX.s:50: Error: no such instruction: `vmovdqa %xmm0,1048(%rsp)'
encrypt_AVX.S: encrypt_AVX.s:52: Error: no such instruction: `vmovdqa %xmm0,1064(%rsp)'
encrypt_AVX.S: encrypt_AVX.s:53: Error: no such instruction: `vmovdqa %xmm0,1080(%rsp)'
encrypt_AVX.S: encrypt_AVX.s:54: Error: no such instruction: `vmovdqa %xmm0,1096(%rsp)'
encrypt_AVX.S: encrypt_AVX.s:55: Error: no such instruction: `vmovdqa %xmm0,1112(%rsp)'
encrypt_AVX.S: encrypt_AVX.s:56: Error: no such instruction: `vmovdqa %xmm0,1128(%rsp)'
encrypt_AVX.S: encrypt_AVX.s:57: Error: no such instruction: `vmovdqa %xmm0,1144(%rsp)'
encrypt_AVX.S: encrypt_AVX.s:58: Error: no such instruction: `vpxor %xmm0,%xmm0,%xmm0'
encrypt_AVX.S: encrypt_AVX.s:60: Error: no such instruction: `vmovdqa %ymm0,InternalState(%rip)'
encrypt_AVX.S: encrypt_AVX.s:61: Error: no such instruction: `vmovdqa %ymm0,InternalState+32(%rip)'
encrypt_AVX.S: encrypt_AVX.s:62: Error: no such instruction: `vmovdqa %ymm0,InternalState+64(%rip)'
encrypt_AVX.S: encrypt_AVX.s:63: Error: no such instruction: `vmovdqa %ymm0,InternalState+96(%rip)'
encrypt_AVX.S: encrypt_AVX.s:66: Error: no such instruction: `vmovdqu (%rsi),%xmm0'
encrypt_AVX.S: encrypt_AVX.s:67: Error: no such instruction: `vinsertf128 $0x1,16(%rsi),%ymm0,%ymm0'
encrypt_AVX.S: encrypt_AVX.s:68: Error: no such instruction: `vmovdqa %ymm0,InternalState(%rip)'
encrypt_AVX.S: encrypt_AVX.s:74: Error: no such instruction: `vmovdqu (%r8),%xmm0'
encrypt_AVX.S: encrypt_AVX.s:75: Error: no such instruction: `vmovdqa %xmm0,InternalState+32(%rip)'
encrypt_AVX.S: encrypt_AVX.s:1224: Error: no such instruction: `vmovdqa InternalState(%rip),%ymm0'
encrypt_AVX.S: encrypt_AVX.s:1225: Error: no such instruction: `vmovdqa %ymm0,904(%rsp)'
encrypt_AVX.S: encrypt_AVX.s:1226: Error: no such instruction: `vmovdqa InternalState+32(%rip),%ymm0'
encrypt_AVX.S: encrypt_AVX.s:1227: Error: no such instruction: `vmovdqa %ymm0,936(%rsp)'
encrypt_AVX.S: encrypt_AVX.s:1228: Error: no such instruction: `vmovdqa InternalState+64(%rip),%ymm0'
encrypt_AVX.S: ...

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

Compiler output

Implementation: crypto_aead/pi64cipher256v1/optimized_AVX2
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
encrypt_AVX2.S: encrypt.s: Assembler messages:
encrypt_AVX2.S: encrypt.s:23: Error: no such instruction: `vpxor %xmm0,%xmm0,%xmm0'
encrypt_AVX2.S: encrypt.s:43: Error: no such instruction: `vmovdqa %ymm0,1800(%rsp)'
encrypt_AVX2.S: encrypt.s:52: Error: no such instruction: `vmovdqa %ymm0,1832(%rsp)'
encrypt_AVX2.S: encrypt.s:54: Error: no such instruction: `vmovdqa %ymm0,1864(%rsp)'
encrypt_AVX2.S: encrypt.s:55: Error: no such instruction: `vmovdqa %ymm0,1896(%rsp)'
encrypt_AVX2.S: encrypt.s:56: Error: no such instruction: `vmovdqa %ymm0,1928(%rsp)'
encrypt_AVX2.S: encrypt.s:57: Error: no such instruction: `vmovdqa %ymm0,1960(%rsp)'
encrypt_AVX2.S: encrypt.s:58: Error: no such instruction: `vmovdqa %ymm0,1992(%rsp)'
encrypt_AVX2.S: encrypt.s:59: Error: no such instruction: `vmovdqa %ymm0,2024(%rsp)'
encrypt_AVX2.S: encrypt.s:60: Error: no such instruction: `vmovdqa %ymm0,InternalState(%rip)'
encrypt_AVX2.S: encrypt.s:61: Error: no such instruction: `vmovdqa %ymm0,InternalState+32(%rip)'
encrypt_AVX2.S: encrypt.s:62: Error: no such instruction: `vmovdqa %ymm0,InternalState+64(%rip)'
encrypt_AVX2.S: encrypt.s:63: Error: no such instruction: `vmovdqa %ymm0,InternalState+96(%rip)'
encrypt_AVX2.S: encrypt.s:66: Error: no such instruction: `vmovdqu (%rsi),%xmm0'
encrypt_AVX2.S: encrypt.s:67: Error: no such instruction: `vinserti128 $0x1,16(%rsi),%ymm0,%ymm0'
encrypt_AVX2.S: encrypt.s:68: Error: no such instruction: `vmovdqa %ymm0,InternalState(%rip)'
encrypt_AVX2.S: encrypt.s:74: Error: no such instruction: `vmovdqu (%r8),%xmm0'
encrypt_AVX2.S: encrypt.s:75: Error: no such instruction: `vmovdqa %xmm0,InternalState+32(%rip)'
encrypt_AVX2.S: encrypt.s:1224: Error: no such instruction: `vmovdqa InternalState(%rip),%ymm0'
encrypt_AVX2.S: encrypt.s:1225: Error: no such instruction: `vmovdqa %ymm0,1672(%rsp)'
encrypt_AVX2.S: encrypt.s:1226: Error: no such instruction: `vmovdqa InternalState+32(%rip),%ymm0'
encrypt_AVX2.S: encrypt.s:1227: Error: no such instruction: `vmovdqa %ymm0,1704(%rsp)'
encrypt_AVX2.S: encrypt.s:1228: Error: no such instruction: `vmovdqa InternalState+64(%rip),%ymm0'
encrypt_AVX2.S: encrypt.s:1229: Error: no such instruction: `vmovdqa %ymm0,1736(%rsp)'
encrypt_AVX2.S: ...

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

Compiler output

Implementation: crypto_aead/pi64cipher256v1/ref
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
try.c: /tmp//ccHCnLuG.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//cc0CWJBD.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 ref

Compiler output

Implementation: crypto_aead/pi64cipher256v1/optimized_nonSSE
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
try.c: /tmp//ccS24ZMa.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//ccqzpPFo.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 optimized_nonSSE

Compiler output

Implementation: crypto_aead/pi64cipher256v1/optimized_SSE
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
try.c: /usr/bin/ld: crypto_aead_pi64cipher256v1.a(encrypt_SSE.o): relocation R_X86_64_32S against `InternalState' can not be used when making a shared object; recompile with -fPIC
try.c: crypto_aead_pi64cipher256v1.a: could not read symbols: Bad value
try.c: collect2: ld returned 1 exit status

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

Compiler output

Implementation: crypto_aead/pi64cipher256v1/ref
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
try.c: /tmp//cc1BNhy7.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//ccpKF8lp.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 ref

Compiler output

Implementation: crypto_aead/pi64cipher256v1/optimized_nonSSE
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
try.c: /tmp//ccVPzIQB.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//ccsKO684.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 optimized_nonSSE

Compiler output

Implementation: crypto_aead/pi64cipher256v1/optimized_nonSSE
Compiler: gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv
try.c: /tmp//ccdkSzcO.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//cceuSnOj.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 optimized_nonSSE

Compiler output

Implementation: crypto_aead/pi64cipher256v1/ref
Compiler: gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv
try.c: /tmp//cctSIzeO.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//cc0WED8Z.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 ref

Compiler output

Implementation: crypto_aead/pi64cipher256v1/optimized_nonSSE
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv
try.c: /tmp//ccFeXi0T.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//cccVg4Gh.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 optimized_nonSSE

Compiler output

Implementation: crypto_aead/pi64cipher256v1/ref
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv
try.c: /tmp//ccaw28Om.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//ccTV9z8r.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 ref