Implementation notes: amd64, h6sandy, crypto_aead/flexaead256b128v12

Computer: h6sandy
Microarchitecture: amd64; Sandy Bridge (206a7)
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_aead
Primitive: flexaead256b128v12
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
28111711634 0 026981 804 1088T:opt1gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
28124710417 0 025412 796 1088T:opt1gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
2891497779 0 021464 780 1056T:opt1gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
29397012467 0 026531 844 1024T:opt1clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
30362019207 0 035051 844 1024T:opt1clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
30623419239 0 037027 844 1024T:opt1clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
30966916791 0 033219 844 1024T:opt1clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
31420414886 0 028421 836 1024T:opt1clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
34024216830 0 032379 820 1088T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
34693422587 0 039003 844 1024T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
34717024710 0 040523 844 1024T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
35110715072 0 030347 820 1088T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
35553312198 0 026251 844 1024T:refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
37610412238 0 025725 836 1024T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
38378924790 0 042547 844 1024T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
7759656382 0 020246 796 1056T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625

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)