Implementation notes: aarch64, pmnod145, crypto_hash/echosp256

Computer: pmnod145
Architecture: aarch64
CPU ID: 431f0af1
SUPERCOP version: 20191017
Operation: crypto_hash
Primitive: echosp256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
6315021876 0 034155 856 768generic/opt64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
6482518892 0 030059 856 752generic/opt64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
6630019540 0 034552 864 752generic/opt64armclang_-march=armv8a+crypto_-mcpu=thunderx2t99_-mtune=thunderx2t99_-O2_-fPIC_-fPIE2019101820191017
6652519976 0 035864 864 760generic/opt64armclang_-march=armv8a+crypto_-mcpu=thunderx2t99_-mtune=thunderx2t99_-O3_-fPIC_-fPIE2019101820191017
6922518364 0 029411 856 752generic/opt64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
7217518316 0 028575 840 744generic/opt64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
7297519976 0 032366 880 776generic/opt32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
7407524777 0 040857 880 768generic/opt32armclang_-march=armv8a+crypto_-mcpu=thunderx2t99_-mtune=thunderx2t99_-O3_-fPIC_-fPIE2019101820191017
7497525061 0 040241 880 760generic/opt32armclang_-march=armv8a+crypto_-mcpu=thunderx2t99_-mtune=thunderx2t99_-O2_-fPIC_-fPIE2019101820191017
7510029928 0 045840 864 768powerpc/pp32cv2armclang_-march=armv8a+crypto_-mcpu=thunderx2t99_-mtune=thunderx2t99_-O3_-fPIC_-fPIE2019101820191017
7545030020 0 045040 864 760powerpc/pp32cv2armclang_-march=armv8a+crypto_-mcpu=thunderx2t99_-mtune=thunderx2t99_-O2_-fPIC_-fPIE2019101820191017
7550019912 0 031190 880 760generic/opt32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
7650027412 0 039715 872 776powerpc/pp32cv2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
7725027316 0 038507 872 760powerpc/pp32cv2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
8020018140 0 029294 880 760generic/opt32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
8130022192 0 032463 856 752powerpc/pp32cv2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
8335017613 0 027970 864 752generic/opt32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
8370024948 0 036019 872 760powerpc/pp32cv2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
9697525028 0 040048 864 760powerpc/pp32cv1armclang_-march=armv8a+crypto_-mcpu=thunderx2t99_-mtune=thunderx2t99_-O2_-fPIC_-fPIE2019101820191017
9950024552 0 040464 864 768powerpc/pp32cv1armclang_-march=armv8a+crypto_-mcpu=thunderx2t99_-mtune=thunderx2t99_-O3_-fPIC_-fPIE2019101820191017
10290018332 0 030627 872 776powerpc/pp32cv1gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
10537518268 0 029451 872 760powerpc/pp32cv1gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
11245017360 0 028435 872 760powerpc/pp32cv1gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
13180016720 0 026991 856 752powerpc/pp32cv1gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017

Compiler output

Implementation: generic/opt32
Security model: unknown
Compiler: armclang -march=armv8a+crypto -mcpu=thunderx2t99 -mtune=thunderx2t99 -O2 -fPIC -fPIE
echo32.c: echo32.c:37:4: warning: implicitly declaring library function 'printf' with type 'int (const char *, ...)' [-Wimplicit-function-declaration]
echo32.c: printf ("row %d,col %d :",i,j);
echo32.c: ^
echo32.c: echo32.c:37:4: note: include the header <stdio.h> or explicitly provide a declaration for 'printf'
echo32.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
armclang -march=armv8a+crypto -mcpu=thunderx2t99 -mtune=thunderx2t99 -O2 -fPIC -fPIE generic/opt32
armclang -march=armv8a+crypto -mcpu=thunderx2t99 -mtune=thunderx2t99 -O3 -fPIC -fPIE generic/opt32

Compiler output

Implementation: generic/opt32
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
echo32.c: echo32.c: In function 'PrintState':
echo32.c: echo32.c:37:4: warning: implicit declaration of function 'printf' [-Wimplicit-function-declaration]
echo32.c: 37 | printf ("row %d,col %d :",i,j);
echo32.c: | ^~~~~~
echo32.c: echo32.c:37:4: warning: incompatible implicit declaration of built-in function 'printf'
echo32.c: echo32.c:12:1: note: include '<stdio.h>' or provide a declaration of 'printf'
echo32.c: 11 | #include "api.h"
echo32.c: +++ |+#include <stdio.h>
echo32.c: 12 |
echo32.c: echo32.c:47:2: warning: incompatible implicit declaration of built-in function 'printf'
echo32.c: 47 | printf("-----------------------------------\n");
echo32.c: | ^~~~~~
echo32.c: echo32.c:47:2: note: include '<stdio.h>' or provide a declaration of 'printf'

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

Compiler output

Implementation: generic/opt64
Security model: unknown
Compiler: armclang -march=armv8a+crypto -mcpu=thunderx2t99 -mtune=thunderx2t99 -O2 -fPIC -fPIE
echo64.c: echo64.c:555:29: warning: passing 'const unsigned char *' to parameter of type 'BitSequence *' (aka 'unsigned char *') discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
echo64.c: if (Hash(CRYPTO_BYTES * 8,in,inlen * 8,out) == SUCCESS) return 0;
echo64.c: ^~
echo64.c: echo64.c:542:46: note: passing argument to parameter 'data' here
echo64.c: HashReturn Hash(int hashbitlen, BitSequence *data, DataLength databitlen, BitSequence *hashval)
echo64.c: ^
echo64.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
armclang -march=armv8a+crypto -mcpu=thunderx2t99 -mtune=thunderx2t99 -O2 -fPIC -fPIE generic/opt64
armclang -march=armv8a+crypto -mcpu=thunderx2t99 -mtune=thunderx2t99 -O3 -fPIC -fPIE generic/opt64

Compiler output

Implementation: generic/opt64
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
echo64.c: echo64.c: In function 'crypto_hash_echosp256_generic_opt64':
echo64.c: echo64.c:555:29: warning: passing argument 2 of 'Hash' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
echo64.c: 555 | if (Hash(CRYPTO_BYTES * 8,in,inlen * 8,out) == SUCCESS) return 0;
echo64.c: | ^~
echo64.c: echo64.c:542:46: note: expected 'BitSequence *' {aka 'unsigned char *'} but argument is of type 'const unsigned char *'
echo64.c: 542 | HashReturn Hash(int hashbitlen, BitSequence *data, DataLength databitlen, BitSequence *hashval)
echo64.c: | ~~~~~~~~~~~~~^~~~

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