Implementation notes: amd64, cherry, crypto_aead/deoxysi128v141

Computer: cherry
Microarchitecture: amd64; Silvermont (406c4)
Architecture: amd64
CPU ID: GenuineIntel-000406c4-bfebfbff
SUPERCOP version: 20240425
Operation: crypto_aead
Primitive: deoxysi128v141
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
5937131674 0 046088 812 1016T:aesniclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042720240425
5939631706 0 047768 812 1016T:aesniclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042720240425
5985230548 0 043542 804 1016T:aesniclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042720240425
6169130726 0 044294 804 1016T:aesniclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042720240425
6700026150 0 039019 756 1048T:aesnigcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
6707833493 0 049104 780 1080T:aesnigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
6724732045 0 046528 780 1080T:aesnigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
6924831711 0 045816 780 1080T:aesnigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
83940145853 0 0159294 804 1016T:aesnisclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042720240425
84576146461 0 0159326 804 1016T:aesnisclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042720240425
84966146392 0 0160992 812 1016T:aesnisclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042720240425
85241146392 0 0162640 812 1016T:aesnisclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042720240425
102669143978 0 0158136 780 1080T:aesnisgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
119128127525 0 0140395 756 1048T:aesnisgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
120964146628 0 0161152 780 1080T:aesnisgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
121029146683 0 0162352 780 1080T:aesnisgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
190190100776 0 547116208 812 1592T:bitsliceclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042720240425
190274100776 0 547114560 812 1592T:bitsliceclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042720240425
197303123063 0 592138712 780 1688T:bitslicegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
20703589685 0 592102555 756 1656T:bitslicegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
217234101394 0 592115944 780 1688T:bitslicegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
22142698380 0 547111414 804 1592T:bitsliceclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042720240425
23422999153 0 547111206 804 1592T:bitsliceclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042720240425
242051164063 0 592178224 780 1688T:bitslicegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
24255934042 0 54747478 804 1592T:tableclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042720240425
25164932789 0 59245707 756 1656T:tablegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
25424936804 0 59252488 780 1688T:tablegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
25738235335 0 59249880 780 1688T:tablegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
26187734332 0 59248528 780 1688T:tablegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
30679136438 0 54751592 812 1592T:tableclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042720240425
31175136454 0 54753256 812 1592T:tableclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042720240425
32082835004 0 54751336 812 1592T:tableclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042720240425
34671533331 0 54747390 804 1592T:tableclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042720240425
134776926111 0 041288 812 1016T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042720240425
197751628955 0 044624 780 1080T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
200400528159 0 045000 812 1016T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042720240425
208119026664 0 043032 812 1016T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042720240425
319285325343 0 039888 780 1080T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
400268924047 0 037502 804 1016T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042720240425
412454922364 0 035283 756 1048T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
419617923810 0 037992 780 1080T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
466071622788 0 036854 804 1016T:refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042720240425

Compiler output

Implementation: T:aesni
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
deoxys.c: deoxys.c:98:13: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'deoxys_aead_encrypt' that is compiled without support for 'ssse3'
deoxys.c: tmp = permute( tmp, H_PERMUTATION );
deoxys.c: ^
deoxys.c: ./tweakable-cipher.macros:7:22: note: expanded from macro 'permute'
deoxys.c: #define permute(a,b) _mm_shuffle_epi8(a,b)
deoxys.c: ^
deoxys.c: deoxys.c:105:5: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'deoxys_aead_encrypt' that is compiled without support for 'ssse3'
deoxys.c: TWEAKEY_SCHEDULE2( tsubkeys,subkeys, key);
deoxys.c: ^
deoxys.c: ./tweakable-cipher.macros:39:3: note: expanded from macro 'TWEAKEY_SCHEDULE2'
deoxys.c: ONE_KEY_ROUND( subkeys[ 0], subkeys[ 1] ); ts[ 1] = xor( subkeys[ 1], RCONS[ 1] ); \
deoxys.c: ^
deoxys.c: ./tweakable-cipher.macros:35:13: note: expanded from macro 'ONE_KEY_ROUND'
deoxys.c: new_key = permute( new_key, H_PERMUTATION);
deoxys.c: ^
deoxys.c: ./tweakable-cipher.macros:7:22: note: expanded from macro 'permute'
deoxys.c: #define permute(a,b) _mm_shuffle_epi8(a,b)
deoxys.c: ^
deoxys.c: deoxys.c:105:5: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'deoxys_aead_encrypt' that is compiled without support for 'ssse3'
deoxys.c: ./tweakable-cipher.macros:40:3: note: expanded from macro 'TWEAKEY_SCHEDULE2'
deoxys.c: ONE_KEY_ROUND( subkeys[ 1], subkeys[ 2] ); ts[ 2] = xor( subkeys[ 2], RCONS[ 2] ); \
deoxys.c: ^
deoxys.c: ./tweakable-cipher.macros:35:13: note: expanded from macro 'ONE_KEY_ROUND'
deoxys.c: new_key = permute( new_key, H_PERMUTATION);
deoxys.c: ^
deoxys.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:aesni

Compiler output

Implementation: T:aesnis
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
deoxys.c: deoxys.c:81:5: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'deoxys_aead_encrypt' that is compiled without support for 'ssse3'
deoxys.c: TWEAKEY_SCHEDULE2(subkeys, key, tmp, tmp1);
deoxys.c: ^
deoxys.c: ./tweakable-cipher.macros:33:3: note: expanded from macro 'TWEAKEY_SCHEDULE2'
deoxys.c: ONE_KEY_ROUND( tmp1, tmp2 ); subkeys[ 1] = xor( tmp2, RCONST( 1) ); \
deoxys.c: ^
deoxys.c: ./tweakable-cipher.macros:27:13: note: expanded from macro 'ONE_KEY_ROUND'
deoxys.c: new_key = permute( new_key, H_PERMUTATION);
deoxys.c: ^
deoxys.c: ./tweakable-cipher.macros:7:22: note: expanded from macro 'permute'
deoxys.c: #define permute(a,b) _mm_shuffle_epi8(a,b)
deoxys.c: ^
deoxys.c: deoxys.c:81:5: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'deoxys_aead_encrypt' that is compiled without support for 'ssse3'
deoxys.c: ./tweakable-cipher.macros:34:3: note: expanded from macro 'TWEAKEY_SCHEDULE2'
deoxys.c: ONE_KEY_ROUND( tmp2, tmp1 ); subkeys[ 2] = xor( tmp1, RCONST( 2) ); \
deoxys.c: ^
deoxys.c: ./tweakable-cipher.macros:27:13: note: expanded from macro 'ONE_KEY_ROUND'
deoxys.c: new_key = permute( new_key, H_PERMUTATION);
deoxys.c: ^
deoxys.c: ./tweakable-cipher.macros:7:22: note: expanded from macro 'permute'
deoxys.c: #define permute(a,b) _mm_shuffle_epi8(a,b)
deoxys.c: ^
deoxys.c: deoxys.c:81:5: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'deoxys_aead_encrypt' that is compiled without support for 'ssse3'
deoxys.c: ./tweakable-cipher.macros:35:3: note: expanded from macro 'TWEAKEY_SCHEDULE2'
deoxys.c: ONE_KEY_ROUND( tmp1, tmp2 ); subkeys[ 3] = xor( tmp2, RCONST( 3) ); \
deoxys.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:aesnis

Compiler output

Implementation: T:bitslice
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
deoxys_8.c: deoxys_8.c:178:5: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'deoxys_aead_encrypt_8' that is compiled without support for 'ssse3'
deoxys_8.c: KEY_SCHEDULE(key, subkey);
deoxys_8.c: ^
deoxys_8.c: ./deoxys.macros:76:5: note: expanded from macro 'KEY_SCHEDULE'
deoxys_8.c: packing(subkey[0]);\
deoxys_8.c: ^
deoxys_8.c: ./deoxys.macros:401:14: note: expanded from macro 'packing'
deoxys_8.c: (x)[0] = shuffle_pack((x)[0]);\
deoxys_8.c: ^
deoxys_8.c: ./deoxys.macros:32:25: note: expanded from macro 'shuffle_pack'
deoxys_8.c: #define shuffle_pack(a) permute(a, SET8(15,11,7,3,14,10,6,2,13,9,5,1,12,8,4,0) )
deoxys_8.c: ^
deoxys_8.c: ./deoxys.macros:31:25: note: expanded from macro 'permute'
deoxys_8.c: #define permute(a,b) _mm_shuffle_epi8(a,b)
deoxys_8.c: ^
deoxys_8.c: deoxys_8.c:178:5: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'deoxys_aead_encrypt_8' that is compiled without support for 'ssse3'
deoxys_8.c: ./deoxys.macros:76:5: note: expanded from macro 'KEY_SCHEDULE'
deoxys_8.c: packing(subkey[0]);\
deoxys_8.c: ^
deoxys_8.c: ./deoxys.macros:402:14: note: expanded from macro 'packing'
deoxys_8.c: (x)[1] = shuffle_pack((x)[1]);\
deoxys_8.c: ^
deoxys_8.c: ./deoxys.macros:32:25: note: expanded from macro 'shuffle_pack'
deoxys_8.c: #define shuffle_pack(a) permute(a, SET8(15,11,7,3,14,10,6,2,13,9,5,1,12,8,4,0) )
deoxys_8.c: ^
deoxys_8.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:bitslice