Implementation notes: amd64, saber214, crypto_aead/flexaead256b128v12

Computer: saber214
Microarchitecture: amd64; Bulldozer (600f20)
Architecture: amd64
CPU ID: AuthenticAMD-00600f20-1789c3f5
SUPERCOP version: 20240625
Operation: crypto_aead
Primitive: flexaead256b128v12
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
36591611595 0 026358 776 928T:opt1gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
37290012467 0 025988 816 856T:opt1clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
37337310485 0 024917 768 928T:opt1gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
3888787778 0 020953 752 896T:opt1gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
39303914991 0 029700 816 856T:opt1clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
39503115007 0 032108 816 872T:opt1clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
40861722587 0 038540 816 856T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
41007416791 0 032756 816 856T:opt1clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
42914115108 0 029780 816 856T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
43037512118 0 025628 816 856T:refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
43618215204 0 032268 816 872T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
44229416973 0 031932 792 928T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
53354014161 0 027158 808 856T:opt1clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
55045115344 0 030052 792 928T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
6461606382 0 019735 768 896T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
67472411592 0 024542 808 856T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-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)