Implementation notes: amd64, hydra7, crypto_aead/xoodyakv1

Computer: hydra7
Microarchitecture: amd64; Sandy Bridge+AES (206a7)
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_aead
Primitive: xoodyakv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
5445719066 0 035428 812 1088T:xkcp/SSE2gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
5458218282 0 033404 812 1088T:xkcp/SSE2gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
5550717033 0 031884 812 1088T:xkcp/SSE2gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
5735016828 0 030303 788 1056T:xkcp/SSE2gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
12528712785 0 028244 820 1088T:xkcp/plain-uagcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
12850013985 0 030692 820 1088T:xkcp/plain-uagcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
12878612411 0 026207 796 1056T:xkcp/plain-uagcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
13078712952 0 028140 820 1088T:xkcp/plain-uagcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
2152508860 0 025556 820 1088T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
6772355450 0 020868 820 1088T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
9046675306 0 020476 820 1088T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
12932154613 0 018423 796 1056T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
653296155552 176 12677461 1780 1280T:refcppg++_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
697420745426 176 12666307 1788 1280T:refcppg++_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
793764836377 176 12656608 1796 1280T:refcppg++_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
896992631009 176 12650129 1276 1248T:refcppg++_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625

Compiler output


Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s: Assembler messages:
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:2: Error: no such instruction: `the eXtended Keccak Code Package (XKCP)'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:5: Error: no such instruction: `the Xoodoo permutation,designed by Joan Daemen,Seth Hoffert,Gilles Van Assche and Ronny Van Keer.'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:7: Error: no such instruction: `implementation by Ronny Van Keer,hereby denoted as "the implementer".'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:9: Error: no such instruction: `for more information,feedback or questions,please refer to the Keccak Team website:'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:12: Error: no such instruction: `to the extent possible under law,the implementer has waived all copyright'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:13: Error: junk `or neighboring rights to the source code in this file.' after expression
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:13: Error: number of operands mismatch for `and'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:16: Error: junk at end of line, first unrecognized character is `-'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:18: Error: no such instruction: `this file implements Xoodoo in a SnP-compatible way.'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:19: Error: no such instruction: `please refer to SnP-documentation.h for more details.'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:21: Error: no such instruction: `this implementation comes with Xoodoo-SnP.h in the same folder.'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:22: Error: no such instruction: `please refer to LowLevel.build for the exact list of other files it must be combined with.'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:25: Error: no such instruction: `tested on ATmega1280 simulator'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:27: Error: no such instruction: `registers used in all routines'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:35: Error: junk at end of line, first unrecognized character is `-'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:37: Error: no such instruction: `void Xoodoo_StaticInitialize( void)'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:41: Error: junk at end of line, first unrecognized character is `-'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:43: Error: no such instruction: `void Xoodoo_Initialize(void *state)'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:45: Error: no such instruction: `argument state is passed in r24:r25'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:49: Error: too many memory references for `mov'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:50: Error: no such instruction: `ldi r23,3*4/2'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:50: Error: no such instruction: `clear state (8 bytes/2 lanes)per iteration'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:52: Error: no such instruction: `st z+,zero'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:53: Error: no such instruction: `st z+,zero'
Xoodoo-avr8-u1.s: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:xkcp/AVR8gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:xkcp/AVR8gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:xkcp/AVR8gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:xkcp/AVR8gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Compiler output


Xoodoo-SIMD512.c: Xoodoo-SIMD512.c: In function 'Xoofff_AddIs':
Xoodoo-SIMD512.c: Xoodoo-SIMD512.c:429:16: warning: AVX512F vector return without AVX512F enabled changes the ABI [-Wpsabi]
Xoodoo-SIMD512.c:   429 |         lanes1 = LOAD512u(input[ 0]);
Xoodoo-SIMD512.c:       |                ^
Xoodoo-SIMD512.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:57,
Xoodoo-SIMD512.c:                  from Xoodoo-SIMD512.c:24:
Xoodoo-SIMD512.c: Xoodoo-SIMD512.c: In function 'Xoodoo_Permute_Nrounds':
Xoodoo-SIMD512.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/avx512vlintrin.h:11579:1: error: inlining failed in call to 'always_inline' '_mm_rol_epi32': target specific option mismatch
Xoodoo-SIMD512.c: 11579 | _mm_rol_epi32 (__m128i __A, const int __B)
Xoodoo-SIMD512.c:       | ^~~~~~~~~~~~~
Xoodoo-SIMD512.c: Xoodoo-SIMD512.c:305:33: note: called from here
Xoodoo-SIMD512.c:   305 | #define ROL32(a, o)             _mm_rol_epi32(a, o)
Xoodoo-SIMD512.c:       |                                 ^~~~~~~~~~~~~~~~~~~
Xoodoo-SIMD512.c: Xoodoo-SIMD512.c:353:30: note: in expansion of macro 'ROL32'
Xoodoo-SIMD512.c:   353 |                         a1 = ROL32(a1, 1);                                      \
Xoodoo-SIMD512.c:       |                              ^~~~~
Xoodoo-SIMD512.c: Xoodoo-SIMD512.c:379:9: note: in expansion of macro 'Round'
Xoodoo-SIMD512.c:   379 |         Round(RC[i]);
Xoodoo-SIMD512.c:       |         ^~~~~
Xoodoo-SIMD512.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:57,
Xoodoo-SIMD512.c:                  from Xoodoo-SIMD512.c:24:
Xoodoo-SIMD512.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/avx512vlintrin.h:10681:1: error: inlining failed in call to 'always_inline' '_mm_ternarylogic_epi32': target specific option mismatch
Xoodoo-SIMD512.c: 10681 | _mm_ternarylogic_epi32 (__m128i __A, __m128i __B, __m128i __C,
Xoodoo-SIMD512.c:       | ^~~~~~~~~~~~~~~~~~~~~~
Xoodoo-SIMD512.c: Xoodoo-SIMD512.c:312:33: note: called from here
Xoodoo-SIMD512.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:xkcp/AVX512gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:xkcp/AVX512gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:xkcp/AVX512gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:xkcp/AVX512gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Compiler output


Xoodyak-full-block-SIMD128.c: Xoodyak-full-block-SIMD128.c:145:26: warning: 'RC' defined but not used [-Wunused-const-variable=]
Xoodyak-full-block-SIMD128.c:   145 | static const uint32_t    RC[MAXROUNDS] = {
Xoodyak-full-block-SIMD128.c:       |                          ^~

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:xkcp/SSE2gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:xkcp/SSE2gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:xkcp/SSE2gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:xkcp/SSE2gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)