Implementation notes: amd64, speed2supercop, crypto_hash/asconxofv12

Computer: speed2supercop
Microarchitecture: amd64; Haswell+AES (306c3)
Architecture: amd64
CPU ID: GenuineIntel-000306c3-1fc9cbf5
SUPERCOP version: 20240107
Operation: crypto_hash
Primitive: asconxofv12
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
338446186 0 016557 752 800opt64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
339046186 0 018421 752 800opt64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
339606770 0 019037 752 800refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
342686103 0 015000 728 768opt64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
347246827 0 016732 744 800opt64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
357206783 0 016684 744 800refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
364326804 0 017189 752 800refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
38076830 0 011189 752 800opt64_lowsizegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
38156830 0 013069 752 800opt64_lowsizegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
38260713 0 09592 728 768opt64_lowsizegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
393801264 0 011148 744 800opt64_lowsizegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
422367666 0 019901 752 800opt32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
422407666 0 018037 752 800opt32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
428807629 0 016520 728 768opt32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
448408533 0 018428 744 800opt32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
45052867 0 011229 752 800opt32_lowsizegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
45088867 0 013109 752 800opt32_lowsizegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
47836775 0 09664 728 768opt32_lowsizegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
486081326 0 011204 744 800opt32_lowsizegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
51440779 0 09656 728 768refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
761446304 0 016180 744 800bi32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
778845405 0 014272 728 768bi32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
812566543 0 016901 752 800bi32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
813446548 0 018781 752 800bi32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
814243417 0 013364 744 800bi32_lowreggcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
830281711 0 011612 744 800bi32_lowsizegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
837321390 0 010280 728 768bi32_lowsizegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
838482410 0 011344 728 768bi32_lowreggcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
880523272 0 013677 752 800bi32_lowreggcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
881083272 0 015557 752 800bi32_lowreggcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
908961616 0 011973 752 800bi32_lowsizegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
909641616 0 013853 752 800bi32_lowsizegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
4021323551 0 013517 752 800bi8gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
4060643556 0 015397 752 800bi8gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
4540004753 0 014268 744 800bi8gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
4541804026 0 012536 728 768bi8gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
6574643417 0 013813 752 800opt8gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
6579563231 0 013589 752 800opt8_lowsizegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
7783844036 0 013900 744 800opt8_lowsizegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
7818364139 0 014052 744 800opt8gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
8570843631 0 012544 728 768opt8gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
8572163659 0 012528 728 768opt8_lowsizegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107
8985765145 0 017389 752 800opt8_lowsizegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320240107

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_asconxofv12_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_asconxofv12_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_asconxofv12_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_asconxofv12_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/ccLpf8B2.o: in function `test':
try.c: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconxofv12_esp32_timingleaks'
try.c: /usr/bin/ld: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconxofv12_esp32_timingleaks'
try.c: /usr/bin/ld: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconxofv12_esp32_timingleaks'
try.c: /usr/bin/ld: /tmp/ccLpf8B2.o: in function `doit':
try.c: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconxofv12_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/ccaQ73ii.o: in function `test':
try.c: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconxofv12_esp32_timingleaks'
try.c: /usr/bin/ld: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconxofv12_esp32_timingleaks'
try.c: /usr/bin/ld: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconxofv12_esp32_timingleaks'
try.c: /usr/bin/ld: /tmp/ccaQ73ii.o: in function `doit':
try.c: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconxofv12_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/ccjNk832.o: in function `doit':
try.c: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconxofv12_esp32_timingleaks'
try.c: /usr/bin/ld: /tmp/ccjNk832.o: in function `test':
try.c: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconxofv12_esp32_timingleaks'
try.c: /usr/bin/ld: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconxofv12_esp32_timingleaks'
try.c: /usr/bin/ld: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconxofv12_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/ccWuaDjN.o: in function `test':
try.c: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconxofv12_esp32_timingleaks'
try.c: /usr/bin/ld: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconxofv12_esp32_timingleaks'
try.c: /usr/bin/ld: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconxofv12_esp32_timingleaks'
try.c: /usr/bin/ld: /tmp/ccWuaDjN.o: in function `doit':
try.c: try-small.c:(.text+0x...): undefined reference to `crypto_hash_asconxofv12_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_asconxofv12_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_asconxofv12_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_asconxofv12_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_asconxofv12_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