Implementation notes: ppc32, nintendowiilinuxngx, crypto_stream/chacha12

Computer: nintendowiilinuxngx
Architecture: ppc32
CPU ID: unknown CPU ID
SUPERCOP version: 20191221
Operation: crypto_stream
Primitive: chacha12
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
91325712 8 424653 688 764e/mergedgcc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010520191221
93722012 8 416420 676 764e/mergedgcc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010520191221
96962904 8 418920 684 764e/mergedgcc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010520191221
97085268 8 424205 688 764e/refgcc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010520191221
97085268 8 424205 688 764e/regsgcc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010520191221
150002504 8 418520 684 764e/regsgcc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010520191221
166321616 8 416020 676 764e/refgcc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010520191221
170283572 8 419208 680 764e/mergedgcc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010520191221
176042376 8 418392 684 764e/refgcc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010520191221
182521808 8 416212 676 764e/regsgcc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010520191221
217323116 8 418760 680 764e/regsgcc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010520191221
257882724 8 418360 680 764e/refgcc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010520191221

Compiler output

Implementation: amd64-ssse3
Security model: unknown
Compiler: gcc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
chacha.s: chacha.s: Assembler messages:
chacha.s: chacha.s:19: Error: unrecognized opcode: `mov'
chacha.s: chacha.s:20: Error: missing operand
chacha.s: chacha.s:21: Error: missing operand
chacha.s: chacha.s:22: Error: bad expression
chacha.s: chacha.s:22: Error: syntax error; found `r', expected `,'
chacha.s: chacha.s:22: Error: junk at end of line: `rsp'
chacha.s: chacha.s:23: Error: unrecognized opcode: `mov'
chacha.s: chacha.s:24: Error: unrecognized opcode: `mov'
chacha.s: chacha.s:25: Error: unrecognized opcode: `mov'
chacha.s: chacha.s:26: Error: unrecognized opcode: `mov'
chacha.s: chacha.s:27: Error: bad expression
chacha.s: chacha.s:27: Error: syntax error; found `r', expected `,'
chacha.s: chacha.s:27: Error: junk at end of line: `rdx'
chacha.s: chacha.s:29: Error: unrecognized opcode: `jbe'
chacha.s: chacha.s:31: Error: unrecognized opcode: `mov'
chacha.s: chacha.s:33: Error: unrecognized opcode: `mov'
chacha.s: chacha.s:35: Error: unrecognized opcode: `rep'
chacha.s: chacha.s:37: Error: bad expression
chacha.s: chacha.s:37: Error: syntax error; found `r', expected `,'
chacha.s: chacha.s:37: Error: junk at end of line: `rdx,%rdi'
chacha.s: chacha.s:39: Error: unrecognized opcode: `jmp'
chacha.s: chacha.s:47: Error: unrecognized opcode: `mov'
chacha.s: chacha.s:48: Error: missing operand
chacha.s: chacha.s:49: Error: missing operand
chacha.s: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE amd64-ssse3
gcc -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE amd64-ssse3
gcc -O -fomit-frame-pointer -fwrapv -fPIC -fPIE amd64-ssse3
gcc -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE amd64-ssse3

Compiler output

Implementation: dolbeau/mipsel-msa
Security model: unknown
Compiler: gcc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
chacha.c: chacha.c:12:22: fatal error: arm_neon.h: No such file or directory
chacha.c: #include <arm_neon.h>
chacha.c: ^
chacha.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE dolbeau/mipsel-msa
gcc -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE dolbeau/mipsel-msa
gcc -O -fomit-frame-pointer -fwrapv -fPIC -fPIE dolbeau/mipsel-msa
gcc -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE dolbeau/mipsel-msa

Compiler output

Implementation: dolbeau/ppc-altivec
Security model: unknown
Compiler: gcc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
chacha.c: In file included from chacha.c:12:0:
chacha.c: /usr/lib/gcc/powerpc-linux-gnu/4.9/include/altivec.h:34:2: error: #error Use the "-maltivec" flag to enable PowerPC AltiVec support
chacha.c: #error Use the "-maltivec" flag to enable PowerPC AltiVec support
chacha.c: ^

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE dolbeau/ppc-altivec
gcc -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE dolbeau/ppc-altivec
gcc -O -fomit-frame-pointer -fwrapv -fPIC -fPIE dolbeau/ppc-altivec
gcc -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE dolbeau/ppc-altivec

Compiler output

Implementation: e/ppc-altivec
Security model: unknown
Compiler: gcc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
api.c: In file included from /home/supercop/supercop/supercop-20191221/supercop-data/nintendowiilinuxngx/ppc32/include/estream-convert-api.h:7:0,
api.c: from api.c:2:
api.c: ./e/ecrypt-sync.h:60:5: error: expected specifier-qualifier-list before '__vector'
api.c: __vector unsigned int myalignment;
api.c: ^

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE e/ppc-altivec
gcc -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE e/ppc-altivec
gcc -O -fomit-frame-pointer -fwrapv -fPIC -fPIE e/ppc-altivec
gcc -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE e/ppc-altivec

Compiler output

Implementation: goll_gueron
Security model: unknown
Compiler: gcc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
stream.c: stream.c:11:23: fatal error: immintrin.h: No such file or directory
stream.c: #include <immintrin.h>
stream.c: ^
stream.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE goll_gueron
gcc -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE goll_gueron
gcc -O -fomit-frame-pointer -fwrapv -fPIC -fPIE goll_gueron
gcc -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE goll_gueron

Compiler output

Implementation: krovetz/avx2
Security model: unknown
Compiler: gcc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
stream.c: stream.c:8:23: fatal error: immintrin.h: No such file or directory
stream.c: #include <immintrin.h>
stream.c: ^
stream.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE krovetz/avx2
gcc -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE krovetz/avx2
gcc -O -fomit-frame-pointer -fwrapv -fPIC -fPIE krovetz/avx2
gcc -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE krovetz/avx2

Compiler output

Implementation: krovetz/vec128
Security model: unknown
Compiler: gcc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
stream.c: stream.c:80:2: error: #error -- Implementation supports only machines with neon, altivec or SSE2
stream.c: #error -- Implementation supports only machines with neon, altivec or SSE2
stream.c: ^
stream.c: stream.c: In function 'crypto_stream_chacha12_krovetz_vec128_xor':
stream.c: stream.c:151:14: error: incompatible types when initializing type 'vec' using type 'int'
stream.c: vec s3 = NONCE(np);
stream.c: ^
stream.c: stream.c:91:19: error: 'VBPI' undeclared (first use in this function)
stream.c: #define BPI (VBPI + GPR_TOO) /* Blocks computed per loop iteration */
stream.c: ^
stream.c: stream.c:152:36: note: in expansion of macro 'BPI'
stream.c: for (iters = 0; iters < inlen/(BPI*64); iters++) {
stream.c: ^
stream.c: stream.c:91:19: note: each undeclared identifier is reported only once for each function it appears in
stream.c: #define BPI (VBPI + GPR_TOO) /* Blocks computed per loop iteration */
stream.c: ^
stream.c: stream.c:152:36: note: in expansion of macro 'BPI'
stream.c: for (iters = 0; iters < inlen/(BPI*64); iters++) {
stream.c: ^
stream.c: stream.c:91:26: error: 'GPR_TOO' undeclared (first use in this function)
stream.c: #define BPI (VBPI + GPR_TOO) /* Blocks computed per loop iteration */
stream.c: ^
stream.c: stream.c:152:36: note: in expansion of macro 'BPI'
stream.c: for (iters = 0; iters < inlen/(BPI*64); iters++) {
stream.c: ^
stream.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE krovetz/vec128
gcc -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE krovetz/vec128
gcc -O -fomit-frame-pointer -fwrapv -fPIC -fPIE krovetz/vec128
gcc -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE krovetz/vec128