Implementation notes: ppc64, power9, crypto_aead/flexaead128b064v12

Computer: power9
Architecture: ppc64
CPU ID: unknown CPU ID
SUPERCOP version: 20210326
Operation: crypto_aead
Primitive: flexaead128b064v12
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
64008610088 0 028474 676 1200T:opt1gcc_-mcpu=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
64032510088 0 028474 676 1200T:opt1gcc_-mcpu=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
6452079632 0 028026 676 1200T:opt1gcc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
64703711564 0 031063 676 1208T:opt1gcc_-mcpu=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
64964911564 0 031063 676 1208T:opt1gcc_-mcpu=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
66318611108 0 030631 676 1208T:opt1gcc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
6677319800 0 029945 684 1200T:opt1clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021042220210326
67766619672 0 031577 684 1200T:opt1clang_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021042220210326
6789099836 0 031577 684 1200T:opt1clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021042220210326
6939036640 0 023491 668 1200T:opt1gcc_-mcpu=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
6963896640 0 023491 668 1200T:opt1gcc_-mcpu=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
7036516572 0 023491 668 1200T:opt1gcc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
7086389788 0 029401 684 1192T:opt1clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021042220210326
7087278312 0 024251 676 1192T:opt1clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021042220210326
7090248312 0 024251 676 1192T:opt1clang_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021042220210326
7103589788 0 029401 684 1192T:opt1clang_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021042220210326
7558246484 0 022907 676 1192T:opt1clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021042220210326
7558826484 0 022907 676 1192T:opt1clang_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021042220210326
8226317156 0 023579 676 1192T:refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021042220210326
8249457156 0 023579 676 1192T:refclang_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021042220210326
8391377152 0 024193 668 1216T:refgcc_-mcpu=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
8418437152 0 024193 668 1216T:refgcc_-mcpu=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
84895812000 0 030661 676 1224T:refgcc_-mcpu=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
85033512000 0 030661 676 1224T:refgcc_-mcpu=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
85036310480 0 026443 676 1192T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021042220210326
85455412068 0 030741 676 1224T:refgcc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
8595147176 0 024289 668 1216T:refgcc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
86833715964 0 035661 676 1224T:refgcc_-mcpu=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
86950115964 0 035661 676 1224T:refgcc_-mcpu=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
88129010480 0 026443 676 1192T:refclang_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021042220210326
88831844424 0 043953 684 1200T:refclang_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021042220210326
88933815884 0 035621 676 1224T:refgcc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
88957720324 0 039953 684 1192T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021042220210326
88963520324 0 039953 684 1192T:refclang_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021042220210326
89380622212 0 043953 684 1200T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021042220210326
91339021536 0 041649 684 1200T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021042220210326

Test failure

Implementation: T:opt1
Security model: timingleaks
Compiler: gcc -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
error 111
crypto_aead_decrypt returns nonzero

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt1
gcc -mcpu=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt1
gcc -mcpu=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt1

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: gcc -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
encrypt.c: encrypt.c: In function 'sumAD.constprop':
encrypt.c: encrypt.c:585:20: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
encrypt.c: 585 | *(state+(2*i+0)) = *(block+(0*(blocklen/2)+i));
encrypt.c: | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:48:18: note: at offset 0 to object 'state' with size 8 declared here
encrypt.c: 48 | unsigned char state[BLOCKSIZE];
encrypt.c: | ^~~~~
encrypt.c: encrypt.c:586:20: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
encrypt.c: 586 | *(state+(2*i+1)) = *(block+(1*(blocklen/2)+i));
encrypt.c: | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:48:18: note: at offset 0 to object 'state' with size 8 declared here
encrypt.c: 48 | unsigned char state[BLOCKSIZE];
encrypt.c: | ^~~~~
encrypt.c: encrypt.c:585:20: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
encrypt.c: 585 | *(state+(2*i+0)) = *(block+(0*(blocklen/2)+i));
encrypt.c: | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:48:18: note: at offset 0 to object 'state' with size 8 declared here
encrypt.c: 48 | unsigned char state[BLOCKSIZE];
encrypt.c: | ^~~~~
encrypt.c: encrypt.c:586:20: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
encrypt.c: 586 | *(state+(2*i+1)) = *(block+(1*(blocklen/2)+i));
encrypt.c: | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:48:18: note: at offset 0 to object 'state' with size 8 declared here
encrypt.c: 48 | unsigned char state[BLOCKSIZE];
encrypt.c: | ^~~~~
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -mcpu=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -mcpu=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref

Namespace violations

Implementation: T:opt1
Security model: timingleaks
Compiler: clang -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.o FlexAEADv1_init T
encrypt.o decryptBlock T
encrypt.o dirMixQuartersLayer T
encrypt.o dirPFK T
encrypt.o dirSBox0 R
encrypt.o dirSBox1 R
encrypt.o dirSBox2 R
encrypt.o dirSBox3 R
encrypt.o dirSBoxLayer T
encrypt.o dirShuffleLayer T
encrypt.o encryptBlock T
encrypt.o invPFK T
encrypt.o invSBox0 R
encrypt.o invSBox1 R
encrypt.o invSBox2 R
encrypt.o invSBox3 R
encrypt.o invSBoxLayer T
encrypt.o invShuffleLayer T
encrypt.o memcpyopt T
encrypt.o mwc32 T
encrypt.o padBlock T
encrypt.o sumAD T
encrypt.o unpadBlock T

Number of similar (compiler,implementation) pairs: 17, namely:
CompilerImplementations
clang -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt1
clang -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt1
clang -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt1
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt1
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt1
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt1
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt1
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt1
gcc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt1
gcc -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt1
gcc -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt1
gcc -mcpu=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt1
gcc -mcpu=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt1
gcc -mcpu=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt1
gcc -mcpu=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt1
gcc -mcpu=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt1
gcc -mcpu=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt1

Namespace violations

Implementation: T:opt1
Security model: timingleaks
Compiler: clang -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.o FlexAEADv1_init T
encrypt.o FlexAEADv1_init T
encrypt.o decryptBlock T
encrypt.o decryptBlock T
encrypt.o dirMixQuartersLayer T
encrypt.o dirMixQuartersLayer T
encrypt.o dirPFK T
encrypt.o dirPFK T
encrypt.o dirSBox0 R
encrypt.o dirSBox0 R
encrypt.o dirSBox1 R
encrypt.o dirSBox1 R
encrypt.o dirSBox2 R
encrypt.o dirSBox2 R
encrypt.o dirSBox3 R
encrypt.o dirSBox3 R
encrypt.o dirSBoxLayer T
encrypt.o dirSBoxLayer T
encrypt.o dirShuffleLayer T
encrypt.o dirShuffleLayer T
encrypt.o encryptBlock T
encrypt.o encryptBlock T
encrypt.o invPFK T
encrypt.o invPFK T
encrypt.o invSBox0 R
encrypt.o invSBox0 R
encrypt.o invSBox1 R
encrypt.o invSBox1 R
encrypt.o invSBox2 R
encrypt.o invSBox2 R
encrypt.o invSBox3 R
encrypt.o invSBox3 R
encrypt.o invSBoxLayer T
encrypt.o invSBoxLayer T
encrypt.o invShuffleLayer T
encrypt.o invShuffleLayer T
encrypt.o memcpyopt T
encrypt.o memcpyopt T
encrypt.o mwc32 T
encrypt.o mwc32 T
encrypt.o padBlock T
encrypt.o padBlock T
encrypt.o sumAD T
encrypt.o sumAD T
encrypt.o unpadBlock T
encrypt.o unpadBlock T

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt1

Namespace violations

Implementation: T:ref
Security model: timingleaks
Compiler: clang -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.o FlexAEADv1_init T
encrypt.o decryptBlock T
encrypt.o dirMixQuartersLayer T
encrypt.o dirPFK T
encrypt.o dirSBox0 R
encrypt.o dirSBox1 R
encrypt.o dirSBox2 R
encrypt.o dirSBox3 R
encrypt.o dirSBoxLayer T
encrypt.o dirShuffleLayer T
encrypt.o encryptBlock T
encrypt.o invPFK T
encrypt.o invSBox0 R
encrypt.o invSBox1 R
encrypt.o invSBox2 R
encrypt.o invSBox3 R
encrypt.o invSBoxLayer T
encrypt.o invShuffleLayer T
encrypt.o mwc32 T
encrypt.o padBlock T
encrypt.o sumAD T
encrypt.o unpadBlock T

Number of similar (compiler,implementation) pairs: 17, namely:
CompilerImplementations
clang -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
gcc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -mcpu=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -mcpu=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -mcpu=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -mcpu=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -mcpu=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -mcpu=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref

Namespace violations

Implementation: T:ref
Security model: timingleaks
Compiler: clang -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.o FlexAEADv1_init T
encrypt.o FlexAEADv1_init T
encrypt.o decryptBlock T
encrypt.o decryptBlock T
encrypt.o dirMixQuartersLayer T
encrypt.o dirMixQuartersLayer T
encrypt.o dirPFK T
encrypt.o dirPFK T
encrypt.o dirSBox0 R
encrypt.o dirSBox0 R
encrypt.o dirSBox1 R
encrypt.o dirSBox1 R
encrypt.o dirSBox2 R
encrypt.o dirSBox2 R
encrypt.o dirSBox3 R
encrypt.o dirSBox3 R
encrypt.o dirSBoxLayer T
encrypt.o dirSBoxLayer T
encrypt.o dirShuffleLayer T
encrypt.o dirShuffleLayer T
encrypt.o encryptBlock T
encrypt.o encryptBlock T
encrypt.o invPFK T
encrypt.o invPFK T
encrypt.o invSBox0 R
encrypt.o invSBox0 R
encrypt.o invSBox1 R
encrypt.o invSBox1 R
encrypt.o invSBox2 R
encrypt.o invSBox2 R
encrypt.o invSBox3 R
encrypt.o invSBox3 R
encrypt.o invSBoxLayer T
encrypt.o invSBoxLayer T
encrypt.o invShuffleLayer T
encrypt.o invShuffleLayer T
encrypt.o mwc32 T
encrypt.o mwc32 T
encrypt.o padBlock T
encrypt.o padBlock T
encrypt.o sumAD T
encrypt.o sumAD T
encrypt.o unpadBlock T
encrypt.o unpadBlock T

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref