Implementation notes: amd64, hertz, crypto_encrypt/r5nd5pke0d

Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20240425
Operation: crypto_encrypt
Primitive: r5nd5pke0d
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
37012036325 0 0155257 1012 1896T:optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425
37746336325 0 0155257 1012 1896T:avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425
44423754918 0 0167695 1020 1832T:optclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024043020240425
45866949718 0 0168199 1020 1832T:optclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024043020240425
45885549718 0 0168199 1020 1832T:avx2clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024043020240425
115066824414 0 0147689 1012 1832T:avx2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024043020240425
115443324414 0 0147689 1012 1832T:optclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024043020240425
188889424875 0 0147609 1012 1832T:optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425
188898024875 0 0147609 1012 1832T:avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425
259760421531 0 0143977 1004 1800T:optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425
259813621531 0 0143977 1004 1800T:avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425

Compiler output

Implementation: T:avx2
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: /usr/bin/ld: warning: KeccakP-1600-AVX2.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
try.c: /usr/bin/ld: warning: KeccakP-1600-AVX2.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
measure.c: /usr/bin/ld: warning: KeccakP-1600-AVX2.o: missing .note.GNU-stack section implies executable stack
measure.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker

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

Compiler output

Implementation: T:avx2
Security model: timingleaks
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: /usr/bin/ld: warning: KeccakP-1600-AVX2.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
try.c: /usr/bin/ld: can not read symbols: file truncated
try.c: /usr/bin/ld: .eh_frame/.stab edit: file truncated
try.c: /usr/bin/ld: try-small: warning: allocated section `.interp' not in segment
try.c: /usr/bin/ld: try-small: warning: allocated section `.note.gnu.property' not in segment
try.c: /usr/bin/ld: try-small: warning: allocated section `.note.gnu.build-id' not in segment
try.c: /usr/bin/ld: try-small: warning: allocated section `.note.ABI-tag' not in segment
try.c: /usr/bin/ld: try-small: warning: allocated section `.gnu.hash' not in segment
try.c: /usr/bin/ld: try-small: warning: allocated section `.dynsym' not in segment
try.c: /usr/bin/ld: try-small: warning: allocated section `.dynstr' not in segment
try.c: /usr/bin/ld: try-small: warning: allocated section `.gnu.version' not in segment
try.c: /usr/bin/ld: try-small: warning: allocated section `.gnu.version_r' not in segment
try.c: /usr/bin/ld: try-small: warning: allocated section `.rela.dyn' not in segment
try.c: /usr/bin/ld: try-small: warning: allocated section `.rela.plt' not in segment
try.c: /usr/bin/ld: try-small: warning: allocated section `.init' not in segment
try.c: /usr/bin/ld: try-small: warning: allocated section `.plt' not in segment
try.c: /usr/bin/ld: try-small: warning: allocated section `.plt.got' not in segment
try.c: /usr/bin/ld: try-small: warning: allocated section `.text' not in segment
try.c: /usr/bin/ld: try-small: warning: allocated section `.fini' not in segment
try.c: /usr/bin/ld: try-small: warning: allocated section `.rodata' not in segment
try.c: /usr/bin/ld: try-small: warning: allocated section `.eh_frame' not in segment
try.c: /usr/bin/ld: try-small: warning: allocated section `.init_array' not in segment
try.c: /usr/bin/ld: try-small: warning: allocated section `.fini_array' not in segment
try.c: /usr/bin/ld: try-small: warning: allocated section `.dynamic' not in segment
try.c: ...

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

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(parameters.o):(.rodata+0x0): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(parameters.o):(.bss+0x40): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_cca_pke.o):(.rodata+0x0): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_cca_pke.o):(.bss+0x0): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_cca_kem.o):(.rodata+0x0): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_cca_kem.o):(.bss+0x0): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_cpa_pke.o):(.rodata+0x0): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_cpa_pke.o):(.bss+0x0): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_core.o):(.rodata+0x0): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_core.o):(.bss+0x0): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(a_fixed.o):(.rodata+0x0): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(a_fixed.o):(.bss+0x10): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(a_random.o):(.rodata+0x0): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(a_random.o):(.bss+0x0): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: warning: KeccakP-1600-AVX2.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

Number of similar (compiler,implementation) pairs: 2, 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

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(parameters.o):(.rodata+0x0): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(parameters.o):(.bss+0x40): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_cca_pke.o):(.rodata+0x0): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_cca_pke.o):(.bss+0x0): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_cca_kem.o):(.rodata+0x0): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_cca_kem.o):(.bss+0x0): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_cpa_pke.o):(.rodata+0x100): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_cpa_pke.o):(.bss+0x0): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_core.o):(.rodata+0x300): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_core.o):(.bss+0x0): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(a_fixed.o):(.rodata+0x100): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(a_fixed.o):(.bss+0x10): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(a_random.o):(.rodata+0x0): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(a_random.o):(.bss+0x0): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: warning: KeccakP-1600-AVX2.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

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

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(parameters.o):(.bss+0x0): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(parameters.o):(.rodata+0x60): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_cca_pke.o):(.bss+0x0): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_cca_pke.o):(.rodata+0x0): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_cca_kem.o):(.bss+0x0): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_cca_kem.o):(.rodata+0x0): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_cpa_pke.o):(.bss+0x0): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_cpa_pke.o):(.rodata+0x0): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_core.o):(.bss+0x0): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(r5_core.o):(.rodata+0x20): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(a_fixed.o):(.bss+0x20): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(a_fixed.o):(.rodata+0x0): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(a_random.o):(.bss+0x0): multiple definition of `r5_parameter_set_names'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_encrypt_r5nd5pke0d.a(a_random.o):(.rodata+0x0): multiple definition of `r5_parameter_sets'; libcrypto_encrypt_r5nd5pke0d.a(cca_encrypt.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: warning: KeccakP-1600-AVX2.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
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 -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref