Implementation notes: amd64, dali, crypto_aead/aesjambuv1

Computer: dali
Microarchitecture: amd64; Zen (820f01)
Architecture: amd64
CPU ID: AuthenticAMD-00820f01-178bfbff
SUPERCOP version: 20240625
Operation: crypto_aead
Primitive: aesjambuv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
344274459 0 020424 812 1048T:aesniclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
344284443 0 020280 812 1048T:aesniclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
344454407 0 017878 804 1016T:aesniclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
348874325 0 018439 772 1080T:aesnigcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
349274065 0 019600 780 1080T:aesnigcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
354524001 0 018544 780 1080T:aesnigcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
467692969 0 015923 756 1048T:aesnigcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
481094066 0 017990 804 1016T:aesniclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
1308825227 5120 024011 5884 1048T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
1356716123 5120 026423 5900 1080T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
1372205839 5120 027912 5908 1080T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
1425885775 5120 026840 5908 1080T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
1465225178 5120 024702 5932 1016T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
1465956019 5120 025822 5932 1016T:refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
1508135191 5120 027456 5940 1016T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
1520175129 5120 027024 5940 1048T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
1522535129 5120 027152 5940 1048T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625

Compiler output


encrypt.c: encrypt.c:266:18: warning: unused variable 'j' [-Wunused-variable]
encrypt.c:         unsigned long i,j;
encrypt.c:                         ^
encrypt.c: encrypt.c:267:41: warning: unused variable 'partialblockciphertext' [-Wunused-variable]
encrypt.c:         unsigned char partialblockplaintext[8],partialblockciphertext[8];
encrypt.c:                                                ^
encrypt.c: encrypt.c:267:16: warning: unused variable 'partialblockplaintext' [-Wunused-variable]
encrypt.c:         unsigned char partialblockplaintext[8],partialblockciphertext[8];
encrypt.c:                       ^
encrypt.c: encrypt.c:341:42: warning: unused variable 'partialblockciphertext' [-Wunused-variable]
encrypt.c:         unsigned char partialblockplaintext[16],partialblockciphertext[16];
encrypt.c:                                                 ^
encrypt.c: encrypt.c:340:18: warning: unused variable 'j' [-Wunused-variable]
encrypt.c:         unsigned long i,j;
encrypt.c:                         ^
encrypt.c: encrypt.c:343:16: warning: unused variable 'check' [-Wunused-variable]
encrypt.c:         unsigned char check = 0;
encrypt.c:                       ^
encrypt.c: encrypt.c:342:16: warning: unused variable 'tag' [-Wunused-variable]
encrypt.c:         unsigned char tag[8];
encrypt.c:                       ^
encrypt.c: encrypt.c:341:16: warning: unused variable 'partialblockplaintext' [-Wunused-variable]
encrypt.c:         unsigned char partialblockplaintext[16],partialblockciphertext[16];
encrypt.c:                       ^
encrypt.c: 8 warnings generated.

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

Compiler output


encrypt.c: encrypt.c:267:16: warning: unused variable 'partialblockplaintext' [-Wunused-variable]
encrypt.c:         unsigned char partialblockplaintext[8],partialblockciphertext[8];
encrypt.c:                       ^
encrypt.c: encrypt.c:267:41: warning: unused variable 'partialblockciphertext' [-Wunused-variable]
encrypt.c:         unsigned char partialblockplaintext[8],partialblockciphertext[8];
encrypt.c:                                                ^
encrypt.c: encrypt.c:266:18: warning: unused variable 'j' [-Wunused-variable]
encrypt.c:         unsigned long i,j;
encrypt.c:                         ^
encrypt.c: encrypt.c:340:18: warning: unused variable 'j' [-Wunused-variable]
encrypt.c:         unsigned long i,j;
encrypt.c:                         ^
encrypt.c: encrypt.c:342:16: warning: unused variable 'tag' [-Wunused-variable]
encrypt.c:         unsigned char tag[8];
encrypt.c:                       ^
encrypt.c: encrypt.c:341:16: warning: unused variable 'partialblockplaintext' [-Wunused-variable]
encrypt.c:         unsigned char partialblockplaintext[16],partialblockciphertext[16];
encrypt.c:                       ^
encrypt.c: encrypt.c:343:16: warning: unused variable 'check' [-Wunused-variable]
encrypt.c:         unsigned char check = 0;
encrypt.c:                       ^
encrypt.c: encrypt.c:341:42: warning: unused variable 'partialblockciphertext' [-Wunused-variable]
encrypt.c:         unsigned char partialblockplaintext[16],partialblockciphertext[16];
encrypt.c:                                                 ^
encrypt.c: 8 warnings generated.

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

Compiler output


encrypt.c: encrypt.c:267:41: warning: unused variable 'partialblockciphertext' [-Wunused-variable]
encrypt.c:         unsigned char partialblockplaintext[8],partialblockciphertext[8];
encrypt.c:                                                ^
encrypt.c: encrypt.c:266:18: warning: unused variable 'j' [-Wunused-variable]
encrypt.c:         unsigned long i,j;
encrypt.c:                         ^
encrypt.c: encrypt.c:267:16: warning: unused variable 'partialblockplaintext' [-Wunused-variable]
encrypt.c:         unsigned char partialblockplaintext[8],partialblockciphertext[8];
encrypt.c:                       ^
encrypt.c: encrypt.c:341:16: warning: unused variable 'partialblockplaintext' [-Wunused-variable]
encrypt.c:         unsigned char partialblockplaintext[16],partialblockciphertext[16];
encrypt.c:                       ^
encrypt.c: encrypt.c:341:42: warning: unused variable 'partialblockciphertext' [-Wunused-variable]
encrypt.c:         unsigned char partialblockplaintext[16],partialblockciphertext[16];
encrypt.c:                                                 ^
encrypt.c: encrypt.c:340:18: warning: unused variable 'j' [-Wunused-variable]
encrypt.c:         unsigned long i,j;
encrypt.c:                         ^
encrypt.c: encrypt.c:342:16: warning: unused variable 'tag' [-Wunused-variable]
encrypt.c:         unsigned char tag[8];
encrypt.c:                       ^
encrypt.c: encrypt.c:343:16: warning: unused variable 'check' [-Wunused-variable]
encrypt.c:         unsigned char check = 0;
encrypt.c:                       ^
encrypt.c: 8 warnings generated.

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

Compiler output


encrypt.c: encrypt.c:267:16: warning: unused variable 'partialblockplaintext' [-Wunused-variable]
encrypt.c:         unsigned char partialblockplaintext[8],partialblockciphertext[8];
encrypt.c:                       ^
encrypt.c: encrypt.c:266:18: warning: unused variable 'j' [-Wunused-variable]
encrypt.c:         unsigned long i,j;
encrypt.c:                         ^
encrypt.c: encrypt.c:267:41: warning: unused variable 'partialblockciphertext' [-Wunused-variable]
encrypt.c:         unsigned char partialblockplaintext[8],partialblockciphertext[8];
encrypt.c:                                                ^
encrypt.c: encrypt.c:340:18: warning: unused variable 'j' [-Wunused-variable]
encrypt.c:         unsigned long i,j;
encrypt.c:                         ^
encrypt.c: encrypt.c:341:42: warning: unused variable 'partialblockciphertext' [-Wunused-variable]
encrypt.c:         unsigned char partialblockplaintext[16],partialblockciphertext[16];
encrypt.c:                                                 ^
encrypt.c: encrypt.c:341:16: warning: unused variable 'partialblockplaintext' [-Wunused-variable]
encrypt.c:         unsigned char partialblockplaintext[16],partialblockciphertext[16];
encrypt.c:                       ^
encrypt.c: encrypt.c:342:16: warning: unused variable 'tag' [-Wunused-variable]
encrypt.c:         unsigned char tag[8];
encrypt.c:                       ^
encrypt.c: encrypt.c:343:16: warning: unused variable 'check' [-Wunused-variable]
encrypt.c:         unsigned char check = 0;
encrypt.c:                       ^
encrypt.c: 8 warnings generated.

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

Compiler output


encrypt.c: encrypt.c:266:18: warning: unused variable 'j' [-Wunused-variable]
encrypt.c:         unsigned long i,j;
encrypt.c:                         ^
encrypt.c: encrypt.c:267:41: warning: unused variable 'partialblockciphertext' [-Wunused-variable]
encrypt.c:         unsigned char partialblockplaintext[8],partialblockciphertext[8];
encrypt.c:                                                ^
encrypt.c: encrypt.c:267:16: warning: unused variable 'partialblockplaintext' [-Wunused-variable]
encrypt.c:         unsigned char partialblockplaintext[8],partialblockciphertext[8];
encrypt.c:                       ^
encrypt.c: encrypt.c:277:9: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
encrypt.c:         K[1] = KEYEXP(K[0], 0x01);
encrypt.c:                ^
encrypt.c: encrypt.c:19:42: note: expanded from macro 'KEYEXP'
encrypt.c: #define KEYEXP(K, I) aes128_keyexpand(K, _mm_aeskeygenassist_si128(K, I))
encrypt.c:                                          ^
encrypt.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/__wmmintrin_aes.h:136:12: note: expanded from macro '_mm_aeskeygenassist_si128'
encrypt.c:   (__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R))
encrypt.c:            ^
encrypt.c: encrypt.c:278:9: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
encrypt.c:         K[2] = KEYEXP(K[1], 0x02);
encrypt.c:                ^
encrypt.c: encrypt.c:19:42: note: expanded from macro 'KEYEXP'
encrypt.c: #define KEYEXP(K, I) aes128_keyexpand(K, _mm_aeskeygenassist_si128(K, I))
encrypt.c:                                          ^
encrypt.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/__wmmintrin_aes.h:136:12: note: expanded from macro '_mm_aeskeygenassist_si128'
encrypt.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


encrypt.c: encrypt.c: In function 'crypto_aead_aesjambuv1_aesni_timingleaks_encrypt':
encrypt.c: encrypt.c:267:41: warning: unused variable 'partialblockciphertext' [-Wunused-variable]
encrypt.c:   267 |  unsigned char partialblockplaintext[8],partialblockciphertext[8];
encrypt.c:       |                                         ^~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:267:16: warning: unused variable 'partialblockplaintext' [-Wunused-variable]
encrypt.c:   267 |  unsigned char partialblockplaintext[8],partialblockciphertext[8];
encrypt.c:       |                ^~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:266:18: warning: unused variable 'j' [-Wunused-variable]
encrypt.c:   266 |  unsigned long i,j;
encrypt.c:       |                  ^
encrypt.c: encrypt.c: In function 'crypto_aead_aesjambuv1_aesni_timingleaks_decrypt':
encrypt.c: encrypt.c:343:16: warning: unused variable 'check' [-Wunused-variable]
encrypt.c:   343 |  unsigned char check = 0;
encrypt.c:       |                ^~~~~
encrypt.c: encrypt.c:342:16: warning: unused variable 'tag' [-Wunused-variable]
encrypt.c:   342 |  unsigned char tag[8];
encrypt.c:       |                ^~~
encrypt.c: encrypt.c:341:42: warning: unused variable 'partialblockciphertext' [-Wunused-variable]
encrypt.c:   341 |  unsigned char partialblockplaintext[16],partialblockciphertext[16];
encrypt.c:       |                                          ^~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:341:16: warning: unused variable 'partialblockplaintext' [-Wunused-variable]
encrypt.c:   341 |  unsigned char partialblockplaintext[16],partialblockciphertext[16];
encrypt.c:       |                ^~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:340:18: warning: unused variable 'j' [-Wunused-variable]
encrypt.c:   340 |  unsigned long i,j;
encrypt.c: ...

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

Compiler output


encrypt.c: encrypt.c:267:11: warning: unused variable 'check' [-Wunused-variable]
encrypt.c:         uint8_t check = 0;
encrypt.c:                 ^
encrypt.c: 1 warning generated.

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

Compiler output


encrypt.c: encrypt.c: In function 'crypto_aead_aesjambuv1_ref_timingleaks_decrypt':
encrypt.c: encrypt.c:267:11: warning: unused variable 'check' [-Wunused-variable]
encrypt.c:   267 |   uint8_t check = 0;
encrypt.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)