Implementation notes: mipso32, gcc23, crypto_hash/sha3256

Computer: gcc23
Microarchitecture: mipso32; Octeon II (cnmips64v2)
Architecture: mipso32
CPU ID: unknown CPU ID
SUPERCOP version: 20230530
Operation: crypto_hash
Primitive: sha3256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1783041776 0 033717 376 760oncore32bitsgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
1799962224 0 032085 376 760oncore32bitsgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
1823441520 0 077226 376 760oncore64bitsgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
1823961296 0 074922 376 760oncore64bitsgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
1829961072 0 074206 368 760oncore64bitsgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
1830761264 0 075578 376 760oncore64bitsgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
1881882144 0 031513 368 760oncore32bitsgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
1887242272 0 032821 376 760oncore32bitsgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506

Compiler output

Implementation: kcp/optimized1600ARMv7A
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
keccak.s: keccak.s: Assembler messages:
keccak.s: keccak.s:1: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:2: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:3: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:4: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:5: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:6: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:7: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:8: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:9: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:10: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:11: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:12: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:13: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:14: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:16: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:17: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:18: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:21: Error: unknown pseudo-op: `.syntax'
keccak.s: keccak.s:22: Error: unknown pseudo-op: `.fpu'
keccak.s: keccak.s:23: Error: unknown pseudo-op: `.arm'
keccak.s: keccak.s:26: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:27: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:29: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:56: Error: junk at end of line, first unrecognized character is `@'
keccak.s: ...

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

Compiler output

Implementation: kcp/optimized1600ARMv8A
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
keccak.s: keccak.s: Assembler messages:
keccak.s: keccak.s:1: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:2: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:3: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:4: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:6: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:7: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:8: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:9: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:11: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:12: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:13: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:14: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:15: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:17: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:18: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:19: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:20: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:22: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:23: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:24: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:25: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:27: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:29: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:30: Error: junk at end of line, first unrecognized character is `/'
keccak.s: ...

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

Compiler output

Implementation: kcp/optimized1600AVX2
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:20:27: fatal error: x86intrin.h: No such file or directory
KeccakP-1600-AVX2.c: #include <x86intrin.h>
KeccakP-1600-AVX2.c: ^
KeccakP-1600-AVX2.c: compilation terminated.

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

Compiler output

Implementation: kcp/optimized1600AVX512
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakP-1600-AVX512.c: KeccakP-1600-AVX512.c:24:23: fatal error: smmintrin.h: No such file or directory
KeccakP-1600-AVX512.c: #include <smmintrin.h>
KeccakP-1600-AVX512.c: ^
KeccakP-1600-AVX512.c: compilation terminated.

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

Compiler output

Implementation: openssl
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hash.c: hash.c: In function 'crypto_hash_sha3256_openssl_constbranchindex':
hash.c: hash.c:14:19: warning: passing argument 1 of 'EVP_MD_size' makes pointer from integer without a cast
hash.c: if (EVP_MD_size(EVP_sha3_256()) != crypto_hash_BYTES) ok = 0;
hash.c: ^
hash.c: In file included from hash.c:2:0:
hash.c: /usr/include/openssl/evp.h:498:5: note: expected 'const struct EVP_MD *' but argument is of type 'int'
hash.c: int EVP_MD_size(const EVP_MD *md);
hash.c: ^
hash.c: hash.c:15:36: warning: passing argument 2 of 'EVP_DigestInit_ex' makes pointer from integer without a cast
hash.c: if (ok) ok = EVP_DigestInit_ex(x,EVP_sha3_256(),NULL);
hash.c: ^
hash.c: In file included from hash.c:2:0:
hash.c: /usr/include/openssl/evp.h:572:5: note: expected 'const struct EVP_MD *' but argument is of type 'int'
hash.c: int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl);
hash.c: ^
try.c: libcrypto_hash_sha3256.a(hash.o): In function `crypto_hash_sha3256_openssl_constbranchindex':
try.c: hash.c:(.text+0x...): undefined reference to `EVP_sha3_256'
try.c: hash.c:(.text+0x...): undefined reference to `EVP_sha3_256'
try.c: collect2: error: ld returned 1 exit status

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