Implementation notes: amd64, speed2supercop, crypto_hash/asconxofav12

Computer: speed2supercop
Microarchitecture: amd64; Haswell+AES (306c3)
Architecture: amd64
CPU ID: GenuineIntel-000306c3-1fc9cbf5
SUPERCOP version: 20240425
Operation: crypto_hash
Primitive: asconxofav12
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
226404890 0 015261 752 800opt64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
227164890 0 017125 752 800opt64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
228845396 0 017637 752 800refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
229084835 0 013736 728 768opt64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
241125519 0 015420 744 800opt64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
244045256 0 015156 744 800refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
250045413 0 015789 752 800refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
26204713 0 09592 728 768opt64_lowsizegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
26780830 0 011189 752 800opt64_lowsizegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
26840830 0 013069 752 800opt64_lowsizegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
274401264 0 011148 744 800opt64_lowsizegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
282966082 0 016453 752 800opt32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
283326082 0 018317 752 800opt32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
288726065 0 014968 728 768opt32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
306646887 0 016780 744 800opt32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
30744867 0 011229 752 800opt32_lowsizegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
30780867 0 013109 752 800opt32_lowsizegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
32692775 0 09664 728 768opt32_lowsizegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
335481326 0 011204 744 800opt32_lowsizegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
35340875 0 09760 728 768refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
536649364 0 019244 744 800bi32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
547168229 0 017104 728 768bi32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
568643423 0 013364 744 800bi32_lowreggcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
5733610093 0 022333 752 800bi32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
5734010088 0 020453 752 800bi32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
580322416 0 011344 728 768bi32_lowreggcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
582161390 0 010280 728 768bi32_lowsizegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
585041711 0 011612 744 800bi32_lowsizegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
608123272 0 013677 752 800bi32_lowreggcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
608563272 0 015557 752 800bi32_lowreggcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
630921616 0 011973 752 800bi32_lowsizegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
631121616 0 013853 752 800bi32_lowsizegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
2704883556 0 015397 752 800bi8gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
2729483551 0 013517 752 800bi8gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
3053684026 0 012536 728 768bi8gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
3057964753 0 014268 744 800bi8gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
4411963417 0 013813 752 800opt8gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
4417803231 0 013589 752 800opt8_lowsizegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
5219764036 0 013900 744 800opt8_lowsizegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
5242724139 0 014052 744 800opt8gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
5750363659 0 012528 728 768opt8_lowsizegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
5750603631 0 012544 728 768opt8gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
6016725145 0 017389 752 800opt8_lowsizegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425

Compiler output

Implementation: T:asm_esp32
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
ascon.S: ascon.S:1:10: fatal error: xtensa/coreasm.h: No such file or directory
ascon.S: 1 | #include <xtensa/coreasm.h>
ascon.S: | ^~~~~~~~~~~~~~~~~~
ascon.S: compilation terminated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:asm_esp32
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:asm_esp32
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:asm_esp32
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:asm_esp32

Compiler output

Implementation: avr
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
permutations.S: permutations.S:29:10: fatal error: avr/io.h: No such file or directory
permutations.S: 29 | #include "avr/io.h"
permutations.S: | ^~~~~~~~~~
permutations.S: compilation terminated.

Number of similar (compiler,implementation) pairs: 7, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE avr
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE avr
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE avr
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE avr_lowsize
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE avr_lowsize
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE avr_lowsize
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE avr_lowsize

Compiler output

Implementation: avr
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hash.c: In file included from round.h:8,
hash.c: from permutations.h:11,
hash.c: from hash.c:4:
hash.c: In function 'ABSORB',
hash.c: inlined from 'ascon_absorb' at hash.c:59:3,
hash.c: inlined from 'crypto_hash_asconxofav12_avr_constbranchindex' at hash.c:84:3:
hash.c: word.h:124:10: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=]
hash.c: 124 | *s-- ^= *d++;
hash.c: | ^~
hash.c: hash.c: In function 'crypto_hash_asconxofav12_avr_constbranchindex':
hash.c: hash.c:82:17: note: at offset -8 into destination object 's' of size 40
hash.c: 82 | ascon_state_t s;
hash.c: | ^
hash.c: In function 'ABSORB',
hash.c: inlined from 'ascon_absorb' at hash.c:59:3,
hash.c: inlined from 'crypto_hash_asconxofav12_avr_constbranchindex' at hash.c:84:3:
hash.c: word.h:124:10: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
hash.c: 124 | *s-- ^= *d++;
hash.c: | ^~
hash.c: hash.c: In function 'crypto_hash_asconxofav12_avr_constbranchindex':
hash.c: hash.c:82:17: note: at offset [-4294967281, -1] into destination object 's' of size 40
hash.c: 82 | ascon_state_t s;
hash.c: | ^
hash.c: hash.c:82:17: note: at offset [-4294967274, -34] into destination object 's' of size 40
hash.c: hash.c:82:17: note: at offset [-4294967274, -34] into destination object 's' of size 40
hash.c: ...

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

Compiler output

Implementation: T:esp32
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: /tmp/cc8ZAbs3.o: in function `test':
try.c: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconxofav12_esp32_timingleaks'
try.c: /usr/bin/ld: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconxofav12_esp32_timingleaks'
try.c: /usr/bin/ld: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconxofav12_esp32_timingleaks'
try.c: /usr/bin/ld: /tmp/cc8ZAbs3.o: in function `doit':
try.c: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconxofav12_esp32_timingleaks'
try.c: collect2: error: ld returned 1 exit status

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

Compiler output

Implementation: T:esp32
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: /tmp/ccW4NJMY.o: in function `test':
try.c: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconxofav12_esp32_timingleaks'
try.c: /usr/bin/ld: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconxofav12_esp32_timingleaks'
try.c: /usr/bin/ld: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconxofav12_esp32_timingleaks'
try.c: /usr/bin/ld: /tmp/ccW4NJMY.o: in function `doit':
try.c: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconxofav12_esp32_timingleaks'
try.c: collect2: error: ld returned 1 exit status

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

Compiler output

Implementation: T:esp32
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: /tmp/ccgXkUYk.o: in function `doit':
try.c: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconxofav12_esp32_timingleaks'
try.c: /usr/bin/ld: /tmp/ccgXkUYk.o: in function `test':
try.c: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconxofav12_esp32_timingleaks'
try.c: /usr/bin/ld: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconxofav12_esp32_timingleaks'
try.c: /usr/bin/ld: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconxofav12_esp32_timingleaks'
try.c: collect2: error: ld returned 1 exit status

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

Compiler output

Implementation: T:esp32
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: /tmp/ccINJcIu.o: in function `test':
try.c: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconxofav12_esp32_timingleaks'
try.c: /usr/bin/ld: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconxofav12_esp32_timingleaks'
try.c: /usr/bin/ld: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconxofav12_esp32_timingleaks'
try.c: /usr/bin/ld: /tmp/ccINJcIu.o: in function `doit':
try.c: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconxofav12_esp32_timingleaks'
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:esp32

Compiler output

Implementation: opt8
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hash.c: In file included from round.h:8,
hash.c: from permutations.h:11,
hash.c: from hash.c:4:
hash.c: In function 'ABSORB',
hash.c: inlined from 'ascon_absorb' at hash.c:59:3,
hash.c: inlined from 'crypto_hash_asconxofav12_opt8_constbranchindex' at hash.c:84:3:
hash.c: word.h:124:10: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=]
hash.c: 124 | *s-- ^= *d++;
hash.c: | ^~
hash.c: hash.c: In function 'crypto_hash_asconxofav12_opt8_constbranchindex':
hash.c: hash.c:82:17: note: at offset -8 into destination object 's' of size 40
hash.c: 82 | ascon_state_t s;
hash.c: | ^
hash.c: In function 'ABSORB',
hash.c: inlined from 'ascon_absorb' at hash.c:59:3,
hash.c: inlined from 'crypto_hash_asconxofav12_opt8_constbranchindex' at hash.c:84:3:
hash.c: word.h:124:10: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
hash.c: 124 | *s-- ^= *d++;
hash.c: | ^~
hash.c: hash.c: In function 'crypto_hash_asconxofav12_opt8_constbranchindex':
hash.c: hash.c:82:17: note: at offset [-4294967281, -1] into destination object 's' of size 40
hash.c: 82 | ascon_state_t s;
hash.c: | ^
hash.c: hash.c:82:17: note: at offset [-4294967274, -34] into destination object 's' of size 40
hash.c: hash.c:82:17: note: at offset [-4294967274, -34] into destination object 's' of size 40
hash.c: ...

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