Implementation notes: amd64, hertz, crypto_stream/speck128128ctr

Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20240716
Operation: crypto_stream
Primitive: speck128128ctr
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
132934984 0 049117 804 1032T:avx512gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
133636264 0 052517 804 1096T:avx512gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
133732846 0 045336 780 1000T:avx512gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
158137444 0 051581 804 1032T:avx2gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
158138744 0 054965 804 1096T:avx2gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
158636495 0 048960 780 1000T:avx2gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
193039928 0 059839 828 1032T:avx512clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
194139704 0 059503 828 1032T:avx512clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
196736249 0 049944 820 1032T:avx512clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
268333863 0 053479 828 1032T:avx2clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
268326393 0 046223 828 1032T:sse4clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
268726393 0 046335 828 1032T:sse4clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
271234087 0 053815 828 1032T:avx2clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
272622912 0 036592 820 1032T:sse4clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
274730480 0 044040 820 1032T:avx2clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
552916203 0 030357 804 1032T:sse4gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
574617473 0 033709 804 1096T:sse4gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716

Compiler output


stream.c: stream.c:260:8: warning: unused variable 'i' [-Wunused-variable]
stream.c:   260 |   u64  i,j,x[2],y[2];
stream.c:       |        ^
stream.c: stream.c:260:10: warning: unused variable 'j' [-Wunused-variable]
stream.c:   260 |   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:260:10: warning: unused variable 'j' [-Wunused-variable]
stream.c:   260 |   u64  i,j,x[2],y[2];
stream.c:       |          ^
stream.c: stream.c:260:8: warning: unused variable 'i' [-Wunused-variable]
stream.c:   260 |   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 Speck128128SSE4.h:17,
stream.c:                  from stream.c:20:
stream.c: In function '_mm_unpackhi_epi64',
stream.c:     inlined from 'Encrypt_Xor' at stream.c:245: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:215:8: note: 'X[2]' was declared here
stream.c:   215 |   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:245: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:215:13: note: 'Y[2]' was declared here
stream.c:   215 |   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 Speck128128SSE4.h:17,
stream.c:                  from stream.c:20:
stream.c: In function '_mm_unpackhi_epi64',
stream.c:     inlined from 'Encrypt' at stream.c:132: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:102:8: note: 'X[2]' was declared here
stream.c:   102 |   u128 X[4],Y[4],Z[4];
stream.c:       |        ^
stream.c: In function '_mm_unpackhi_epi64',
stream.c:     inlined from 'Encrypt' at stream.c:132: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:102:13: note: 'Y[2]' was declared here
stream.c:   102 |   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)