Implementation notes: amd64, rumba7, crypto_aead/flexaead256b128v12

Computer: rumba7
Microarchitecture: amd64; Zen (800f11)
Architecture: amd64
CPU ID: AuthenticAMD-00800f11-178bfbff
SUPERCOP version: 20240625
Operation: crypto_aead
Primitive: flexaead256b128v12
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
26187110417 0 025388 796 1088T:opt1gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
26779511809 0 027397 804 1088T:opt1gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
27674012467 0 026483 844 1024T:opt1clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
2806477779 0 021496 780 1056T:opt1gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
28119516791 0 033235 844 1024T:opt1clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
29822015023 0 032027 844 1056T:opt1clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
30266615023 0 032403 844 1056T:opt1clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
31212715131 0 030363 820 1088T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
31663214063 0 028637 836 1088T:opt1clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
31703312118 0 026123 844 1024T:refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
31879017369 0 033163 820 1088T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
32690222587 0 039019 844 1024T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
34795516109 0 033323 844 1056T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
34801916013 0 032851 844 1056T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
34938011188 0 025709 836 1088T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
4365206382 0 020278 796 1056T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625

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

Compiler output


encrypt.c: In function 'dirShuffleLayer',
encrypt.c:     inlined from 'dirPFK' at encrypt.c:631:3,
encrypt.c:     inlined from 'sumAD.constprop' at encrypt.c:745:5:
encrypt.c: encrypt.c:585:34: 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: In function 'sumAD.constprop':
encrypt.c: encrypt.c:48:18: note: at offset 16 into destination object 'state' of size 16
encrypt.c:    48 |    unsigned char state[BLOCKSIZE];
encrypt.c:       |                  ^~~~~
encrypt.c: In function 'dirShuffleLayer',
encrypt.c:     inlined from 'dirPFK' at encrypt.c:631:3,
encrypt.c:     inlined from 'sumAD.constprop' at encrypt.c:745:5:
encrypt.c: encrypt.c:586:34: 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: In function 'sumAD.constprop':
encrypt.c: encrypt.c:48:18: note: at offset [17, 4294967281] into destination object 'state' of size 16
encrypt.c:    48 |    unsigned char state[BLOCKSIZE];
encrypt.c:       |                  ^~~~~
encrypt.c: In function 'dirShuffleLayer',
encrypt.c:     inlined from 'dirPFK' at encrypt.c:631:3,
encrypt.c:     inlined from 'sumAD.constprop' at encrypt.c:745:5:
encrypt.c: encrypt.c:585:34: 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: ...

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