Implementation notes: amd64, icelake2, crypto_aead/aegis128

Computer: icelake2
Architecture: amd64
CPU ID: GenuineIntel-000706e5-bfebfbff
SUPERCOP version: 20221005
Operation: crypto_aead
Primitive: aegis128
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
25393610 0 020290 772 1088T:aesniclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
25473610 0 020218 772 1056T:aesniclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
25772285 0 016388 764 1088T:aesniclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
26054292 0 020026 764 1088T:aesnigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
26463335 0 017258 764 1088T:aesnigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
26573112 0 016585 756 1088T:aesnigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
26952560 0 015866 772 1024T:aesniclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
424114932 4096 020410 4868 1024T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
424563678 4096 020362 4868 1056T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
428693594 4096 017740 4860 1088T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
429135094 4096 021850 4868 1088T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
441735207 4096 020890 4876 1088T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
442614749 4096 018137 4868 1088T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
444685201 4096 019066 4876 1088T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
455904023 4096 017410 4868 1024T:refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506

Compiler output

Implementation: T:aesni
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.c: encrypt.c:34:25: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'aegis128_initialization' that is compiled without support for 'aes'
encrypt.c: state[4] = _mm_aesenc_si128(state[3], state[4]);
encrypt.c: ^
encrypt.c: encrypt.c:35:25: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'aegis128_initialization' that is compiled without support for 'aes'
encrypt.c: state[3] = _mm_aesenc_si128(state[2], state[3]);
encrypt.c: ^
encrypt.c: encrypt.c:36:25: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'aegis128_initialization' that is compiled without support for 'aes'
encrypt.c: state[2] = _mm_aesenc_si128(state[1], state[2]);
encrypt.c: ^
encrypt.c: encrypt.c:37:25: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'aegis128_initialization' that is compiled without support for 'aes'
encrypt.c: state[1] = _mm_aesenc_si128(state[0], state[1]);
encrypt.c: ^
encrypt.c: encrypt.c:38:25: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'aegis128_initialization' that is compiled without support for 'aes'
encrypt.c: state[0] = _mm_aesenc_si128(tmp, state[0]);
encrypt.c: ^
encrypt.c: 5 errors generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:aesni

Compiler output

Implementation: T:aesni
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_aead_aegis128.a(encrypt.o): in function `crypto_aead_aegis128_aesni_timingleaks_encrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis128_enc_aut_step'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `aegis128_enc_aut_step'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `aegis128_enc_aut_step'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `aegis128_enc_aut_step'
try.c: /usr/bin/ld: libcrypto_aead_aegis128.a(encrypt.o): in function `crypto_aead_aegis128_aesni_timingleaks_decrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis128_enc_aut_step'
try.c: /usr/bin/ld: libcrypto_aead_aegis128.a(encrypt.o):encrypt.c:(.text+0x...): more undefined references to `aegis128_enc_aut_step' follow
try.c: /usr/bin/ld: libcrypto_aead_aegis128.a(encrypt.o): in function `crypto_aead_aegis128_aesni_timingleaks_decrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis128_dec_aut_step'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `aegis128_dec_aut_step'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:aesni

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_aead_aegis128.a(encrypt.o): in function `crypto_aead_aegis128_ref_timingleaks_encrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis128_enc_aut_step'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `aegis128_enc_aut_step'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `aegis128_enc_aut_step'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `aegis128_enc_aut_step'
try.c: /usr/bin/ld: libcrypto_aead_aegis128.a(encrypt.o): in function `crypto_aead_aegis128_ref_timingleaks_decrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis128_enc_aut_step'
try.c: /usr/bin/ld: libcrypto_aead_aegis128.a(encrypt.o):encrypt.c:(.text+0x...): more undefined references to `aegis128_enc_aut_step' follow
try.c: /usr/bin/ld: libcrypto_aead_aegis128.a(encrypt.o): in function `crypto_aead_aegis128_ref_timingleaks_decrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis128_dec_aut_step'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `aegis128_dec_aut_step'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref