Implementation notes: amd64, alder, crypto_hash/lsh512

Computer: alder
Microarchitecture: amd64; Golden Cove (90675-00)
Architecture: amd64
CPU ID: GenuineIntel-00090675-00-bfebfbff
SUPERCOP version: 20240716
Operation: crypto_hash
Primitive: lsh512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
391214970 0 017598 804 888avx2clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
405915998 0 018375 772 952avx2gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
413314693 0 017142 804 888avx2clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
413514935 0 019696 812 920avx2clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
414517553 0 020480 812 920avx2clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
422216887 0 021288 780 952avx2gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
422717089 0 019392 780 952avx2gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
425313517 0 016139 756 920avx2gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
554322231 0 023552 812 920ssse3clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
554521985 0 020870 804 888ssse3clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
555522231 0 023424 812 920ssse3clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
556022234 0 021278 804 888ssse3clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
564125799 0 025744 780 952ssse3gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
564724682 0 022711 772 952ssse3gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
566821929 0 020355 756 920ssse3gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
567525905 0 023800 780 952ssse3gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
581428535 0 026400 812 920refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
582128137 0 023766 804 888refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
615028535 0 026560 812 920refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
620524858 0 022542 804 888sse2clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
636724759 0 024640 812 920sse2clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
637424759 0 024768 812 920sse2clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
637724525 0 022086 804 888sse2clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
697334996 0 027879 772 952refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
749229735 0 027272 812 888sse2clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
763730561 0 026128 780 952sse2gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
765229008 0 024871 772 952sse2gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
765334135 0 029680 812 888refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
765730529 0 028120 780 952sse2gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
768926251 0 022515 756 920sse2gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
778132343 0 025563 756 920refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
796038151 0 031928 780 952refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
846839847 0 030768 780 952refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
122482635 336 01418259 144916 10264cryptoppclang++_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
122674790 336 01423480 145028 10264cryptoppclang++_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
124822592 336 01714370 144892 10360cryptoppg++_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
125702778 336 01712148 144900 10360cryptoppg++_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
125832359 336 01420190 144924 10296cryptoppclang++_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
129481872 336 01710312 144900 10328cryptoppg++_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
129872429 336 01711564 144900 10360cryptoppg++_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
130292359 336 01420350 144924 10296cryptoppclang++_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
1919849322 0 035030 804 888refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716

Compiler output


lsh-impl.c: lsh-impl.c:182:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh-impl.c:         0x0706050403020100, 0x0d0c0b0a09080f0e, 0x1312111017161514, 0x19181f1e1d1c1b1a,
lsh-impl.c:         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh-impl.c:         {                                                                             }
lsh-impl.c: lsh-impl.c:183:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh-impl.c:         0x0605040302010007, 0x0c0b0a09080f0e0d, 0x1211101716151413, 0x181f1e1d1c1b1a19
lsh-impl.c:         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh-impl.c:         {                                                                             }
lsh-impl.c: 2 warnings generated.
lsh.c: lsh.c:182:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh.c:         0x0706050403020100, 0x0d0c0b0a09080f0e, 0x1312111017161514, 0x19181f1e1d1c1b1a,
lsh.c:         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh.c:         {                                                                             }
lsh.c: lsh.c:183:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh.c:         0x0605040302010007, 0x0c0b0a09080f0e0d, 0x1211101716151413, 0x181f1e1d1c1b1a19
lsh.c:         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh.c:         {                                                                             }
lsh.c: 2 warnings generated.

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
avx2clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
avx2clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
avx2clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
avx2clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


lsh-impl.c: lsh-impl.c:182:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh-impl.c:         0x0706050403020100, 0x0d0c0b0a09080f0e, 0x1312111017161514, 0x19181f1e1d1c1b1a,
lsh-impl.c:         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh-impl.c:         {                                                                             }
lsh-impl.c: lsh-impl.c:183:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh-impl.c:         0x0605040302010007, 0x0c0b0a09080f0e0d, 0x1211101716151413, 0x181f1e1d1c1b1a19
lsh-impl.c:         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh-impl.c:         {                                                                             }
lsh-impl.c: lsh-impl.c:461:12: error: always_inline function '_mm256_set_epi32' requires target feature 'avx', but would be inlined into function 'lsh512_init' that is compiled without support for 'avx'
lsh-impl.c:         cv_l[0] = _mm256_set_epi32(0, 0, 0, 0, 0, LSH_GET_HASHBIT(algtype), 0, LSH512_HASH_VAL_MAX_BYTE_LEN);
lsh-impl.c:                   ^
lsh-impl.c: lsh-impl.c:461:12: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
lsh-impl.c: lsh-impl.c:462:12: error: always_inline function '_mm256_setzero_si256' requires target feature 'avx', but would be inlined into function 'lsh512_init' that is compiled without support for 'avx'
lsh-impl.c:         cv_l[1] = _mm256_setzero_si256();
lsh-impl.c:                   ^
lsh-impl.c: lsh-impl.c:462:12: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
lsh-impl.c: lsh-impl.c:463:12: error: always_inline function '_mm256_setzero_si256' requires target feature 'avx', but would be inlined into function 'lsh512_init' that is compiled without support for 'avx'
lsh-impl.c:         cv_r[0] = _mm256_setzero_si256();
lsh-impl.c:                   ^
lsh-impl.c: lsh-impl.c:463:12: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
lsh-impl.c: lsh-impl.c:464:12: error: always_inline function '_mm256_setzero_si256' requires target feature 'avx', but would be inlined into function 'lsh512_init' that is compiled without support for 'avx'
lsh-impl.c:         cv_r[1] = _mm256_setzero_si256();
lsh-impl.c:                   ^
lsh-impl.c: lsh-impl.c:464:12: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
lsh-impl.c: lsh-impl.c:465:22: error: always_inline function '_mm256_loadu_si256' requires target feature 'avx', but would be inlined into function 'lsh512_init' that is compiled without support for 'avx'
lsh-impl.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
avx2clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


lsh-impl.c: lsh-impl.c:181:62: warning: missing braces around initializer [-Wmissing-braces]
lsh-impl.c:   181 | static const LSH_ALIGNED_(32) lsh_u64 g_BytePermInfo[2][4] = {
lsh-impl.c:       |                                                              ^
lsh-impl.c:   182 |  0x0706050403020100, 0x0d0c0b0a09080f0e, 0x1312111017161514, 0x19181f1e1d1c1b1a,
lsh-impl.c:       |  {                                                                             }
lsh-impl.c:   183 |  0x0605040302010007, 0x0c0b0a09080f0e0d, 0x1211101716151413, 0x181f1e1d1c1b1a19
lsh-impl.c:       |  {
lsh-impl.c:   184 | };
lsh-impl.c:       | }
lsh.c: lsh.c:181:62: warning: missing braces around initializer [-Wmissing-braces]
lsh.c:   181 | static const LSH_ALIGNED_(32) lsh_u64 g_BytePermInfo[2][4] = {
lsh.c:       |                                                              ^
lsh.c:   182 |  0x0706050403020100, 0x0d0c0b0a09080f0e, 0x1312111017161514, 0x19181f1e1d1c1b1a,
lsh.c:       |  {                                                                             }
lsh.c:   183 |  0x0605040302010007, 0x0c0b0a09080f0e0d, 0x1211101716151413, 0x181f1e1d1c1b1a19
lsh.c:       |  {
lsh.c:   184 | };
lsh.c:       | }

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
avx2gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
avx2gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
avx2gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
avx2gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

Compiler output


lsh-impl.c: lsh-impl.c:177:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh-impl.c:         0x0706050403020100, 0x0d0c0b0a09080f0e,
lsh-impl.c:         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh-impl.c:         {                                     }
lsh-impl.c: lsh-impl.c:178:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh-impl.c:         0x0302010007060504, 0x09080f0e0d0c0b0a,
lsh-impl.c:         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh-impl.c:         {                                     }
lsh-impl.c: lsh-impl.c:179:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh-impl.c:         0x0605040302010007, 0x0c0b0a09080f0e0d,
lsh-impl.c:         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh-impl.c:         {                                     }
lsh-impl.c: lsh-impl.c:180:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh-impl.c:         0x0201000706050403, 0x080f0e0d0c0b0a09
lsh-impl.c:         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh-impl.c:         {                                     }
lsh-impl.c: lsh-impl.c:182:39: warning: unused variable 'g_MsgWordPermInfo' [-Wunused-const-variable]
lsh-impl.c: static const LSH_ALIGNED_(32) lsh_u64 g_MsgWordPermInfo[4] = {
lsh-impl.c:                                       ^
lsh-impl.c: 5 warnings generated.
lsh.c: lsh.c:177:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh.c:         0x0706050403020100, 0x0d0c0b0a09080f0e,
lsh.c:         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh.c:         {                                     }
lsh.c: lsh.c:178:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh.c:         0x0302010007060504, 0x09080f0e0d0c0b0a,
lsh.c:         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh.c:         {                                     }
lsh.c: lsh.c:179:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh.c:         0x0605040302010007, 0x0c0b0a09080f0e0d,
lsh.c:         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh.c:         {                                     }
lsh.c: lsh.c:180:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh.c:         0x0201000706050403, 0x080f0e0d0c0b0a09
lsh.c:         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh.c:         {                                     }
lsh.c: lsh.c:182:39: warning: unused variable 'g_MsgWordPermInfo' [-Wunused-const-variable]
lsh.c: static const LSH_ALIGNED_(32) lsh_u64 g_MsgWordPermInfo[4] = {
lsh.c:                                       ^
lsh.c: 5 warnings generated.

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
ssse3clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
ssse3clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
ssse3clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
ssse3clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


lsh-impl.c: lsh-impl.c:177:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh-impl.c:         0x0706050403020100, 0x0d0c0b0a09080f0e,
lsh-impl.c:         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh-impl.c:         {                                     }
lsh-impl.c: lsh-impl.c:178:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh-impl.c:         0x0302010007060504, 0x09080f0e0d0c0b0a,
lsh-impl.c:         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh-impl.c:         {                                     }
lsh-impl.c: lsh-impl.c:179:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh-impl.c:         0x0605040302010007, 0x0c0b0a09080f0e0d,
lsh-impl.c:         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh-impl.c:         {                                     }
lsh-impl.c: lsh-impl.c:180:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh-impl.c:         0x0201000706050403, 0x080f0e0d0c0b0a09
lsh-impl.c:         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh-impl.c:         {                                     }
lsh-impl.c: lsh-impl.c:182:39: warning: unused variable 'g_MsgWordPermInfo' [-Wunused-const-variable]
lsh-impl.c: static const LSH_ALIGNED_(32) lsh_u64 g_MsgWordPermInfo[4] = {
lsh-impl.c:                                       ^
lsh-impl.c: lsh-impl.c:348:12: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'rotate_msg_gamma' that is compiled without support for 'ssse3'
lsh-impl.c:         cv_r[0] = SHUFFLE8(cv_r[0], perm_step[0]);
lsh-impl.c:                   ^
lsh-impl.c: lsh-impl.c:199:23: note: expanded from macro 'SHUFFLE8'
lsh-impl.c: #define SHUFFLE8(x,y) _mm_shuffle_epi8(x,y)
lsh-impl.c:                       ^
lsh-impl.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
ssse3clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


lsh-impl.c: lsh-impl.c:176:62: warning: missing braces around initializer [-Wmissing-braces]
lsh-impl.c:   176 | static const LSH_ALIGNED_(32) lsh_u64 g_BytePermInfo[4][2] = {
lsh-impl.c:       |                                                              ^
lsh-impl.c:   177 |  0x0706050403020100, 0x0d0c0b0a09080f0e,
lsh-impl.c:       |  {                                     }
lsh-impl.c:   178 |  0x0302010007060504, 0x09080f0e0d0c0b0a,
lsh-impl.c:       |  {                                     }
lsh-impl.c:   179 |  0x0605040302010007, 0x0c0b0a09080f0e0d,
lsh-impl.c:       |  {                                     }
lsh-impl.c:   180 |  0x0201000706050403, 0x080f0e0d0c0b0a09
lsh-impl.c:       |  {
lsh-impl.c:   181 | };
lsh-impl.c:       | }
lsh-impl.c: lsh-impl.c:182:39: warning: 'g_MsgWordPermInfo' defined but not used [-Wunused-const-variable=]
lsh-impl.c:   182 | static const LSH_ALIGNED_(32) lsh_u64 g_MsgWordPermInfo[4] = {
lsh-impl.c:       |                                       ^~~~~~~~~~~~~~~~~
lsh.c: lsh.c:176:62: warning: missing braces around initializer [-Wmissing-braces]
lsh.c:   176 | static const LSH_ALIGNED_(32) lsh_u64 g_BytePermInfo[4][2] = {
lsh.c:       |                                                              ^
lsh.c:   177 |  0x0706050403020100, 0x0d0c0b0a09080f0e,
lsh.c:       |  {                                     }
lsh.c:   178 |  0x0302010007060504, 0x09080f0e0d0c0b0a,
lsh.c:       |  {                                     }
lsh.c:   179 |  0x0605040302010007, 0x0c0b0a09080f0e0d,
lsh.c:       |  {                                     }
lsh.c:   180 |  0x0201000706050403, 0x080f0e0d0c0b0a09
lsh.c:       |  {
lsh.c:   181 | };
lsh.c:       | }
lsh.c: lsh.c:182:39: warning: 'g_MsgWordPermInfo' defined but not used [-Wunused-const-variable=]
lsh.c:   182 | static const LSH_ALIGNED_(32) lsh_u64 g_MsgWordPermInfo[4] = {
lsh.c:       |                                       ^~~~~~~~~~~~~~~~~

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
ssse3gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
ssse3gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
ssse3gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
ssse3gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

Compiler output


lsh-impl.c: lsh-impl.c:174:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh-impl.c:         0x0706050403020100, 0x0d0c0b0a09080f0e,
lsh-impl.c:         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh-impl.c:         {                                     }
lsh-impl.c: lsh-impl.c:175:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh-impl.c:         0x0302010007060504, 0x09080f0e0d0c0b0a,
lsh-impl.c:         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh-impl.c:         {                                     }
lsh-impl.c: lsh-impl.c:176:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh-impl.c:         0x0605040302010007, 0x0c0b0a09080f0e0d,
lsh-impl.c:         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh-impl.c:         {                                     }
lsh-impl.c: lsh-impl.c:177:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh-impl.c:         0x0201000706050403, 0x080f0e0d0c0b0a09
lsh-impl.c:         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh-impl.c:         {                                     }
lsh-impl.c: lsh-impl.c:179:39: warning: unused variable 'g_MsgWordPermInfo' [-Wunused-const-variable]
lsh-impl.c: static const LSH_ALIGNED_(32) lsh_u64 g_MsgWordPermInfo[4] = {
lsh-impl.c:                                       ^
lsh-impl.c: lsh-impl.c:310:10: error: '__builtin_ia32_vprotqi' needs target feature xop
lsh-impl.c:         cv[0] = _mm_roti_epi64(cv[0], ROT_EVEN_ALPHA);
lsh-impl.c:                 ^
lsh-impl.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/xopintrin.h:237:12: note: expanded from macro '_mm_roti_epi64'
lsh-impl.c:   (__m128i)__builtin_ia32_vprotqi((__v2di)(__m128i)(A), (N))
lsh-impl.c:            ^
lsh-impl.c: ...

Number of similar (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
xopclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
xopclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
xopclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
xopclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
xopclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


lsh-impl.c: lsh-impl.c:173:62: warning: missing braces around initializer [-Wmissing-braces]
lsh-impl.c:   173 | static const LSH_ALIGNED_(32) lsh_u64 g_BytePermInfo[4][2] = {
lsh-impl.c:       |                                                              ^
lsh-impl.c:   174 |  0x0706050403020100, 0x0d0c0b0a09080f0e,
lsh-impl.c:       |  {                                     }
lsh-impl.c:   175 |  0x0302010007060504, 0x09080f0e0d0c0b0a,
lsh-impl.c:       |  {                                     }
lsh-impl.c:   176 |  0x0605040302010007, 0x0c0b0a09080f0e0d,
lsh-impl.c:       |  {                                     }
lsh-impl.c:   177 |  0x0201000706050403, 0x080f0e0d0c0b0a09
lsh-impl.c:       |  {
lsh-impl.c:   178 | };
lsh-impl.c:       | }
lsh-impl.c: lsh-impl.c:179:39: warning: 'g_MsgWordPermInfo' defined but not used [-Wunused-const-variable=]
lsh-impl.c:   179 | static const LSH_ALIGNED_(32) lsh_u64 g_MsgWordPermInfo[4] = {
lsh-impl.c:       |                                       ^~~~~~~~~~~~~~~~~
lsh-impl.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:38,
lsh-impl.c:                  from lsh-impl.c:35:
lsh-impl.c: lsh-impl.c: In function 'rotate_blk_even_alpha':
lsh-impl.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/xopintrin.h:272:1: error: inlining failed in call to 'always_inline' '_mm_roti_epi64': target specific option mismatch
lsh-impl.c:   272 | _mm_roti_epi64(__m128i __A, const int __B)
lsh-impl.c:       | ^~~~~~~~~~~~~~
lsh-impl.c: lsh-impl.c:313:10: note: called from here
lsh-impl.c:   313 |  cv[3] = _mm_roti_epi64(cv[3], ROT_EVEN_ALPHA);
lsh-impl.c:       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh-impl.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
xopgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
xopgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
xopgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
xopgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

Namespace violations


lsh-impl.o lsh512_digest T
lsh-impl.o lsh512_final T
lsh-impl.o lsh512_init T
lsh-impl.o lsh512_update T
lsh.o lsh512_digest T
lsh.o lsh512_final T
lsh.o lsh512_init T
lsh.o lsh512_update T

Number of similar (implementation,compiler) pairs: 34, namely:
ImplementationCompiler
avx2clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
avx2clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
avx2clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
avx2clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
avx2gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
avx2gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
avx2gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
avx2gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
sse2clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
sse2clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
sse2clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
sse2clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
sse2clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
sse2gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
sse2gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
sse2gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
sse2gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
ssse3clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
ssse3clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
ssse3clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
ssse3clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
ssse3gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
ssse3gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
ssse3gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
ssse3gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

Passed TIMECOP


TIMECOP iterations: 10

Number of similar (implementation,compiler) pairs: 42, namely:
ImplementationCompiler
avx2clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
avx2clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
avx2clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
avx2clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
avx2gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
avx2gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
avx2gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
avx2gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
cryptoppclang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
cryptoppclang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
cryptoppclang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall
cryptoppclang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
cryptoppg++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
cryptoppg++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
cryptoppg++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
cryptoppg++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
sse2clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
sse2clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
sse2clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
sse2clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
sse2clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
sse2gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
sse2gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
sse2gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
sse2gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
ssse3clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
ssse3clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
ssse3clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
ssse3clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
ssse3gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
ssse3gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
ssse3gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
ssse3gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)