Implementation notes: amd64, rome0, crypto_aead/aes256otrcv3

Computer: rome0
Microarchitecture: amd64; Zen 2 (830f10)
Architecture: amd64
CPU ID: AuthenticAMD-00830f10-178bfbff
SUPERCOP version: 20240716
Operation: crypto_aead
Primitive: aes256otrcv3
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
560717133 0 24030846 820 1272T:ni_p8m2clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062520240625
564116899 0 24030606 820 1272T:ni_p7m2clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062520240625
564820667 0 24036864 828 1272T:ni_p8m2clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062520240625
565020171 0 24036368 828 1272T:ni_p7m2clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062520240625
565220699 0 24036768 828 1272T:ni_p8m2clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062520240625
566020139 0 24036208 828 1272T:ni_p7m2clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062520240625
613217468 0 24031743 788 1336T:ni_p7m2gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062520240625
617119034 0 24033728 796 1336T:ni_p7m2gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062520240625
625517531 0 24031807 788 1336T:ni_p7m1gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062520240625
630324610 0 24040976 796 1336T:ni_p8m2gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062520240625
632223986 0 24040352 796 1336T:ni_p7m2gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062520240625
637019130 0 24033824 796 1336T:ni_p7m1gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062520240625
650224858 0 24041224 796 1336T:ni_p8m1gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062520240625
664324098 0 24040464 796 1336T:ni_p7m1gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062520240625
859220210 0 24034912 796 1336T:ni_p8m2gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062520240625
877320258 0 24034960 796 1336T:ni_p8m1gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062520240625
1097319016 0 24033303 788 1336T:ni_p8m2gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062520240625
1099519121 0 24033415 788 1336T:ni_p8m1gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062520240625
1264514856 0 24028035 772 1304T:ni_p8m2gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062520240625
1268616099 0 24030142 820 1272T:ni_p8m2clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062520240625
1281014949 0 24028131 772 1304T:ni_p8m1gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062520240625
1316115763 0 24029806 820 1272T:ni_p7m2clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062520240625
1337514558 0 24027747 772 1304T:ni_p7m2gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062520240625
1366814636 0 24027827 772 1304T:ni_p7m1gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062520240625
1057787660 4400 24023880 5236 1272T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062520240625
1057957476 4400 24023568 5236 1272T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062520240625
1072204114 4400 24018190 5228 1272T:refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062520240625
1075525644 4392 24020312 5196 1336T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062520240625
1102504471 4400 24018182 5228 1272T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062520240625
1109634802 4392 24019087 5188 1336T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062520240625
1128728748 4400 24025256 5236 1272T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062520240625
11354813580 4392 24029936 5196 1336T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062520240625
1362953912 4392 24017027 5172 1304T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062520240625

Compiler output


encrypt.c: encrypt.c:233:96: warning: implicit conversion from 'int' to 'char' changes value from 255 to -1 [-Wconstant-conversion]
encrypt.c:         const block sh1 = _mm_set_epi8(255, 255, 255, 255, 255, 255, 15, 14, 255, 255, 255, 255, 255, 255, 7, 6);
encrypt.c:                           ~~~~~~~~~~~~                                                                ^~~
encrypt.c: encrypt.c:233:91: warning: implicit conversion from 'int' to 'char' changes value from 255 to -1 [-Wconstant-conversion]
encrypt.c:         const block sh1 = _mm_set_epi8(255, 255, 255, 255, 255, 255, 15, 14, 255, 255, 255, 255, 255, 255, 7, 6);
encrypt.c:                           ~~~~~~~~~~~~                                                           ^~~
encrypt.c: encrypt.c:233:86: warning: implicit conversion from 'int' to 'char' changes value from 255 to -1 [-Wconstant-conversion]
encrypt.c:         const block sh1 = _mm_set_epi8(255, 255, 255, 255, 255, 255, 15, 14, 255, 255, 255, 255, 255, 255, 7, 6);
encrypt.c:                           ~~~~~~~~~~~~                                                      ^~~
encrypt.c: encrypt.c:233:81: warning: implicit conversion from 'int' to 'char' changes value from 255 to -1 [-Wconstant-conversion]
encrypt.c:         const block sh1 = _mm_set_epi8(255, 255, 255, 255, 255, 255, 15, 14, 255, 255, 255, 255, 255, 255, 7, 6);
encrypt.c:                           ~~~~~~~~~~~~                                                 ^~~
encrypt.c: encrypt.c:233:76: warning: implicit conversion from 'int' to 'char' changes value from 255 to -1 [-Wconstant-conversion]
encrypt.c:         const block sh1 = _mm_set_epi8(255, 255, 255, 255, 255, 255, 15, 14, 255, 255, 255, 255, 255, 255, 7, 6);
encrypt.c:                           ~~~~~~~~~~~~                                            ^~~
encrypt.c: encrypt.c:233:71: warning: implicit conversion from 'int' to 'char' changes value from 255 to -1 [-Wconstant-conversion]
encrypt.c:         const block sh1 = _mm_set_epi8(255, 255, 255, 255, 255, 255, 15, 14, 255, 255, 255, 255, 255, 255, 7, 6);
encrypt.c:                           ~~~~~~~~~~~~                                       ^~~
encrypt.c: encrypt.c:233:58: warning: implicit conversion from 'int' to 'char' changes value from 255 to -1 [-Wconstant-conversion]
encrypt.c:         const block sh1 = _mm_set_epi8(255, 255, 255, 255, 255, 255, 15, 14, 255, 255, 255, 255, 255, 255, 7, 6);
encrypt.c:                           ~~~~~~~~~~~~                          ^~~
encrypt.c: encrypt.c:233:53: warning: implicit conversion from 'int' to 'char' changes value from 255 to -1 [-Wconstant-conversion]
encrypt.c:         const block sh1 = _mm_set_epi8(255, 255, 255, 255, 255, 255, 15, 14, 255, 255, 255, 255, 255, 255, 7, 6);
encrypt.c:                           ~~~~~~~~~~~~                     ^~~
encrypt.c: encrypt.c:233:48: warning: implicit conversion from 'int' to 'char' changes value from 255 to -1 [-Wconstant-conversion]
encrypt.c: ...

Number of similar (implementation,compiler) pairs: 10, namely:
ImplementationCompiler
T:ni_p7m1clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ni_p7m1clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ni_p7m1clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ni_p7m1clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ni_p7m1clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ni_p8m1clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ni_p8m1clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ni_p8m1clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ni_p8m1clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ni_p8m1clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


encrypt.c: encrypt.c: In function 'EFunc':
encrypt.c: encrypt.c:454:17: warning: unused variable 'tmp' [-Wunused-variable]
encrypt.c:   454 |  ALIGN(16)uint8 tmp[BLOCK] = { 0 };
encrypt.c:       |                 ^~~
encrypt.c: encrypt.c: In function 'DFunc':
encrypt.c: encrypt.c:652:17: warning: unused variable 'tmp' [-Wunused-variable]
encrypt.c:   652 |  ALIGN(16)uint8 tmp[BLOCK] = { 0 };
encrypt.c:       |                 ^~~
encrypt.c: At top level:
encrypt.c: encrypt.c:92:13: warning: 'AES_128_Key_Expansion' defined but not used [-Wunused-function]
encrypt.c:    92 | static void AES_128_Key_Expansion(
encrypt.c:       |             ^~~~~~~~~~~~~~~~~~~~~

Number of similar (implementation,compiler) pairs: 16, namely:
ImplementationCompiler
T:ni_p7m1gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:ni_p7m1gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:ni_p7m1gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:ni_p7m1gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:ni_p7m2gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:ni_p7m2gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:ni_p7m2gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:ni_p7m2gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:ni_p8m1gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:ni_p8m1gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:ni_p8m1gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:ni_p8m1gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:ni_p8m2gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:ni_p8m2gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:ni_p8m2gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:ni_p8m2gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

Compiler output


encrypt.c: encrypt.c:454:17: warning: unused variable 'tmp' [-Wunused-variable]
encrypt.c:         ALIGN(16)uint8 tmp[BLOCK] = { 0 };
encrypt.c:                        ^
encrypt.c: encrypt.c:652:17: warning: unused variable 'tmp' [-Wunused-variable]
encrypt.c:         ALIGN(16)uint8 tmp[BLOCK] = { 0 };
encrypt.c:                        ^
encrypt.c: encrypt.c:92:13: warning: unused function 'AES_128_Key_Expansion' [-Wunused-function]
encrypt.c: static void AES_128_Key_Expansion(
encrypt.c:             ^
encrypt.c: 3 warnings generated.

Number of similar (implementation,compiler) pairs: 8, namely:
ImplementationCompiler
T:ni_p7m2clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ni_p7m2clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ni_p7m2clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ni_p7m2clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ni_p8m2clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ni_p8m2clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ni_p8m2clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ni_p8m2clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


encrypt.c: encrypt.c:454:17: warning: unused variable 'tmp' [-Wunused-variable]
encrypt.c:         ALIGN(16)uint8 tmp[BLOCK] = { 0 };
encrypt.c:                        ^
encrypt.c: encrypt.c:652:17: warning: unused variable 'tmp' [-Wunused-variable]
encrypt.c:         ALIGN(16)uint8 tmp[BLOCK] = { 0 };
encrypt.c:                        ^
encrypt.c: encrypt.c:92:13: warning: unused function 'AES_128_Key_Expansion' [-Wunused-function]
encrypt.c: static void AES_128_Key_Expansion(
encrypt.c:             ^
encrypt.c: encrypt.c:121:8: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'AES_encrypt' that is compiled without support for 'aes'
encrypt.c:         tmp = _mm_aesenc_si128(tmp, key[1]);
encrypt.c:               ^
encrypt.c: encrypt.c:122:8: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'AES_encrypt' that is compiled without support for 'aes'
encrypt.c:         tmp = _mm_aesenc_si128(tmp, key[2]);
encrypt.c:               ^
encrypt.c: encrypt.c:123:8: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'AES_encrypt' that is compiled without support for 'aes'
encrypt.c:         tmp = _mm_aesenc_si128(tmp, key[3]);
encrypt.c:               ^
encrypt.c: encrypt.c:124:8: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'AES_encrypt' that is compiled without support for 'aes'
encrypt.c:         tmp = _mm_aesenc_si128(tmp, key[4]);
encrypt.c:               ^
encrypt.c: encrypt.c:125:8: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'AES_encrypt' that is compiled without support for 'aes'
encrypt.c:         tmp = _mm_aesenc_si128(tmp, key[5]);
encrypt.c:               ^
encrypt.c: encrypt.c:126:8: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'AES_encrypt' that is compiled without support for 'aes'
encrypt.c: ...

Number of similar (implementation,compiler) pairs: 2, namely:
ImplementationCompiler
T:ni_p7m2clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ni_p8m2clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)