Implementation notes: amd64, renoir, crypto_aead/lacv1

Computer: renoir
Microarchitecture: amd64; Zen 2 (860f01)
Architecture: amd64
CPU ID: AuthenticAMD-00860f01-178bfbff
SUPERCOP version: 20240716
Operation: crypto_aead
Primitive: lacv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
7126586003 16 022329 812 1080T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
14627958344 16 024781 844 1016T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
15518177190 16 023341 844 1048T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
15519567136 16 023165 844 1048T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
19444893931 16 017883 836 1016T:refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
20607664933 16 019569 812 1080T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
20628783425 16 017099 836 1016T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
21682514773 16 018984 804 1080T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
37967573458 16 016468 788 1048T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716

Compiler output


encrypt.c: In function 'padding',
encrypt.c:     inlined from 'crypto_aead_lacv1_ref_timingleaks_encrypt' at encrypt.c:426:3:
encrypt.c: encrypt.c:25:22: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
encrypt.c:    25 |    xpad[xpadlen - 5] = ((xlen * 8) >> 32) & 0xff;
encrypt.c:       |    ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c: In function 'crypto_aead_lacv1_ref_timingleaks_encrypt':
encrypt.c: encrypt.c:425:27: note: at offset -5 to an object with size 0 allocated by 'malloc' here
encrypt.c:   425 |   mpad = (unsigned char *)malloc(mpadlen); //the array to store padded message(mpad bytes)
encrypt.c:       |                           ^~~~~~~~~~~~~~~
encrypt.c: In function 'padding',
encrypt.c:     inlined from 'crypto_aead_lacv1_ref_timingleaks_encrypt' at encrypt.c:426:3:
encrypt.c: encrypt.c:26:22: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
encrypt.c:    26 |    xpad[xpadlen - 4] = ((xlen * 8) >> 24) & 0xff;
encrypt.c:       |    ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c: In function 'crypto_aead_lacv1_ref_timingleaks_encrypt':
encrypt.c: encrypt.c:425:27: note: at offset -4 to an object with size 0 allocated by 'malloc' here
encrypt.c:   425 |   mpad = (unsigned char *)malloc(mpadlen); //the array to store padded message(mpad bytes)
encrypt.c:       |                           ^~~~~~~~~~~~~~~
encrypt.c: In function 'padding',
encrypt.c:     inlined from 'crypto_aead_lacv1_ref_timingleaks_encrypt' at encrypt.c:426:3:
encrypt.c: encrypt.c:27:22: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
encrypt.c:    27 |    xpad[xpadlen - 3] = ((xlen * 8) >> 16) & 0xff;
encrypt.c:       |    ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c: In function 'crypto_aead_lacv1_ref_timingleaks_encrypt':
encrypt.c: encrypt.c:425:27: note: at offset -3 to an object with size 0 allocated by 'malloc' here
encrypt.c: ...

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

Compiler output


encrypt.c: encrypt.c: In function 'crypto_aead_lacv1_ref_timingleaks_decrypt':
encrypt.c: encrypt.c:619:29: warning: 'mpad' may be used uninitialized in this function [-Wmaybe-uninitialized]
encrypt.c:   619 |     datastate[j + 2] ^= mpad[i + j];
encrypt.c:       |                             ^

Number of similar (implementation,compiler) pairs: 2, namely:
ImplementationCompiler
T:refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

Namespace violations


encrypt.o E T
encrypt.o G T
encrypt.o Gleak T
encrypt.o KS T
encrypt.o S D
encrypt.o key_sched_LBlocks T
encrypt.o padding T

Number of similar (implementation,compiler) pairs: 9, namely:
ImplementationCompiler
T:refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)