Implementation notes: amd64, alder, crypto_aead/deoxysi256v141

Computer: alder
Microarchitecture: amd64; Golden Cove (90675-00)
Architecture: amd64
CPU ID: GenuineIntel-00090675-00-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_aead
Primitive: deoxysi256v141
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
574232973 0 049360 780 1080T:aesnigcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
576833367 0 048584 812 1048T:aesniclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
584833447 0 048824 812 1048T:aesniclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
586231899 0 046312 780 1080T:aesnigcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
591829332 0 042203 756 1048T:aesnigcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
592131559 0 045696 780 1080T:aesnigcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
597732031 0 045254 804 1016T:aesniclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
601532342 0 045790 804 1016T:aesniclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
6649136391 0 0152000 812 1048T:aesnisclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
6653136391 0 0151856 812 1048T:aesnisclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
6683136356 0 0149366 804 1016T:aesnisclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
6687136461 0 0149798 804 1016T:aesnisclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
8479124664 0 0137531 756 1048T:aesnisgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
8936134848 0 0151296 780 1080T:aesnisgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
9081134887 0 0149336 780 1080T:aesnisgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
9616130941 0 0145104 780 1080T:aesnisgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
66434101993 0 547117136 812 1592T:bitsliceclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
66496101993 0 547116992 812 1592T:bitsliceclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
68124118785 0 592135224 780 1688T:bitslicegcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
73641102042 0 547114630 804 1592T:bitsliceclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
73765103986 0 592118432 780 1688T:bitslicegcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
74751162528 0 592176696 780 1688T:bitslicegcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
75535103007 0 547115982 804 1592T:bitsliceclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
8431599210 0 592112091 756 1656T:bitslicegcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
11139235054 0 54751360 812 1592T:tableclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
11219734822 0 54751032 812 1592T:tableclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
11245934790 0 54750856 812 1592T:tableclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
11464134170 0 54747774 804 1592T:tableclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
12338535465 0 59249936 780 1688T:tablegcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
12942532890 0 59245803 756 1656T:tablegcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
13200936890 0 59253352 780 1688T:tablegcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
13284534390 0 59248600 780 1688T:tablegcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
13633133379 0 54747382 804 1592T:tableclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
47139124329 0 040424 812 1048T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
62226826714 0 043056 812 1016T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
65549426393 0 042648 812 1048T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
67801128915 0 045392 780 1080T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
136582825309 0 039800 780 1080T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
192320124175 0 037798 804 1016T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
247068722448 0 035363 756 1048T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
248239723828 0 038048 780 1080T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
257889522852 0 036862 804 1016T:refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625

Compiler output


deoxys.c: deoxys.c:105:11: 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:112: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_SCHEDULE3( tsubkeys1,tsubkeys2,subkeys, key);
deoxys.c:     ^
deoxys.c: ./tweakable-cipher.macros:40:3: note: expanded from macro 'TWEAKEY_SCHEDULE3'
deoxys.c:   ONE_KEY_ROUND( subkeys1[ 0], subkeys1[ 1], subkeys2[ 0], subkeys2[ 1] );      ts[ 1] = xor( xor(subkeys1[ 1],subkeys2[ 1]), RCONS[ 1] ); \
deoxys.c:   ^
deoxys.c: ./tweakable-cipher.macros:33:16: note: expanded from macro 'ONE_KEY_ROUND'
deoxys.c:     new_key1 = permute( new_key1, 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:112: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_SCHEDULE3'
deoxys.c:   ONE_KEY_ROUND( subkeys1[ 0], subkeys1[ 1], subkeys2[ 0], subkeys2[ 1] );      ts[ 1] = xor( xor(subkeys1[ 1],subkeys2[ 1]), RCONS[ 1] ); \
deoxys.c:   ^
deoxys.c: ./tweakable-cipher.macros:34:16: note: expanded from macro 'ONE_KEY_ROUND'
deoxys.c:     new_key2 = permute( new_key2, H_PERMUTATION);
deoxys.c:                ^
deoxys.c: ...

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

Compiler output


deoxys.c: deoxys.c:355:20: warning: variable 'Checksum' is uninitialized when used here [-Wuninitialized]
deoxys.c:     Checksum = xor(Checksum, Checksum);
deoxys.c:                    ^~~~~~~~
deoxys.c: ./tweakable-cipher.macros:5:32: note: expanded from macro 'xor'
deoxys.c: #define xor(a,b) _mm_xor_si128(a,b)
deoxys.c:                                ^
deoxys.c: deoxys.c:82:5: note: variable 'Checksum' is declared here
deoxys.c:     __m128i Checksum;
deoxys.c:     ^
deoxys.c: deoxys.c:99:16: warning: variable 'Auth' is uninitialized when used here [-Wuninitialized]
deoxys.c:     Auth = xor(Auth, Auth);
deoxys.c:                ^~~~
deoxys.c: ./tweakable-cipher.macros:5:32: note: expanded from macro 'xor'
deoxys.c: #define xor(a,b) _mm_xor_si128(a,b)
deoxys.c:                                ^
deoxys.c: deoxys.c:81:5: note: variable 'Auth' is declared here
deoxys.c:     __m128i Auth;
deoxys.c:     ^
deoxys.c: deoxys.c:100:17: warning: variable 'Tweak' is uninitialized when used here [-Wuninitialized]
deoxys.c:     Tweak = xor(Tweak, Tweak);
deoxys.c:                 ^~~~~
deoxys.c: ./tweakable-cipher.macros:5:32: note: expanded from macro 'xor'
deoxys.c: #define xor(a,b) _mm_xor_si128(a,b)
deoxys.c:                                ^
deoxys.c: deoxys.c:79:5: note: variable 'Tweak' is declared here
deoxys.c: ...

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

Compiler output


deoxys.c: In file included from deoxys.c:30:
deoxys.c: deoxys.c: In function 'deoxys_aead_encrypt':
deoxys.c: tweakable-cipher.macros:5:18: warning: 'Auth' is used uninitialized in this function [-Wuninitialized]
deoxys.c:     5 | #define xor(a,b) _mm_xor_si128(a,b)
deoxys.c:       |                  ^~~~~~~~~~~~~
deoxys.c: deoxys.c:81:13: note: 'Auth' was declared here
deoxys.c:    81 |     __m128i Auth;
deoxys.c:       |             ^~~~
deoxys.c: In file included from deoxys.c:30:
deoxys.c: tweakable-cipher.macros:5:18: warning: 'Tweak' is used uninitialized in this function [-Wuninitialized]
deoxys.c:     5 | #define xor(a,b) _mm_xor_si128(a,b)
deoxys.c:       |                  ^~~~~~~~~~~~~
deoxys.c: deoxys.c:79:13: note: 'Tweak' was declared here
deoxys.c:    79 |     __m128i Tweak;
deoxys.c:       |             ^~~~~
deoxys.c: In file included from deoxys.c:30:
deoxys.c: tweakable-cipher.macros:5:18: warning: 'Checksum' is used uninitialized in this function [-Wuninitialized]
deoxys.c:     5 | #define xor(a,b) _mm_xor_si128(a,b)
deoxys.c:       |                  ^~~~~~~~~~~~~
deoxys.c: deoxys.c:82:13: note: 'Checksum' was declared here
deoxys.c:    82 |     __m128i Checksum;
deoxys.c:       |             ^~~~~~~~
deoxys.c: In file included from deoxys.c:30:
deoxys.c: deoxys.c: In function 'deoxys_aead_decrypt':
deoxys.c: tweakable-cipher.macros:5:18: warning: 'Auth' is used uninitialized in this function [-Wuninitialized]
deoxys.c: ...

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

Compiler output


deoxys256.c: deoxys256.c:249:18: warning: variable 'CHECKSUM' is uninitialized when used here [-Wuninitialized]
deoxys256.c:     CHECKSUM=XOR(CHECKSUM,CHECKSUM);
deoxys256.c:                  ^~~~~~~~
deoxys256.c: ./deoxysi256.macros:38:39: note: expanded from macro 'XOR'
deoxys256.c: #define XOR(a,b)        _mm_xor_si128(a,b)
deoxys256.c:                                       ^
deoxys256.c: deoxys256.c:159:5: note: variable 'CHECKSUM' is declared here
deoxys256.c:     __m128i CHECKSUM;
deoxys256.c:     ^
deoxys256.c: deoxys256.c:175:14: warning: variable 'AUTH' is uninitialized when used here [-Wuninitialized]
deoxys256.c:     AUTH=XOR(AUTH,AUTH);
deoxys256.c:              ^~~~
deoxys256.c: ./deoxysi256.macros:38:39: note: expanded from macro 'XOR'
deoxys256.c: #define XOR(a,b)        _mm_xor_si128(a,b)
deoxys256.c:                                       ^
deoxys256.c: deoxys256.c:158:5: note: variable 'AUTH' is declared here
deoxys256.c:     __m128i AUTH;
deoxys256.c:     ^
deoxys256.c: deoxys256.c:461:18: warning: variable 'CHECKSUM' is uninitialized when used here [-Wuninitialized]
deoxys256.c:     CHECKSUM=XOR(CHECKSUM,CHECKSUM);
deoxys256.c:                  ^~~~~~~~
deoxys256.c: ./deoxysi256.macros:38:39: note: expanded from macro 'XOR'
deoxys256.c: #define XOR(a,b)        _mm_xor_si128(a,b)
deoxys256.c:                                       ^
deoxys256.c: deoxys256.c:367:5: note: variable 'CHECKSUM' is declared here
deoxys256.c: ...

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

Compiler output


deoxys256.c: deoxys256.c:249:18: warning: variable 'CHECKSUM' is uninitialized when used here [-Wuninitialized]
deoxys256.c:     CHECKSUM=XOR(CHECKSUM,CHECKSUM);
deoxys256.c:                  ^~~~~~~~
deoxys256.c: ./deoxysi256.macros:38:39: note: expanded from macro 'XOR'
deoxys256.c: #define XOR(a,b)        _mm_xor_si128(a,b)
deoxys256.c:                                       ^
deoxys256.c: deoxys256.c:159:5: note: variable 'CHECKSUM' is declared here
deoxys256.c:     __m128i CHECKSUM;
deoxys256.c:     ^
deoxys256.c: deoxys256.c:175:14: warning: variable 'AUTH' is uninitialized when used here [-Wuninitialized]
deoxys256.c:     AUTH=XOR(AUTH,AUTH);
deoxys256.c:              ^~~~
deoxys256.c: ./deoxysi256.macros:38:39: note: expanded from macro 'XOR'
deoxys256.c: #define XOR(a,b)        _mm_xor_si128(a,b)
deoxys256.c:                                       ^
deoxys256.c: deoxys256.c:158:5: note: variable 'AUTH' is declared here
deoxys256.c:     __m128i AUTH;
deoxys256.c:     ^
deoxys256.c: deoxys256.c:179: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'
deoxys256.c:     KEY_SCHEDULE(key, subkey);
deoxys256.c:     ^
deoxys256.c: ./deoxysi256.macros:79:5: note: expanded from macro 'KEY_SCHEDULE'
deoxys256.c:     packing(subkey1[0]);\
deoxys256.c:     ^
deoxys256.c: ./deoxysi256.macros:457:14: note: expanded from macro 'packing'
deoxys256.c: ...

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