Implementation notes: amd64, renoir, crypto_aead/romulust

Computer: renoir
Microarchitecture: amd64; Zen 2 (860f01)
Architecture: amd64
CPU ID: AuthenticAMD-00860f01-178bfbff
SUPERCOP version: 20240625
Operation: crypto_aead
Primitive: romulust
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
46711912827 0 028384 812 1048aadomn/x86clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
47409613043 0 028736 812 1048aadomn/x86clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
47864411835 0 025342 804 1016aadomn/x86clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
50538614377 0 030608 780 1080aadomn/x86gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
50856712655 0 027208 780 1080aadomn/x86gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
52745111994 0 024971 756 1048aadomn/x86gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
53323911267 0 024470 804 1016aadomn/x86clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
59180312544 0 026687 772 1080aadomn/x86gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
198686626264 640 042048 1460 1048T!!!aadomn/opt32clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
199895726184 640 042104 1460 1048T!!!aadomn/opt32clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
201282227290 640 043248 1460 1016T!!!aadomn/opt32clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
280992317114 640 030734 1452 1016aadomn/opt32clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
297885419221 640 033254 1452 1016T!!!aadomn/opt32clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
325099319064 640 033424 1428 1080T!!!aadomn/opt32gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
325649518406 640 031499 1404 1048T!!!aadomn/opt32gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
336225420668 640 035368 1428 1080T!!!aadomn/opt32gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
343888531089 640 047480 1428 1080T!!!aadomn/opt32gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
353240913013 12 029352 792 1080T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
38370799559 12 025744 824 1048T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
390135810217 12 026280 824 1048T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
41936349393 12 025880 824 1016T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
105453785287 12 018942 816 1016T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
106146565419 12 019398 816 1016T:refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
129180986645 12 021304 792 1080T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
136025335598 12 019799 784 1080T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
138634324920 12 017955 768 1048T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625

Compiler output


skinny128.c: skinny128.c:95:12: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'skinny128_384_plus' that is compiled without support for 'ssse3'
skinny128.c:     tk_1 = _mm_shuffle_epi8(tk_1, _mm_set_epi32(0x03040602, 0x05000701, 0x0b0c0e0a, 0x0d080f09));
skinny128.c:            ^
skinny128.c: skinny128.c:97:12: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'skinny128_384_plus' that is compiled without support for 'ssse3'
skinny128.c:     tk_1 = _mm_shuffle_epi8(tk_1, perm_tk);
skinny128.c:            ^
skinny128.c: skinny128.c:99:12: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'skinny128_384_plus' that is compiled without support for 'ssse3'
skinny128.c:     tk_1 = _mm_shuffle_epi8(tk_1, perm_tk);
skinny128.c:            ^
skinny128.c: skinny128.c:101:12: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'skinny128_384_plus' that is compiled without support for 'ssse3'
skinny128.c:     tk_1 = _mm_shuffle_epi8(tk_1, perm_tk);
skinny128.c:            ^
skinny128.c: skinny128.c:103:12: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'skinny128_384_plus' that is compiled without support for 'ssse3'
skinny128.c:     tk_1 = _mm_shuffle_epi8(tk_1, perm_tk);
skinny128.c:            ^
skinny128.c: skinny128.c:105:12: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'skinny128_384_plus' that is compiled without support for 'ssse3'
skinny128.c:     tk_1 = _mm_shuffle_epi8(tk_1, perm_tk);
skinny128.c:            ^
skinny128.c: skinny128.c:107:12: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'skinny128_384_plus' that is compiled without support for 'ssse3'
skinny128.c:     tk_1 = _mm_shuffle_epi8(tk_1, perm_tk);
skinny128.c:            ^
skinny128.c: skinny128.c:109:12: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'skinny128_384_plus' that is compiled without support for 'ssse3'
skinny128.c:     tk_1 = _mm_shuffle_epi8(tk_1, perm_tk);
skinny128.c:            ^
skinny128.c: skinny128.c:113:5: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'skinny128_384_plus' that is compiled without support for 'ssse3'
skinny128.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
aadomn/x86clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


romulus_t_reference.c: romulus_t_reference.c: In function 'romulus_t_encrypt':
romulus_t_reference.c: romulus_t_reference.c:368:16: warning: variable 'i' set but not used [-Wunused-but-set-variable]
romulus_t_reference.c:   368 |   unsigned int i;
romulus_t_reference.c:       |                ^
romulus_t_reference.c: romulus_t_reference.c: In function 'romulus_t_decrypt':
romulus_t_reference.c: romulus_t_reference.c:411:24: warning: variable 'C' set but not used [-Wunused-but-set-variable]
romulus_t_reference.c:   411 |   const unsigned char* C;
romulus_t_reference.c:       |                        ^

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
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)

Failed TIMECOP


Conditional jump or move depends on uninitialised value(s)
   at 0x...: crypto_aead_romulust_aadomn_opt32_constbranchindex_decrypt (encrypt.c:52)
   by 0x...: test (try.c:300)
   by 0x...: main (try-anything.c:345)
 Uninitialised value was created by a client request
   at 0x...: poison (try-anything.c:281)
   by 0x...: test (try.c:298)
   by 0x...: main (try-anything.c:345)

Conditional jump or move depends on uninitialised value(s)
   at 0x...: crypto_aead_romulust_aadomn_opt32_constbranchindex_decrypt (encrypt.c:52)
   by 0x...: test (try.c:331)
   by 0x...: main (try-anything.c:345)
 Uninitialised value was created by a client request
   at 0x...: poison (try-anything.c:281)
   by 0x...: test (try.c:329)
   by 0x...: main (try-anything.c:345)

Number of similar (implementation,compiler) pairs: 2, namely:
ImplementationCompiler
aadomn/opt32clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
aadomn/opt32clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Failed TIMECOP


Conditional jump or move depends on uninitialised value(s)
   at 0x...: crypto_aead_romulust_aadomn_opt32_constbranchindex_decrypt (encrypt.c:52)
   by 0x...: test (try.c:300)
   by 0x...: main (try-anything.c:345)
 Uninitialised value was created by a client request
   at 0x...: poison (try-anything.c:281)
   by 0x...: test (try.c:299)
   by 0x...: main (try-anything.c:345)

Conditional jump or move depends on uninitialised value(s)
   at 0x...: crypto_aead_romulust_aadomn_opt32_constbranchindex_decrypt (encrypt.c:52)
   by 0x...: test (try.c:331)
   by 0x...: main (try-anything.c:345)
 Uninitialised value was created by a client request
   at 0x...: poison (try-anything.c:281)
   by 0x...: test (try.c:330)
   by 0x...: main (try-anything.c:345)

Number of similar (implementation,compiler) pairs: 6, namely:
ImplementationCompiler
aadomn/opt32clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
aadomn/opt32clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
aadomn/opt32gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
aadomn/opt32gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
aadomn/opt32gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
aadomn/opt32gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

TIMECOP error (can be valgrind bug)


Conditional jump or move depends on uninitialised value(s)
   at 0x...: crypto_aead_romulust_aadomn_opt32_constbranchindex_decrypt (encrypt.c:52)
   by 0x...: test (try.c:300)
   by 0x...: main (try-anything.c:345)

Conditional jump or move depends on uninitialised value(s)
   at 0x...: crypto_aead_romulust_aadomn_opt32_constbranchindex_decrypt (encrypt.c:52)
   by 0x...: test (try.c:331)
   by 0x...: main (try-anything.c:345)

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
aadomn/opt32clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

TIMECOP error (can be valgrind bug)


Process terminating with default action of signal 4 (SIGILL)
 Illegal opcode at address 0x404265
   at 0x...: skinny128_384_plus (skinny128.c:113)
   by 0x...: romulust_kdf (romulus_t.c:239)
   by 0x...: crypto_aead_romulust_aadomn_x86_constbranchindex_encrypt (encrypt.c:26)
   by 0x...: test (try.c:159)
   by 0x...: main (try-anything.c:345)

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
aadomn/x86clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

TIMECOP error (can be valgrind bug)


Process terminating with default action of signal 4 (SIGILL)
 Illegal opcode at address 0x404295
   at 0x...: skinny128_384_plus (skinny128.c:113)
   by 0x...: romulust_kdf (romulus_t.c:239)
   by 0x...: crypto_aead_romulust_aadomn_x86_constbranchindex_encrypt (encrypt.c:26)
   by 0x...: test (try.c:159)
   by 0x...: main (try-anything.c:345)

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
aadomn/x86clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

TIMECOP error (can be valgrind bug)


Process terminating with default action of signal 4 (SIGILL)
 Illegal opcode at address 0x40377C
   at 0x...: skinny128_384_plus (skinny128.c:113)
   by 0x...: romulust_kdf (romulus_t.c:239)
   by 0x...: crypto_aead_romulust_aadomn_x86_constbranchindex_encrypt (encrypt.c:26)
   by 0x...: test (try.c:159)
   by 0x...: main (try-anything.c:345)

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
aadomn/x86clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

TIMECOP error (can be valgrind bug)


Process terminating with default action of signal 4 (SIGILL)
 Illegal opcode at address 0x403559
   at 0x...: skinny128_384_plus (skinny128.c:113)
   by 0x...: romulust_kdf (romulus_t.c:239)
   by 0x...: crypto_aead_romulust_aadomn_x86_constbranchindex_encrypt (encrypt.c:26)
   by 0x...: test (try.c:159)
   by 0x...: main (try-anything.c:345)

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
aadomn/x86clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

TIMECOP error (can be valgrind bug)


Conditional jump or move depends on uninitialised value(s)
   at 0x...: crypto_aead_romulust_aadomn_x86_constbranchindex_decrypt (encrypt.c:52)
   by 0x...: test (try.c:300)
   by 0x...: main (try-anything.c:345)

Conditional jump or move depends on uninitialised value(s)
   at 0x...: crypto_aead_romulust_aadomn_x86_constbranchindex_decrypt (encrypt.c:52)
   by 0x...: test (try.c:331)
   by 0x...: main (try-anything.c:345)

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
aadomn/x86gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
aadomn/x86gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
aadomn/x86gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
aadomn/x86gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)