Implementation notes: mipso32, gcc23, crypto_stream/chacha8

Computer: gcc23
Microarchitecture: mipso32; Octeon II (cnmips64v2)
Architecture: mipso32
CPU ID: unknown CPU ID
SUPERCOP version: 20230530
Operation: crypto_stream
Primitive: chacha8
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
277784832 0 1626869 364 824e/refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
278904816 0 1626861 364 824e/regsgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
298183872 0 1622572 352 824e/mergedgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
3348817372 1422 01488391 153188 11584T:cryptoppg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
3374017820 1422 01486375 153188 11584T:cryptoppg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
341346224 0 1628285 364 824e/mergedgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
342125280 0 1625216 360 824e/mergedgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
3430018124 1432 01486958 153200 11584T:cryptoppg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
3442812108 1884 01483796 153788 11584T:cryptoppg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
367104320 0 1624992 360 824e/mergedgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
408643872 0 1623792 360 824e/regsgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
444363136 0 1621820 352 824e/regsgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
467663584 0 1624240 360 824e/regsgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
471742928 0 1622840 360 824e/refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
489962608 0 1621284 352 824e/refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
555163088 0 1623736 360 824e/refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506

Compiler output

Implementation: amd64-ssse3
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
chacha.S: chacha.S: Assembler messages:
chacha.S: chacha.S:19: Error: unrecognized opcode `mov %rsp,%r11'
chacha.S: chacha.S:20: Error: bad expression
chacha.S: chacha.S:20: Error: invalid operands `and $31,%r11'
chacha.S: chacha.S:21: Error: bad expression
chacha.S: chacha.S:21: Error: invalid operands `add $384,%r11'
chacha.S: chacha.S:22: Error: bad expression
chacha.S: chacha.S:22: Error: bad expression
chacha.S: chacha.S:22: Error: invalid operands `sub %r11,%rsp'
chacha.S: chacha.S:23: Error: unrecognized opcode `mov %rdi,%r8'
chacha.S: chacha.S:24: Error: unrecognized opcode `mov %rsi,%rsi'
chacha.S: chacha.S:25: Error: unrecognized opcode `mov %rsi,%rdi'
chacha.S: chacha.S:26: Error: unrecognized opcode `mov %rdx,%rdx'
chacha.S: chacha.S:27: Error: unrecognized opcode `cmp $0,%rdx'
chacha.S: chacha.S:29: Error: unrecognized opcode `jbe ._done'
chacha.S: chacha.S:31: Error: unrecognized opcode `mov $0,%rax'
chacha.S: chacha.S:33: Error: unrecognized opcode `mov %rdx,%rcx'
chacha.S: chacha.S:35: Error: unrecognized opcode `rep stosb'
chacha.S: chacha.S:37: Error: bad expression
chacha.S: chacha.S:37: Error: bad expression
chacha.S: chacha.S:37: Error: invalid operands `sub %rdx,%rdi'
chacha.S: chacha.S:39: Error: unrecognized opcode `jmp ._start'
chacha.S: chacha.S:47: Error: unrecognized opcode `mov %rsp,%r11'
chacha.S: chacha.S:48: Error: bad expression
chacha.S: chacha.S:48: Error: invalid operands `and $31,%r11'
chacha.S: ...

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

Compiler output

Implementation: dolbeau/mipsel-msa
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
chacha.c: chacha.c:11: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 -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE dolbeau/mipsel-msa
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE dolbeau/mipsel-msa
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE dolbeau/mipsel-msa
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE dolbeau/mipsel-msa

Compiler output

Implementation: goll_gueron
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -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 -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE goll_gueron
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE goll_gueron
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE goll_gueron
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE goll_gueron

Compiler output

Implementation: krovetz/avx2
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -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 -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE krovetz/avx2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE krovetz/avx2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE krovetz/avx2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE krovetz/avx2

Compiler output

Implementation: krovetz/vec128
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -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_chacha8_krovetz_vec128_constbranchindex_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 -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE krovetz/vec128
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE krovetz/vec128
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE krovetz/vec128
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE krovetz/vec128