Implementation notes: amd64, colossus6, crypto_aead/trivia0v2

Computer: colossus6
Architecture: amd64
CPU ID: AuthenticAMD-00830f10-178bfbff
SUPERCOP version: 20210125
Operation: crypto_aead
Primitive: trivia0v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
3447014859 0 030632 792 888T:sse4clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021031020210125
3467316043 0 031928 792 888T:sse4clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021031020210125
3620214859 0 030632 792 888T:sse4clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021031020210125
364508638 0 025230 776 944T:sse4gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021031020210125
537084435 0 018805 768 944T:sse4gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021031020210125
603224952 0 019101 768 944T:sse4gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021031020210125
665103771 0 016742 784 872T:sse4clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021031020210125
1295338376 0 024216 792 872T:refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021031020210125
1364858376 0 024216 792 872T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021031020210125
1367788744 0 024680 792 872T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021031020210125
14946711753 0 027840 792 856T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021031020210125
1551154053 0 017094 784 856T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021031020210125
4987809967 0 026622 776 928T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021031020210125
5048774976 0 019397 768 928T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021031020210125
6770024323 0 018541 768 928T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021031020210125
7161523842 0 017057 752 896T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021031020210125

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: 4, 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 -O -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 -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-6.0/lib/clang/6.0.0/include/__wmmintrin_pclmul.h:54: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-6.0/lib/clang/6.0.0/include/__wmmintrin_pclmul.h:54: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-6.0/lib/clang/6.0.0/include/__wmmintrin_pclmul.h:54: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: crypto_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: encrypt.c:(.text+0x...): undefined reference to `Mult_by_alpha_power'
try.c: encrypt.c:(.text+0x...): undefined reference to `Mult_by_alpha_power'
try.c: crypto_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: encrypt.c:(.text+0x...): undefined reference to `Mult_by_beta_power'
try.c: crypto_aead_trivia0v2.a(encrypt.o): In function `Initialize_process_AD_Reinitialize':
try.c: encrypt.c:(.text+0x...): undefined reference to `load64'
try.c: encrypt.c:(.text+0x...): undefined reference to `pad'
try.c: encrypt.c:(.text+0x...): undefined reference to `insert_SC'
try.c: crypto_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: encrypt.c:(.text+0x...): undefined reference to `load64'
try.c: encrypt.c:(.text+0x...): undefined reference to `load64'
try.c: encrypt.c:(.text+0x...): undefined reference to `load64'
try.c: encrypt.c:(.text+0x...): undefined reference to `pad'
try.c: encrypt.c:(.text+0x...): undefined reference to `store32'
try.c: crypto_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: encrypt.c:(.text+0x...): undefined reference to `dec_load64'
try.c: encrypt.c:(.text+0x...): undefined reference to `dec_load64'
try.c: encrypt.c:(.text+0x...): undefined reference to `dec_load64'
try.c: encrypt.c:(.text+0x...): undefined reference to `pad'
try.c: 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

Namespace violations

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.o Field_Mult_32 T
encrypt.o Initialize_process_AD_Reinitialize T
encrypt.o Key_Ext64 T
encrypt.o Mult_by_alpha_power T
encrypt.o Mult_by_beta_power T
encrypt.o Reverse_32 T
encrypt.o SC_Update64 T
encrypt.o V_Horner_32 T
encrypt.o V_Horner_64 T
encrypt.o insert_SC T
encrypt.o load32 T
encrypt.o load64 T
encrypt.o load_SC T
encrypt.o pad T
encrypt.o process_block T

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref

Namespace violations

Implementation: T:sse4
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.o Field_Mult_32 T
encrypt.o G_STAR C
encrypt.o Initialize_process_AD_Reinitialize T
encrypt.o Key_Ext64 T
encrypt.o Q_PLUS C
encrypt.o SC_Update64 T
encrypt.o V_Horner_32 T
encrypt.o V_Horner_64 T
encrypt.o process_block T

Number of similar (compiler,implementation) pairs: 7, 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 -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sse4
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sse4
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sse4
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sse4
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sse4