Implementation notes: aarch64, pi4b, crypto_aead/flexaead256b128v12

Computer: pi4b
Microarchitecture: aarch64; Cortex-A72 (410fd083)
Architecture: aarch64
CPU ID: 410fd083
SUPERCOP version: 20240808
Operation: crypto_aead
Primitive: flexaead256b128v12
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
24182210352 0 022872 816 848T:opt1gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
24605113276 0 027758 840 856T:opt1clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
2511367476 0 019008 800 840T:opt1gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
2554169816 0 022415 808 848T:opt1gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
38831433816 0 047542 832 864T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
38896115956 0 028622 832 848T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
39260414940 0 027758 832 848T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
48288316312 0 030774 840 856T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
5249006724 0 018414 816 840T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808

Compiler output


encrypt.c: In function 'memcpyopt',
encrypt.c:     inlined from 'dirMixQuartersLayer' at encrypt.c:954:2,
encrypt.c:     inlined from 'dirPFK' at encrypt.c:1423:3,
encrypt.c:     inlined from 'FlexAEADv1_init' at encrypt.c:674:3:
encrypt.c: encrypt.c:697:42: warning: 'keystate' may be used uninitialized [-Wmaybe-uninitialized]
encrypt.c:   697 |             *((crypto_uint64 *) (a+i)) = *((crypto_uint64 *) (b+i));
encrypt.c:       |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c: In function 'FlexAEADv1_init':
encrypt.c: encrypt.c:629:23: note: 'keystate' declared here
encrypt.c:   629 |         unsigned char keystate[KEYSIZE];
encrypt.c:       |                       ^~~~~~~~
encrypt.c: In function 'memcpyopt',
encrypt.c:     inlined from 'dirMixQuartersLayer' at encrypt.c:954:2,
encrypt.c:     inlined from 'dirPFK' at encrypt.c:1423:3,
encrypt.c:     inlined from 'FlexAEADv1_init' at encrypt.c:674:3:
encrypt.c: encrypt.c:707:42: warning: 'keystate' may be used uninitialized [-Wmaybe-uninitialized]
encrypt.c:   707 |             *((crypto_uint16 *) (a+i)) = *((crypto_uint16 *) (b+i));
encrypt.c:       |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c: In function 'FlexAEADv1_init':
encrypt.c: encrypt.c:629:23: note: 'keystate' declared here
encrypt.c:   629 |         unsigned char keystate[KEYSIZE];
encrypt.c:       |                       ^~~~~~~~
encrypt.c: In function 'memcpyopt',
encrypt.c:     inlined from 'dirMixQuartersLayer' at encrypt.c:954:2,
encrypt.c:     inlined from 'dirPFK' at encrypt.c:1423:3,
encrypt.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:opt1gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Compiler output


encrypt.c: encrypt.c:777:2: warning: misleading indentation; statement is not part of the previous 'for' [-Wmisleading-indentation]
encrypt.c:         dirPFK( block, (*self).nBytes, ((*self).subkeys + SUBKEY0),  (*self).nRounds, (*self).state );
encrypt.c:         ^
encrypt.c: encrypt.c:774:5: note: previous statement is here
encrypt.c:     for( unsigned i = 0; i<(*self).nBytes; i+=8)
encrypt.c:     ^
encrypt.c: encrypt.c:799:2: warning: misleading indentation; statement is not part of the previous 'for' [-Wmisleading-indentation]
encrypt.c:         invPFK( block, (*self).nBytes, ((*self).subkeys + SUBKEY1),  (*self).nRounds, (*self).state );
encrypt.c:         ^
encrypt.c: encrypt.c:796:5: note: previous statement is here
encrypt.c:     for( unsigned i = 0; i<(*self).nBytes; i+=8)
encrypt.c:     ^
encrypt.c: 2 warnings generated.

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Namespace violations


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 (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:opt1clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:opt1gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:opt1gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:opt1gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Namespace violations


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 (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)