Implementation notes: amd64, genji262, crypto_aead/trivia0v2

Computer: genji262
Architecture: amd64
CPU ID: AuthenticAMD-00800f12-178bfbff
SUPERCOP version: 20191017
Operation: crypto_aead
Primitive: trivia0v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
5607815840 0 034165 840 880sse4icc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102420191017
5621015840 0 034165 840 880sse4icc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102420191017
5621015840 0 034165 840 880sse4icc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102420191017
5625415840 0 034165 840 880sse4icc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102420191017
5638615704 0 032733 840 880sse4icc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102420191017
570246590 0 020889 800 912sse4gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
5711218336 0 036693 840 880sse4icc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102420191017
5715618336 0 036693 840 880sse4icc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102420191017
5733218336 0 036693 840 880sse4icc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102420191017
5735418336 0 036693 840 880sse4icc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102420191017
5902619904 0 036989 840 880sse4icc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102420191017
6061019488 0 037797 840 880sse4icc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102420191017
6063219488 0 037797 840 880sse4icc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102420191017
6065419488 0 037797 840 880sse4icc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102420191017
6069819488 0 037797 840 880sse4icc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102420191017
6080817360 0 036069 840 880sse4icc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102420191017
6080817360 0 036069 840 880sse4icc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102420191017
6080817360 0 036069 840 880sse4icc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102420191017
6089617360 0 036069 840 880sse4icc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102420191017
616884364 0 017100 792 912sse4gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
689264664 0 017244 792 912sse4gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
1964608247 0 023323 792 872refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019102420191017
2169869806 0 024169 800 896refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
21755817136 0 034229 840 864reficc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102420191017
21755817504 0 035893 840 864reficc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102420191017
21766817504 0 035893 840 864reficc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102420191017
21771217504 0 035893 840 864reficc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102420191017
21934011753 0 026451 792 856refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019102420191017
21980219968 0 038389 840 864reficc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102420191017
2200447867 0 022291 792 872refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019102420191017
22015419968 0 038389 840 864reficc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102420191017
22017619968 0 038389 840 864reficc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102420191017
22030819968 0 038389 840 864reficc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102420191017
2216507867 0 022291 792 872refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019102420191017
22180418768 0 037541 840 864reficc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102420191017
22193618768 0 037541 840 864reficc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102420191017
22224418768 0 037541 840 864reficc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102420191017
22253018768 0 037541 840 864reficc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102420191017
22266221200 0 038349 840 864reficc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102420191017
22503820864 0 039237 840 864reficc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102420191017
22594020864 0 039237 840 864reficc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102420191017
22741420864 0 039237 840 864reficc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102420191017
22803020864 0 039237 840 864reficc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102420191017
2351805054 0 017852 792 896refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
23544417504 0 035893 840 864reficc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102420191017
2476103943 0 015745 784 856refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019102420191017
2887944138 0 016780 792 896refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
9364523707 0 015324 776 896refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017

Test failure

Implementation: ref
Security model: unknown
Compiler: icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer ref
icc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer ref
icc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer ref
icc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer ref
icc -march=skylake-avx512 -mtune=skylake-avx512 -O2 -fomit-frame-pointer ref
icc -march=skylake-avx512 -mtune=skylake-avx512 -O3 -fomit-frame-pointer ref
icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer sse4
icc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer sse4
icc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer sse4
icc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer sse4
icc -march=skylake-avx512 -mtune=skylake-avx512 -O2 -fomit-frame-pointer sse4
icc -march=skylake-avx512 -mtune=skylake-avx512 -O3 -fomit-frame-pointer sse4

Compiler output

Implementation: sse4
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.c: In file included from encrypt.c:24:
encrypt.c: In file included from /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/wmmintrin.h:31:
encrypt.c: In file included from /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/emmintrin.h:31:
encrypt.c: In file included from /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/xmmintrin.h:31:
encrypt.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/mmintrin.h:55:72: warning: unknown attribute '__artificial__' ignored [-Wunknown-attributes]
encrypt.c: extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
encrypt.c: ^
encrypt.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/mmintrin.h:61:72: warning: unknown attribute '__artificial__' ignored [-Wunknown-attributes]
encrypt.c: extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
encrypt.c: ^
encrypt.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/mmintrin.h:68:74: warning: unknown attribute '__artificial__' ignored [-Wunknown-attributes]
encrypt.c: extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
encrypt.c: ^
encrypt.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/mmintrin.h:74:74: warning: unknown attribute '__artificial__' ignored [-Wunknown-attributes]
encrypt.c: extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
encrypt.c: ^
encrypt.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/mmintrin.h:84:74: warning: unknown attribute '__artificial__' ignored [-Wunknown-attributes]
encrypt.c: extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
encrypt.c: ^
encrypt.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/mmintrin.h:90:74: warning: unknown attribute '__artificial__' ignored [-Wunknown-attributes]
encrypt.c: extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
encrypt.c: ^
encrypt.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/mmintrin.h:97:74: warning: unknown attribute '__artificial__' ignored [-Wunknown-attributes]
encrypt.c: extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
encrypt.c: ^
encrypt.c: ...

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

Compiler output

Implementation: sse4
Security model: unknown
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: 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: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: encrypt.c:(.text+0x...): undefined reference to `Mult_by_alpha_power'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: encrypt.c:(.text+0x...): undefined reference to `Mult_by_alpha_power'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: 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: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: encrypt.c:(.text+0x...): undefined reference to `Mult_by_beta_power'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: crypto_aead_trivia0v2.a(encrypt.o): in function `Initialize_process_AD_Reinitialize':
try.c: encrypt.c:(.text+0x...): undefined reference to `load64'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: encrypt.c:(.text+0x...): undefined reference to `pad'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: encrypt.c:(.text+0x...): undefined reference to `insert_SC'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: crypto_aead_trivia0v2.a(encrypt.o): in function `crypto_aead_trivia0v2_sse4_encrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `load64'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: encrypt.c:(.text+0x...): undefined reference to `load64'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: encrypt.c:(.text+0x...): undefined reference to `load64'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: encrypt.c:(.text+0x...): undefined reference to `load64'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: encrypt.c:(.text+0x...): undefined reference to `pad'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: encrypt.c:(.text+0x...): undefined reference to `store32'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: crypto_aead_trivia0v2.a(encrypt.o): in function `crypto_aead_trivia0v2_sse4_decrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `dec_load64'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: encrypt.c:(.text+0x...): undefined reference to `dec_load64'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: encrypt.c:(.text+0x...): undefined reference to `dec_load64'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: encrypt.c:(.text+0x...): undefined reference to `dec_load64'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: encrypt.c:(.text+0x...): undefined reference to `pad'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/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 sse4