Implementation notes: amd64, gemini, crypto_aead/trivia0v2

Computer: gemini
Microarchitecture: amd64; Goldmont Plus (706a8)
Architecture: amd64
CPU ID: GenuineIntel-000706a8-bfebfbff
SUPERCOP version: 20240107
Operation: crypto_aead
Primitive: trivia0v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1039676447 0 1222160 780 1112T:sse4gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121820231212
1157324425 0 1218936 780 1112T:sse4gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121820231212
1258104675 0 1218759 772 1112T:sse4gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121820231212
24251713310 0 1228560 812 1048T:sse4clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121820231212
26161414318 0 1231872 812 1048T:sse4clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121820231212
2716283615 0 1217062 804 1048T:sse4clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121820231212
3328115021 0 019592 780 1080T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121820231212
3341588833 0 024608 780 1080T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121820231212
3952967114 0 024736 812 1016T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121820231212
4005407623 0 023968 812 1016T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121820231212
4602076874 0 022192 812 1016T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121820231212
4866523882 0 017398 804 1016T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121820231212
5261514183 0 018343 772 1080T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121820231212
6478523945 0 018046 804 1016T:refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121820231212
11023843682 0 016667 756 1048T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121820231212

Compiler output

Implementation: T:sse4
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.c: encrypt.c:229:1: warning: '/*' within block comment [-Wcomment]
encrypt.c: /*----------------------------------------------------------------*/
encrypt.c: ^
encrypt.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sse4
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sse4
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sse4

Compiler output

Implementation: T:sse4
Security model: timingleaks
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.c: encrypt.c:229:1: warning: '/*' within block comment [-Wcomment]
encrypt.c: /*----------------------------------------------------------------*/
encrypt.c: ^
encrypt.c: 1 warning generated.
try.c: /usr/bin/ld: libcrypto_aead_trivia0v2.a(encrypt.o): in function `V_Horner_32':
try.c: encrypt.c:(.text+0x...): undefined reference to `Mult_by_alpha_power'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `Mult_by_alpha_power'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `Mult_by_alpha_power'
try.c: /usr/bin/ld: libcrypto_aead_trivia0v2.a(encrypt.o): in function `V_Horner_64':
try.c: encrypt.c:(.text+0x...): undefined reference to `Mult_by_beta_power'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `Mult_by_beta_power'
try.c: /usr/bin/ld: libcrypto_aead_trivia0v2.a(encrypt.o): in function `Initialize_process_AD_Reinitialize':
try.c: encrypt.c:(.text+0x...): undefined reference to `load64'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `pad'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `insert_SC'
try.c: /usr/bin/ld: libcrypto_aead_trivia0v2.a(encrypt.o): in function `crypto_aead_trivia0v2_sse4_timingleaks_encrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `load64'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `load64'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `load64'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `load64'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `pad'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `store32'
try.c: /usr/bin/ld: libcrypto_aead_trivia0v2.a(encrypt.o): in function `crypto_aead_trivia0v2_sse4_timingleaks_decrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `dec_load64'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `dec_load64'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `dec_load64'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `dec_load64'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `pad'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `dec_load32'
try.c: ...

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

Compiler output

Implementation: T:sse4
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.c: encrypt.c:229:1: warning: '/*' within block comment [-Wcomment]
encrypt.c: /*----------------------------------------------------------------*/
encrypt.c: ^
encrypt.c: encrypt.c:306:6: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
encrypt.c: x = _mm_clmulepi64_si128(x,y,0x0);
encrypt.c: ^
encrypt.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/__wmmintrin_pclmul.h:45:13: note: expanded from macro '_mm_clmulepi64_si128'
encrypt.c: ((__m128i)__builtin_ia32_pclmulqdq128((__v2di)(__m128i)(X), \
encrypt.c: ^
encrypt.c: encrypt.c:313:6: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
encrypt.c: x = _mm_clmulepi64_si128(x,y,0x0);
encrypt.c: ^
encrypt.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/__wmmintrin_pclmul.h:45:13: note: expanded from macro '_mm_clmulepi64_si128'
encrypt.c: ((__m128i)__builtin_ia32_pclmulqdq128((__v2di)(__m128i)(X), \
encrypt.c: ^
encrypt.c: encrypt.c:319:6: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
encrypt.c: x = _mm_clmulepi64_si128(x,y,0x0);
encrypt.c: ^
encrypt.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/__wmmintrin_pclmul.h:45:13: note: expanded from macro '_mm_clmulepi64_si128'
encrypt.c: ((__m128i)__builtin_ia32_pclmulqdq128((__v2di)(__m128i)(X), \
encrypt.c: ^
encrypt.c: 1 warning and 3 errors generated.

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

Compiler output

Implementation: T:sse4
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_aead_trivia0v2.a(encrypt.o): in function `V_Horner_32':
try.c: encrypt.c:(.text+0x...): undefined reference to `Mult_by_alpha_power'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `Mult_by_alpha_power'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `Mult_by_alpha_power'
try.c: /usr/bin/ld: libcrypto_aead_trivia0v2.a(encrypt.o): in function `V_Horner_64':
try.c: encrypt.c:(.text+0x...): undefined reference to `Mult_by_beta_power'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `Mult_by_beta_power'
try.c: /usr/bin/ld: libcrypto_aead_trivia0v2.a(encrypt.o): in function `Initialize_process_AD_Reinitialize':
try.c: encrypt.c:(.text+0x...): undefined reference to `load64'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `pad'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `insert_SC'
try.c: /usr/bin/ld: libcrypto_aead_trivia0v2.a(encrypt.o): in function `crypto_aead_trivia0v2_sse4_timingleaks_encrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `load64'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `load64'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `load64'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `load64'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `pad'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `store32'
try.c: /usr/bin/ld: libcrypto_aead_trivia0v2.a(encrypt.o): in function `crypto_aead_trivia0v2_sse4_timingleaks_decrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `dec_load64'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `dec_load64'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `dec_load64'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `dec_load64'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `pad'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `dec_load32'
try.c: ...

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