Implementation notes: amd64, speed2supercop, crypto_hash/asconhashv12

Computer: speed2supercop
Microarchitecture: amd64; Haswell+AES (306c3)
Architecture: amd64
CPU ID: GenuineIntel-000306c3-1fc9cbf5
SUPERCOP version: 20240425
Operation: crypto_hash
Primitive: asconhashv12
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
338646186 0 018421 752 800opt64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
338726186 0 016557 752 800opt64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
339486770 0 019037 752 800refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
343286103 0 015000 728 768opt64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
347766827 0 016732 744 800opt64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
357206783 0 016684 744 800refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
364686804 0 017189 752 800refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
38164830 0 013069 752 800opt64_lowsizegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
38184830 0 011189 752 800opt64_lowsizegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
38324713 0 09592 728 768opt64_lowsizegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
393841264 0 011148 744 800opt64_lowsizegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
422327666 0 019901 752 800opt32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
423647666 0 018037 752 800opt32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
428687629 0 016520 728 768opt32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
448848533 0 018428 744 800opt32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
45036867 0 013109 752 800opt32_lowsizegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
45056867 0 011229 752 800opt32_lowsizegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
47864775 0 09664 728 768opt32_lowsizegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
485881326 0 011204 744 800opt32_lowsizegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
51440780 0 09656 728 768refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
761886304 0 016180 744 800bi32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
778885405 0 014272 728 768bi32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
812726543 0 016901 752 800bi32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
813806548 0 018781 752 800bi32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
814683417 0 013364 744 800bi32_lowreggcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
829801711 0 011612 744 800bi32_lowsizegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
837361390 0 010280 728 768bi32_lowsizegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
838602410 0 011344 728 768bi32_lowreggcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
881003272 0 015557 752 800bi32_lowreggcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
881043272 0 013677 752 800bi32_lowreggcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
910161616 0 013853 752 800bi32_lowsizegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
935081616 0 011973 752 800bi32_lowsizegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
4021763551 0 013517 752 800bi8gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
4062243556 0 015397 752 800bi8gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
4540324753 0 014268 744 800bi8gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
4567684026 0 012536 728 768bi8gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
6575723417 0 013813 752 800opt8gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
6579803231 0 013589 752 800opt8_lowsizegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
7785844036 0 013900 744 800opt8_lowsizegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
7823644139 0 014052 744 800opt8gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
8574523659 0 012528 728 768opt8_lowsizegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
8576243631 0 012544 728 768opt8gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
8985725145 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_asconhashv12_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_asconhashv12_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_asconhashv12_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_asconhashv12_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/ccffwry7.o: in function `test':
try.c: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconhashv12_esp32_timingleaks'
try.c: /usr/bin/ld: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconhashv12_esp32_timingleaks'
try.c: /usr/bin/ld: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconhashv12_esp32_timingleaks'
try.c: /usr/bin/ld: /tmp/ccffwry7.o: in function `doit':
try.c: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconhashv12_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/ccVC8yHU.o: in function `test':
try.c: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconhashv12_esp32_timingleaks'
try.c: /usr/bin/ld: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconhashv12_esp32_timingleaks'
try.c: /usr/bin/ld: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconhashv12_esp32_timingleaks'
try.c: /usr/bin/ld: /tmp/ccVC8yHU.o: in function `doit':
try.c: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconhashv12_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/ccz9pzAK.o: in function `doit':
try.c: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconhashv12_esp32_timingleaks'
try.c: /usr/bin/ld: /tmp/ccz9pzAK.o: in function `test':
try.c: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconhashv12_esp32_timingleaks'
try.c: /usr/bin/ld: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconhashv12_esp32_timingleaks'
try.c: /usr/bin/ld: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconhashv12_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/cc3NXf1Q.o: in function `test':
try.c: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconhashv12_esp32_timingleaks'
try.c: /usr/bin/ld: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconhashv12_esp32_timingleaks'
try.c: /usr/bin/ld: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconhashv12_esp32_timingleaks'
try.c: /usr/bin/ld: /tmp/cc3NXf1Q.o: in function `doit':
try.c: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconhashv12_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_asconhashv12_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_asconhashv12_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_asconhashv12_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_asconhashv12_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