Implementation notes: amd64, icelake2, crypto_hash/asconhashabi32v12

Computer: icelake2
Architecture: amd64
CPU ID: GenuineIntel-000706e5-bfebfbff
SUPERCOP version: 20221005
Operation: crypto_hash
Primitive: asconhashabi32v12
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
449077763 0 020970 772 960refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101120221005
451247763 0 020898 772 928refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101120221005
4598812004 0 024290 764 960refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101120221005
466107473 0 018236 764 960refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101120221005
474967142 0 017138 772 896refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101120221005
532461012 0 014274 772 960bi32_lowsizeclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101120221005
53430984 0 011804 764 960bi32_lowsizeclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101120221005
534871012 0 014202 772 928bi32_lowsizeclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101120221005
554761267 0 011538 764 960bi32_lowsizegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101120221005
556471267 0 013394 764 960bi32_lowsizegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101120221005
557286845 0 018826 772 896refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101120221005
561661512 0 011938 764 960refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101120221005
573631666 0 011633 756 960refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101120221005
600381150 0 09953 740 928bi32_lowsizegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101120221005
600881751 0 011561 756 960bi32_lowsizegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101120221005
60740907 0 010938 772 896bi32_lowsizeclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101120221005
624901200 0 010129 740 928refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101120221005
624981011 0 013002 772 896bi32_lowsizeclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101120221005

Compiler output

Implementation: bi32
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: hash.c:51:5: warning: implicit declaration of function 'ABSORB' is invalid in C99 [-Wimplicit-function-declaration]
hash.c: ABSORB(s->b[0], in, 8);
hash.c: ^
hash.c: hash.c:58:3: warning: implicit declaration of function 'ABSORB' is invalid in C99 [-Wimplicit-function-declaration]
hash.c: ABSORB(s->b[0], in, inlen);
hash.c: ^
hash.c: hash.c:68:5: warning: implicit declaration of function 'SQUEEZE' is invalid in C99 [-Wimplicit-function-declaration]
hash.c: SQUEEZE(out, s->b[0], 8);
hash.c: ^
hash.c: hash.c:75:3: warning: implicit declaration of function 'SQUEEZE' is invalid in C99 [-Wimplicit-function-declaration]
hash.c: SQUEEZE(out, s->b[0], outlen);
hash.c: ^
hash.c: 4 warnings generated.
try.c: /usr/bin/ld: libcrypto_hash_asconhashabi32v12.a(hash.o): in function `ascon_absorb':
try.c: hash.c:(.text+0x...): undefined reference to `ABSORB'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `ABSORB'
try.c: /usr/bin/ld: libcrypto_hash_asconhashabi32v12.a(hash.o): in function `ascon_squeeze':
try.c: hash.c:(.text+0x...): undefined reference to `SQUEEZE'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `SQUEEZE'
try.c: /usr/bin/ld: libcrypto_hash_asconhashabi32v12.a(hash.o): in function `crypto_hash_asconhashabi32v12_bi32_constbranchindex':
try.c: hash.c:(.text+0x...): undefined reference to `ABSORB'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `ABSORB'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `SQUEEZE'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `SQUEEZE'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `SQUEEZE'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `SQUEEZE'
try.c: clang-14: error: linker command failed with exit code 1 (use -v to see invocation)

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

Compiler output

Implementation: bi32
Security model: constbranchindex
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: hash.c:51:5: warning: implicit declaration of function 'ABSORB' is invalid in C99 [-Wimplicit-function-declaration]
hash.c: ABSORB(s->b[0], in, 8);
hash.c: ^
hash.c: hash.c:58:3: warning: implicit declaration of function 'ABSORB' is invalid in C99 [-Wimplicit-function-declaration]
hash.c: ABSORB(s->b[0], in, inlen);
hash.c: ^
hash.c: hash.c:68:5: warning: implicit declaration of function 'SQUEEZE' is invalid in C99 [-Wimplicit-function-declaration]
hash.c: SQUEEZE(out, s->b[0], 8);
hash.c: ^
hash.c: hash.c:75:3: warning: implicit declaration of function 'SQUEEZE' is invalid in C99 [-Wimplicit-function-declaration]
hash.c: SQUEEZE(out, s->b[0], outlen);
hash.c: ^
hash.c: 4 warnings generated.
try.c: /usr/bin/ld: libcrypto_hash_asconhashabi32v12.a(hash.o): in function `ascon_absorb':
try.c: hash.c:(.text+0x...): undefined reference to `ABSORB'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `ABSORB'
try.c: /usr/bin/ld: libcrypto_hash_asconhashabi32v12.a(hash.o): in function `ascon_squeeze':
try.c: hash.c:(.text+0x...): undefined reference to `SQUEEZE'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `SQUEEZE'
try.c: /usr/bin/ld: libcrypto_hash_asconhashabi32v12.a(hash.o): in function `crypto_hash_asconhashabi32v12_bi32_constbranchindex':
try.c: hash.c:(.text+0x...): undefined reference to `ABSORB'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `ABSORB'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `SQUEEZE'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `SQUEEZE'
try.c: clang-14: 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 -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE bi32
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE bi32

Compiler output

Implementation: bi32
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hash.c: hash.c: In function 'ascon_absorb':
hash.c: hash.c:51:5: warning: implicit declaration of function 'ABSORB' [-Wimplicit-function-declaration]
hash.c: 51 | ABSORB(s->b[0], in, 8);
hash.c: | ^~~~~~
hash.c: hash.c: In function 'ascon_squeeze':
hash.c: hash.c:68:5: warning: implicit declaration of function 'SQUEEZE' [-Wimplicit-function-declaration]
hash.c: 68 | SQUEEZE(out, s->b[0], 8);
hash.c: | ^~~~~~~
try.c: /usr/bin/ld: libcrypto_hash_asconhashabi32v12.a(hash.o): in function `ascon_absorb':
try.c: hash.c:(.text+0x...): undefined reference to `ABSORB'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `ABSORB'
try.c: /usr/bin/ld: libcrypto_hash_asconhashabi32v12.a(hash.o): in function `ascon_squeeze':
try.c: hash.c:(.text+0x...): undefined reference to `SQUEEZE'
try.c: /usr/bin/ld: libcrypto_hash_asconhashabi32v12.a(hash.o): in function `crypto_hash_asconhashabi32v12_bi32_constbranchindex':
try.c: hash.c:(.text+0x...): undefined reference to `ABSORB'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `ABSORB'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `SQUEEZE'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `SQUEEZE'
try.c: /usr/bin/ld: libcrypto_hash_asconhashabi32v12.a(hash.o): in function `ascon_squeeze':
try.c: hash.c:(.text+0x...): undefined reference to `SQUEEZE'
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 bi32
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE bi32
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE bi32

Compiler output

Implementation: bi32
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE
hash.c: hash.c: In function 'ascon_absorb':
hash.c: hash.c:51:5: warning: implicit declaration of function 'ABSORB' [-Wimplicit-function-declaration]
hash.c: 51 | ABSORB(s->b[0], in, 8);
hash.c: | ^~~~~~
hash.c: hash.c: In function 'ascon_squeeze':
hash.c: hash.c:68:5: warning: implicit declaration of function 'SQUEEZE' [-Wimplicit-function-declaration]
hash.c: 68 | SQUEEZE(out, s->b[0], 8);
hash.c: | ^~~~~~~
try.c: /usr/bin/ld: libcrypto_hash_asconhashabi32v12.a(hash.o): in function `ascon_absorb':
try.c: hash.c:(.text+0x...): undefined reference to `ABSORB'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `ABSORB'
try.c: /usr/bin/ld: libcrypto_hash_asconhashabi32v12.a(hash.o): in function `ascon_squeeze':
try.c: hash.c:(.text+0x...): undefined reference to `SQUEEZE'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `SQUEEZE'
try.c: /usr/bin/ld: libcrypto_hash_asconhashabi32v12.a(hash.o): in function `crypto_hash_asconhashabi32v12_bi32_constbranchindex':
try.c: hash.c:(.text+0x...): undefined reference to `ABSORB'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `ABSORB'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `SQUEEZE'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `SQUEEZE'
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 bi32

Compiler output

Implementation: bi32_lowreg
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: hash.c:51:5: warning: implicit declaration of function 'ABSORB' is invalid in C99 [-Wimplicit-function-declaration]
hash.c: ABSORB(s->b[0], in, 8);
hash.c: ^
hash.c: hash.c:58:3: warning: implicit declaration of function 'ABSORB' is invalid in C99 [-Wimplicit-function-declaration]
hash.c: ABSORB(s->b[0], in, inlen);
hash.c: ^
hash.c: hash.c:68:5: warning: implicit declaration of function 'SQUEEZE' is invalid in C99 [-Wimplicit-function-declaration]
hash.c: SQUEEZE(out, s->b[0], 8);
hash.c: ^
hash.c: hash.c:75:3: warning: implicit declaration of function 'SQUEEZE' is invalid in C99 [-Wimplicit-function-declaration]
hash.c: SQUEEZE(out, s->b[0], outlen);
hash.c: ^
hash.c: 4 warnings generated.
try.c: /usr/bin/ld: libcrypto_hash_asconhashabi32v12.a(hash.o): in function `ascon_absorb':
try.c: hash.c:(.text+0x...): undefined reference to `ABSORB'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `ABSORB'
try.c: /usr/bin/ld: libcrypto_hash_asconhashabi32v12.a(hash.o): in function `ascon_squeeze':
try.c: hash.c:(.text+0x...): undefined reference to `SQUEEZE'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `SQUEEZE'
try.c: clang-14: error: linker command failed with exit code 1 (use -v to see invocation)

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

Compiler output

Implementation: bi32_lowreg
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hash.c: hash.c: In function 'ascon_absorb':
hash.c: hash.c:51:5: warning: implicit declaration of function 'ABSORB' [-Wimplicit-function-declaration]
hash.c: 51 | ABSORB(s->b[0], in, 8);
hash.c: | ^~~~~~
hash.c: hash.c: In function 'ascon_squeeze':
hash.c: hash.c:68:5: warning: implicit declaration of function 'SQUEEZE' [-Wimplicit-function-declaration]
hash.c: 68 | SQUEEZE(out, s->b[0], 8);
hash.c: | ^~~~~~~
try.c: /usr/bin/ld: libcrypto_hash_asconhashabi32v12.a(hash.o): in function `ascon_absorb':
try.c: hash.c:(.text+0x...): undefined reference to `ABSORB'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `ABSORB'
try.c: /usr/bin/ld: libcrypto_hash_asconhashabi32v12.a(hash.o): in function `ascon_squeeze':
try.c: hash.c:(.text+0x...): undefined reference to `SQUEEZE'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `SQUEEZE'
try.c: collect2: error: ld returned 1 exit status

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