Implementation notes: amd64, samba, crypto_aead/aes256otrpv3

Computer: samba
Microarchitecture: amd64; Skylake (506e3)
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_aead
Primitive: aes256otrpv3
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
655010496 0 24025093 836 1344T:ni_p7m2clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
655510616 0 24024403 844 1280T:ni_p7m2clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
657917590 0 24035068 812 1344T:ni_p7m2gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
667212142 0 24027492 812 1344T:ni_p7m2gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
671010847 0 24025445 836 1344T:ni_p8m2clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
673610984 0 24024771 844 1280T:ni_p8m2clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
678918470 0 24035948 812 1344T:ni_p8m2gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
679811606 0 24026531 804 1344T:ni_p7m2gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
692116450 0 24034347 844 1344T:ni_p8m2clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
692315778 0 24033379 844 1280T:ni_p7m2clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
692415810 0 24033707 844 1344T:ni_p7m2clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
693316418 0 24034019 844 1280T:ni_p8m2clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
738620446 0 24035796 812 1344T:ni_p7m1gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
738625862 0 24043340 812 1344T:ni_p7m1gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
744619865 0 24034787 804 1344T:ni_p7m1gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
745926662 0 24044140 812 1344T:ni_p8m1gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
803921278 0 24036636 812 1344T:ni_p8m1gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
921013006 0 24028364 812 1344T:ni_p8m2gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
1111912804 0 24027731 804 1344T:ni_p8m2gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
1145621050 0 24035971 804 1344T:ni_p8m1gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
120647832 0 24021623 788 1312T:ni_p7m2gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
1221016194 0 24029975 788 1312T:ni_p7m1gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
122238156 0 24021943 788 1312T:ni_p8m2gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
1240516530 0 24030311 788 1312T:ni_p8m1gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
11769221017 4392 33638452 5212 1440T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
12250216343 4400 32034019 5252 1408T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
12406416323 4400 32033691 5252 1376T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
12588116966 4400 32033347 5252 1344T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
1340016548 4392 32021332 5196 1440T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
1355787517 4392 32022812 5212 1440T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
1380716008 4400 32020741 5244 1408T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
1401107482 4400 32021403 5252 1344T:refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
1453415212 4392 32018776 5180 1408T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625

Compiler output


encrypt.c: encrypt.c:250: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:250: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:250: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:250: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:250: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:250: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:250: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:250: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:250: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 (Ubuntu_Clang_14.0.0)
T:ni_p7m1clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:ni_p7m1clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:ni_p7m1clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:ni_p7m1clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:ni_p8m1clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:ni_p8m1clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:ni_p8m1clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:ni_p8m1clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:ni_p8m1clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


encrypt.c: encrypt.c: In function 'EFunc':
encrypt.c: encrypt.c:471:24: warning: unused variable 'tmp' [-Wunused-variable]
encrypt.c:   471 |         ALIGN(16)uint8 tmp[BLOCK] = { 0 };
encrypt.c:       |                        ^~~
encrypt.c: encrypt.c: In function 'DFunc':
encrypt.c: encrypt.c:666:24: warning: unused variable 'tmp' [-Wunused-variable]
encrypt.c:   666 |         ALIGN(16)uint8 tmp[BLOCK] = { 0 };
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 (11.4.0)
T:ni_p7m1gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:ni_p7m1gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:ni_p7m1gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:ni_p7m2gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:ni_p7m2gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:ni_p7m2gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:ni_p7m2gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:ni_p8m1gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:ni_p8m1gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:ni_p8m1gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:ni_p8m1gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:ni_p8m2gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:ni_p8m2gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:ni_p8m2gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:ni_p8m2gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Compiler output


encrypt.c: encrypt.c:471:17: warning: unused variable 'tmp' [-Wunused-variable]
encrypt.c:         ALIGN(16)uint8 tmp[BLOCK] = { 0 };
encrypt.c:                        ^
encrypt.c: encrypt.c:666:17: warning: unused variable 'tmp' [-Wunused-variable]
encrypt.c:         ALIGN(16)uint8 tmp[BLOCK] = { 0 };
encrypt.c:                        ^
encrypt.c: encrypt.c:93:24: warning: unused function 'AES_128_Key_Expansion' [-Wunused-function]
encrypt.c: __inline__ 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 (Ubuntu_Clang_14.0.0)
T:ni_p7m2clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:ni_p7m2clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:ni_p7m2clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:ni_p8m2clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:ni_p8m2clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:ni_p8m2clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:ni_p8m2clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


encrypt.c: encrypt.c:471:17: warning: unused variable 'tmp' [-Wunused-variable]
encrypt.c:         ALIGN(16)uint8 tmp[BLOCK] = { 0 };
encrypt.c:                        ^
encrypt.c: encrypt.c:666:17: warning: unused variable 'tmp' [-Wunused-variable]
encrypt.c:         ALIGN(16)uint8 tmp[BLOCK] = { 0 };
encrypt.c:                        ^
encrypt.c: encrypt.c:93:24: warning: unused function 'AES_128_Key_Expansion' [-Wunused-function]
encrypt.c: __inline__ static void AES_128_Key_Expansion(
encrypt.c:                        ^
encrypt.c: encrypt.c:304:18: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'mul2_PIPE' that is compiled without support for 'ssse3'
encrypt.c:         __m128i intmp = le(dat[0]);
encrypt.c:                         ^
encrypt.c: encrypt.c:42:15: note: expanded from macro 'le'
encrypt.c: #define le(b) _mm_shuffle_epi8(b,_mm_set_epi8(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15)) /*Byte order conversion*/
encrypt.c:               ^
encrypt.c: encrypt.c:312:11: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'mul2_PIPE' that is compiled without support for 'ssse3'
encrypt.c:         dat[1] = le(intmp);
encrypt.c:                  ^
encrypt.c: encrypt.c:42:15: note: expanded from macro 'le'
encrypt.c: #define le(b) _mm_shuffle_epi8(b,_mm_set_epi8(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15)) /*Byte order conversion*/
encrypt.c:               ^
encrypt.c: encrypt.c:319:11: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'mul2_PIPE' that is compiled without support for 'ssse3'
encrypt.c:         dat[2] = le(intmp);
encrypt.c:                  ^
encrypt.c: encrypt.c:42:15: note: expanded from macro 'le'
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 (Ubuntu_Clang_14.0.0)
T:ni_p8m2clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)