Implementation notes: amd64, titan0, crypto_aead/aesjambuv1

Computer: titan0
Microarchitecture: amd64; Haswell+AES (306c3)
Architecture: amd64
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_aead
Primitive: aesjambuv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
577903912 0 021544 860 1056T:aesniclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
578084483 0 018280 860 1024T:aesniclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
578564772 0 019651 804 1088T:aesnigcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
580063928 0 021840 860 1056T:aesniclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
580964750 0 020004 812 1088T:aesnigcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
580964814 0 022100 812 1088T:aesnigcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
581793891 0 018410 852 1088T:aesniclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
675473181 0 016839 788 1056T:aesnigcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
1423965806 5120 027396 5940 1088T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
1435605628 5120 025063 5916 1056T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
1460225966 5120 029604 5940 1088T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
1486785905 5120 026923 5932 1088T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
1560485182 5120 024928 5988 1024T:refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
1564105228 5120 027544 5988 1024T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
1578715140 5120 025682 5980 1088T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
1586605260 5120 029224 5988 1056T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
1586755260 5120 028944 5988 1056T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625

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: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: 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: 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 (Ubuntu_Clang_14.0.0)

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: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 -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

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: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 (Ubuntu_Clang_14.0.0)

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: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: 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: 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 (Ubuntu_Clang_14.0.0)

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: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-14/lib/clang/14.0.0/include/__wmmintrin_aes.h:136:13: 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-14/lib/clang/14.0.0/include/__wmmintrin_aes.h:136:13: 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 (Ubuntu_Clang_14.0.0)

Compiler output


encrypt.c: encrypt.c: In function 'crypto_aead_aesjambuv1_aesni_timingleaks_encrypt':
encrypt.c: encrypt.c:267:48: warning: unused variable 'partialblockciphertext' [-Wunused-variable]
encrypt.c:   267 |         unsigned char partialblockplaintext[8],partialblockciphertext[8];
encrypt.c:       |                                                ^~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:267:23: warning: unused variable 'partialblockplaintext' [-Wunused-variable]
encrypt.c:   267 |         unsigned char partialblockplaintext[8],partialblockciphertext[8];
encrypt.c:       |                       ^~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:266:25: 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:23: warning: unused variable 'check' [-Wunused-variable]
encrypt.c:   343 |         unsigned char check = 0;
encrypt.c:       |                       ^~~~~
encrypt.c: encrypt.c:342:23: warning: unused variable 'tag' [-Wunused-variable]
encrypt.c:   342 |         unsigned char tag[8];
encrypt.c:       |                       ^~~
encrypt.c: encrypt.c:341:49: warning: unused variable 'partialblockciphertext' [-Wunused-variable]
encrypt.c:   341 |         unsigned char partialblockplaintext[16],partialblockciphertext[16];
encrypt.c:       |                                                 ^~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:341:23: warning: unused variable 'partialblockplaintext' [-Wunused-variable]
encrypt.c:   341 |         unsigned char partialblockplaintext[16],partialblockciphertext[16];
encrypt.c:       |                       ^~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:340:25: 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 (11.4.0)
T:aesnigcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:aesnigcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:aesnigcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

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 (Ubuntu_Clang_14.0.0)
T:refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


encrypt.c: encrypt.c: In function 'crypto_aead_aesjambuv1_ref_timingleaks_decrypt':
encrypt.c: encrypt.c:267:17: 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 (11.4.0)
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)