Implementation notes: amd64, renoir, crypto_aead/aesjambuv1

Computer: renoir
Microarchitecture: amd64; Zen 2 (860f01)
Architecture: amd64
CPU ID: AuthenticAMD-00860f01-178bfbff
SUPERCOP version: 20240625
Operation: crypto_aead
Primitive: aesjambuv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
343084443 0 020280 812 1048T:aesniclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
344244459 0 020424 812 1048T:aesniclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
344304407 0 017878 804 1016T:aesniclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
347934065 0 020272 780 1080T:aesnigcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
348094325 0 018439 772 1080T:aesnigcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
348134001 0 018528 780 1080T:aesnigcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
467392969 0 015923 756 1048T:aesnigcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
479604066 0 017990 804 1016T:aesniclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
1308145227 5120 024011 5884 1048T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
1345936123 5120 026423 5900 1080T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
1351125839 5120 028584 5908 1080T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
1354865775 5120 026824 5908 1080T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
1361156019 5120 025822 5932 1016T:refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
1365645191 5120 027456 5940 1016T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
1411015129 5120 027152 5940 1048T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
1412535129 5120 027024 5940 1048T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
1466905178 5120 024702 5932 1016T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625

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:341:42: warning: unused variable 'partialblockciphertext' [-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: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: 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: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:267:41: warning: unused variable 'partialblockciphertext' [-Wunused-variable]
encrypt.c:         unsigned char partialblockplaintext[8],partialblockciphertext[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: 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: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: 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:342:16: warning: unused variable 'tag' [-Wunused-variable]
encrypt.c:         unsigned char tag[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: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: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: 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: 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: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: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)