Implementation notes: amd64, hertz, crypto_stream/speck128256ctr

Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20240716
Operation: crypto_stream
Primitive: speck128256ctr
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
140838592 0 054853 804 1096T:avx512gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
141437348 0 051485 804 1032T:avx512gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
142235273 0 047752 780 1000T:avx512gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
166541264 0 057493 804 1096T:avx2gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
167140022 0 054157 804 1032T:avx2gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
168139039 0 051496 780 1000T:avx2gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
205642272 0 062199 828 1032T:avx512clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
205938679 0 052384 820 1032T:avx512clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
206242032 0 061847 828 1032T:avx512clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
282227907 0 047863 828 1032T:sse4clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
285027907 0 047751 828 1032T:sse4clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
285224548 0 038248 820 1032T:sse4clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
285836095 0 055839 828 1032T:avx2clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
286035871 0 055503 828 1032T:avx2clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
293632582 0 046160 820 1032T:avx2clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
606317343 0 031493 804 1032T:sse4gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
608318649 0 034893 804 1096T:sse4gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716

Compiler output


stream.c: stream.c:267:8: warning: unused variable 'i' [-Wunused-variable]
stream.c:   267 |   u64  i,j,x[2],y[2];
stream.c:       |        ^
stream.c: stream.c:267:10: warning: unused variable 'j' [-Wunused-variable]
stream.c:   267 |   u64  i,j,x[2],y[2];
stream.c:       |          ^
stream.c: 2 warnings generated.

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:avx512clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:avx512clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:avx512clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))

Compiler output


stream.c: stream.c: In function 'Encrypt_Xor':
stream.c: stream.c:267:10: warning: unused variable 'j' [-Wunused-variable]
stream.c:   267 |   u64  i,j,x[2],y[2];
stream.c:       |          ^
stream.c: stream.c:267:8: warning: unused variable 'i' [-Wunused-variable]
stream.c:   267 |   u64  i,j,x[2],y[2];
stream.c:       |        ^

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:avx512gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:avx512gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:avx512gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Compiler output


stream.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/13/include/pmmintrin.h:31,
stream.c:                  from /usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:31,
stream.c:                  from /usr/lib/gcc/x86_64-linux-gnu/13/include/smmintrin.h:32,
stream.c:                  from Intrinsics_SSE4_128block.h:5,
stream.c:                  from Speck128256SSE4.h:17,
stream.c:                  from stream.c:20:
stream.c: In function '_mm_unpackhi_epi64',
stream.c:     inlined from 'Encrypt_Xor' at stream.c:252:22:
stream.c: /usr/lib/gcc/x86_64-linux-gnu/13/include/emmintrin.h:1030:19: warning: 'X[2]' may be used uninitialized [-Wmaybe-uninitialized]
stream.c:  1030 |   return (__m128i)__builtin_ia32_punpckhqdq128 ((__v2di)__A, (__v2di)__B);
stream.c:       |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: stream.c: In function 'Encrypt_Xor':
stream.c: stream.c:222:8: note: 'X[2]' was declared here
stream.c:   222 |   u128 X[4],Y[4],Z[4];
stream.c:       |        ^
stream.c: In function '_mm_unpackhi_epi64',
stream.c:     inlined from 'Encrypt_Xor' at stream.c:252:22:
stream.c: /usr/lib/gcc/x86_64-linux-gnu/13/include/emmintrin.h:1030:19: warning: 'Y[2]' may be used uninitialized [-Wmaybe-uninitialized]
stream.c:  1030 |   return (__m128i)__builtin_ia32_punpckhqdq128 ((__v2di)__A, (__v2di)__B);
stream.c:       |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: stream.c: In function 'Encrypt_Xor':
stream.c: stream.c:222:13: note: 'Y[2]' was declared here
stream.c:   222 |   u128 X[4],Y[4],Z[4];
stream.c:       |             ^

Number of similar (implementation,compiler) pairs: 2, namely:
ImplementationCompiler
T:sse4gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:sse4gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Compiler output


stream.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/13/include/pmmintrin.h:31,
stream.c:                  from /usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:31,
stream.c:                  from /usr/lib/gcc/x86_64-linux-gnu/13/include/smmintrin.h:32,
stream.c:                  from Intrinsics_SSE4_128block.h:5,
stream.c:                  from Speck128256SSE4.h:17,
stream.c:                  from stream.c:20:
stream.c: In function '_mm_unpackhi_epi64',
stream.c:     inlined from 'Encrypt' at stream.c:136:22:
stream.c: /usr/lib/gcc/x86_64-linux-gnu/13/include/emmintrin.h:1030:19: warning: 'X[2]' may be used uninitialized [-Wmaybe-uninitialized]
stream.c:  1030 |   return (__m128i)__builtin_ia32_punpckhqdq128 ((__v2di)__A, (__v2di)__B);
stream.c:       |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: stream.c: In function 'Encrypt':
stream.c: stream.c:106:8: note: 'X[2]' was declared here
stream.c:   106 |   u128 X[4],Y[4],Z[4];
stream.c:       |        ^
stream.c: In function '_mm_unpackhi_epi64',
stream.c:     inlined from 'Encrypt' at stream.c:136:22:
stream.c: /usr/lib/gcc/x86_64-linux-gnu/13/include/emmintrin.h:1030:19: warning: 'Y[2]' may be used uninitialized [-Wmaybe-uninitialized]
stream.c:  1030 |   return (__m128i)__builtin_ia32_punpckhqdq128 ((__v2di)__A, (__v2di)__B);
stream.c:       |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: stream.c: In function 'Encrypt':
stream.c: stream.c:106:13: note: 'Y[2]' was declared here
stream.c:   106 |   u128 X[4],Y[4],Z[4];
stream.c:       |             ^
stream.c: In function '_mm_unpackhi_epi64',
stream.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:sse4gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Namespace violations


stream.o ExpandKey T

Number of similar (implementation,compiler) pairs: 12, namely:
ImplementationCompiler
T:avx2clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:avx2clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:avx2clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:avx2gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:avx2gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:avx2gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:avx512clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:avx512clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:avx512clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:avx512gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:avx512gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:avx512gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Namespace violations


stream.o Encrypt T
stream.o Encrypt_Xor T
stream.o ExpandKey T

Number of similar (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:sse4clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:sse4clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:sse4clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:sse4gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:sse4gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)