Implementation notes: amd64, alder, crypto_aead/aesjambuv1

Computer: alder
Microarchitecture: amd64; Golden Cove (90675-00)
Architecture: amd64
CPU ID: GenuineIntel-00090675-00-bfebfbff
SUPERCOP version: 20240716
Operation: crypto_aead
Primitive: aesjambuv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
279664356 0 018223 772 1080T:aesnigcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
280004459 0 020216 812 1048T:aesniclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
280104475 0 020376 812 1048T:aesniclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
280254417 0 017718 804 1016T:aesniclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
283173945 0 018152 780 1080T:aesnigcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
283423993 0 020192 780 1080T:aesnigcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
351862971 0 015651 756 1048T:aesnigcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
357384066 0 017838 804 1016T:aesniclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
1134545225 5120 023731 5884 1048T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
1135255446 5120 026016 5908 1080T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
1136695542 5120 028120 5908 1080T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
1211795988 5120 026047 5900 1080T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
1214895191 5120 027192 5940 1016T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
1301846303 5120 026030 5932 1016T:refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
1357595397 5120 027432 5940 1048T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
1364955397 5120 027288 5940 1048T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
1393855189 5120 024590 5932 1016T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716

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: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: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: 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: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:343:16: warning: unused variable 'check' [-Wunused-variable]
encrypt.c:         unsigned char check = 0;
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: 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: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: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 -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: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 -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)

Namespace violations


encrypt.o aes128_keyexpand T

Number of similar (implementation,compiler) pairs: 8, namely:
ImplementationCompiler
T:aesniclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:aesniclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:aesniclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:aesniclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
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)

Namespace violations


aes.o AESEncrypt T
aes.o AESKeySteup T
aes.o TE0 D
aes.o TE1 D
aes.o TE2 D
aes.o TE3 D
aes.o TE4 D

Number of similar (implementation,compiler) pairs: 9, 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)
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)