Implementation notes: amd64, speed2supercop, crypto_hash/fugue256

Computer: speed2supercop
Microarchitecture: amd64; Haswell+AES (306c3)
Architecture: amd64
CPU ID: GenuineIntel-000306c3-1fc9cbf5
SUPERCOP version: 20240625
Operation: crypto_hash
Primitive: fugue256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2395632422 0 044669 752 800T:ccalik/aesnigcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
2403231430 0 041669 752 800T:ccalik/aesnigcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
2484832649 0 045126 792 744T:ccalik/aesniclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
2486032473 0 044758 792 744T:ccalik/aesniclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
2496051011 0 063244 760 800T:SSSE3gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
2496849430 0 060302 792 792T:SSSE3clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
2548430973 0 040687 784 792T:ccalik/aesniclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
2572450262 0 064183 808 744T:SSSE3clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
2581250278 0 064391 808 744T:SSSE3clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
2636030007 0 040085 752 800T:ccalik/aesnigcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
2649655677 0 065667 752 800T:SSSE3gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
2710427444 0 036432 728 768T:ccalik/aesnigcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
2780841544 0 051781 752 800T:ccalik/vpermgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
2782843313 0 055557 752 800T:ccalik/vpermgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
2814840097 0 052110 792 744T:ccalik/vpermclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
2824039921 0 051742 792 744T:ccalik/vpermclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
2837239068 0 047983 784 792T:ccalik/vpermclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
2856433880 0 042254 792 728T:ccalik/aesniclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
2935644267 0 053287 736 768T:SSSE3gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
3085246942 0 059164 760 800T:SSE4.1gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
3089651555 0 061555 752 800T:SSE4.1gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
3167636113 0 045104 728 768T:ccalik/vpermgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
3171639209 0 049285 752 800T:ccalik/vpermgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
3266841432 0 049406 792 728T:ccalik/vpermclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
3340441762 0 050791 736 768T:SSE4.1gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
3374853962 0 064031 808 728T:SSSE3clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
3512847083 0 061015 808 744T:SSE4.1clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
3512847083 0 061207 808 744T:SSE4.1clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
3530847615 0 058478 792 792T:SSE4.1clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
3622870795 0 080740 744 800T:ANSI_opt64gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
3765680725 0 092909 752 800T:ANSI_opt64gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
3767680362 0 090533 752 800T:ANSI_opt64gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
3779266712 0 077479 784 792T:ANSI_opt64clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
3835267421 0 081190 792 744T:ANSI_opt64clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
3840867437 0 081398 792 744T:ANSI_opt64clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
3846467144 0 079718 792 728T:ANSI_opt64clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
3886064966 0 073888 728 768T:ANSI_opt64gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
3900457357 0 067300 744 800T:ANSI_opt32gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
3968861863 0 074045 752 800T:ANSI_opt32gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
3969252854 0 062750 792 728T:ANSI_opt32clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
4006061672 0 071845 752 800T:ANSI_opt32gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
4042852266 0 066230 792 744T:ANSI_opt32clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
4043652266 0 066038 792 744T:ANSI_opt32clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
4052450472 0 063046 792 728T:ANSI_opt32clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
4055251860 0 062615 784 792T:ANSI_opt32clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
4095240991 0 053383 760 800T:sphlibgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
4112450708 0 060767 808 728T:SSE4.1clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
4112869702 0 079598 792 728T:ANSI_opt64clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
4131650425 0 059344 728 768T:ANSI_opt32gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
4138440991 0 051399 760 800T:sphlibgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
4166440273 0 053088 800 728T:sphlibclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
4170439665 0 053590 792 744T:sphlibclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
4182839265 0 049326 792 728T:sphlibclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
4188839777 0 053894 792 744T:sphlibclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
4195639753 0 049934 752 800T:sphlibgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
4203637586 0 046738 736 768T:sphlibgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
4604841284 0 052273 792 792T:sphlibclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625

Checksum failure


fcdde2302d3692407e13d53ade1a369dcfc4e15cc8b0eee59777ddb521dc279f

Number of similar (implementation,compiler) pairs: 2, namely:
ImplementationCompiler
T:SSE4.1gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
T:SSSE3gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)

Compiler output


hash.c: In file included from hash.c:7:
hash.c: fugue_256_code.h:61:3: warning: multi-line comment [-Wcomment]
hash.c:    61 |   //  *(uint_64t*) &(state[off(p,0)]) ^= *(uint_64t *) &(state[off(p,4)]);  state[off(p,2)] ^= state[off(p,6)]; \
hash.c:       |   ^

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

Compiler output


hash.c: In file included from hash.c:24:
hash.c: In file included from ./fugue_256_sse4_code.h:15:
hash.c: ./aestab.h:53:93: warning: backslash and newline separated by space [-Wbackslash-newline-escape]
hash.c:     w(r,0x8c), w(r,0xa1), w(r,0x89), w(r,0x0d), w(r,0xbf), w(r,0xe6), w(r,0x42), w(r,0x68),\
hash.c:                                                                                             ^
hash.c: hash.c:74:52: warning: unused variable 'row' [-Wunused-variable]
hash.c:     __attribute__((aligned(16)))     crypto_uint32 row[4];
hash.c:                                                    ^
hash.c: hash.c:75:52: warning: unused variable 'col' [-Wunused-variable]
hash.c:     __attribute__((aligned(16)))     crypto_uint32 col[4];
hash.c:                                                    ^
hash.c: hash.c:77:14: warning: variable 'mask_0to0' set but not used [-Wunused-but-set-variable]
hash.c:     __m128i  mask_0to0;
hash.c:              ^
hash.c: hash.c:78:14: warning: variable 'mask_123to123' set but not used [-Wunused-but-set-variable]
hash.c:     __m128i  mask_123to123;
hash.c:              ^
hash.c: hash.c:79:14: warning: unused variable 'zero_xmm' [-Wunused-variable]
hash.c:     __m128i  zero_xmm;
hash.c:              ^
hash.c: hash.c:80:14: warning: unused variable 'row128' [-Wunused-variable]
hash.c:     __m128i  row128;
hash.c:              ^
hash.c: hash.c:83:13: warning: unused variable 'ct0' [-Wunused-variable]
hash.c:     __m128i ct0,ct1,ct2,ct3;
hash.c: ...

Number of similar (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:SSE4.1clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:SSE4.1clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:SSE4.1clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:SSE4.1clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:SSE4.1clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))

Compiler output


hash.c: In file included from fugue_256_sse4_code.h:15,
hash.c:                  from hash.c:24:
hash.c: aestab.h:53:92: warning: backslash and newline separated by space
hash.c:    53 |     w(r,0x8c), w(r,0xa1), w(r,0x89), w(r,0x0d), w(r,0xbf), w(r,0xe6), w(r,0x42), w(r,0x68),\
hash.c:       |
hash.c: hash.c: In function 'crypto_hash_fugue256_SSE4_1_timingleaks':
hash.c: hash.c:207:40: warning: operation on 'i1' may be undefined [-Wsequence-point]
hash.c:   207 |         for (   ; i<30; i++) state[ (i1++) %30 ]  = hs_state[(i1 % 60) %32 ];
hash.c:       |                                     ~~~^~~
hash.c: hash.c:213:62: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
hash.c:   213 |         state[ (i1++) %30 ] = ((crypto_uint32 *) & tmp_state)[0];
hash.c:       |                                                              ^
hash.c: hash.c:216:40: warning: operation on 'i1' may be undefined [-Wsequence-point]
hash.c:   216 |         for (   ; i<30; i++) state[ (i1++) %30 ]  = hs_state[(i1 % 60) % 32 ];
hash.c:       |                                     ~~~^~~
hash.c: hash.c:99:18: warning: unused variable 'itmp' [-Wunused-variable]
hash.c:    99 |     short i, i1, itmp;
hash.c:       |                  ^~~~
hash.c: hash.c:83:25: warning: unused variable 'ct3' [-Wunused-variable]
hash.c:    83 |     __m128i ct0,ct1,ct2,ct3;
hash.c:       |                         ^~~
hash.c: hash.c:83:21: warning: unused variable 'ct2' [-Wunused-variable]
hash.c:    83 |     __m128i ct0,ct1,ct2,ct3;
hash.c:       |                     ^~~
hash.c: hash.c:83:17: warning: unused variable 'ct1' [-Wunused-variable]
hash.c: ...

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

Compiler output


hash.c: In file included from fugue_256_sse4_code.h:15,
hash.c:                  from hash.c:24:
hash.c: aestab.h:53:92: warning: backslash and newline separated by space
hash.c:    53 |     w(r,0x8c), w(r,0xa1), w(r,0x89), w(r,0x0d), w(r,0xbf), w(r,0xe6), w(r,0x42), w(r,0x68),\
hash.c:       |
hash.c: hash.c: In function 'crypto_hash_fugue256_SSE4_1_timingleaks':
hash.c: hash.c:207:40: warning: operation on 'i1' may be undefined [-Wsequence-point]
hash.c:   207 |         for (   ; i<30; i++) state[ (i1++) %30 ]  = hs_state[(i1 % 60) %32 ];
hash.c:       |                                     ~~~^~~
hash.c: hash.c:216:40: warning: operation on 'i1' may be undefined [-Wsequence-point]
hash.c:   216 |         for (   ; i<30; i++) state[ (i1++) %30 ]  = hs_state[(i1 % 60) % 32 ];
hash.c:       |                                     ~~~^~~
hash.c: hash.c:99:18: warning: unused variable 'itmp' [-Wunused-variable]
hash.c:    99 |     short i, i1, itmp;
hash.c:       |                  ^~~~
hash.c: hash.c:83:25: warning: unused variable 'ct3' [-Wunused-variable]
hash.c:    83 |     __m128i ct0,ct1,ct2,ct3;
hash.c:       |                         ^~~
hash.c: hash.c:83:21: warning: unused variable 'ct2' [-Wunused-variable]
hash.c:    83 |     __m128i ct0,ct1,ct2,ct3;
hash.c:       |                     ^~~
hash.c: hash.c:83:17: warning: unused variable 'ct1' [-Wunused-variable]
hash.c:    83 |     __m128i ct0,ct1,ct2,ct3;
hash.c:       |                 ^~~
hash.c: hash.c:83:13: warning: unused variable 'ct0' [-Wunused-variable]
hash.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:SSE4.1gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)

Compiler output


hash.c: In file included from hash.c:22:
hash.c: In file included from ./fugue_256_ssse3_code.h:15:
hash.c: ./aestab.h:53:93: warning: backslash and newline separated by space [-Wbackslash-newline-escape]
hash.c:     w(r,0x8c), w(r,0xa1), w(r,0x89), w(r,0x0d), w(r,0xbf), w(r,0xe6), w(r,0x42), w(r,0x68),\
hash.c:                                                                                             ^
hash.c: In file included from hash.c:22:
hash.c: ./fugue_256_ssse3_code.h:111:24: warning: backslash and newline separated by space [-Wbackslash-newline-escape]
hash.c: t0       =  xmm_out ; \
hash.c:                        ^
hash.c: hash.c:72:52: warning: unused variable 'row' [-Wunused-variable]
hash.c:     __attribute__((aligned(16)))     crypto_uint32 row[4];
hash.c:                                                    ^
hash.c: hash.c:73:52: warning: unused variable 'col' [-Wunused-variable]
hash.c:     __attribute__((aligned(16)))     crypto_uint32 col[4];
hash.c:                                                    ^
hash.c: hash.c:77:14: warning: unused variable 'zero_xmm' [-Wunused-variable]
hash.c:     __m128i  zero_xmm;
hash.c:              ^
hash.c: hash.c:78:14: warning: unused variable 'row128' [-Wunused-variable]
hash.c:     __m128i  row128;
hash.c:              ^
hash.c: hash.c:79:31: warning: unused variable 'xmm_out1' [-Wunused-variable]
hash.c:     __m128i  xmm_out, xmm_in, xmm_out1, xmm_out2;
hash.c:                               ^
hash.c: hash.c:79:41: warning: unused variable 'xmm_out2' [-Wunused-variable]
hash.c: ...

Number of similar (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:SSSE3clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:SSSE3clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:SSSE3clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:SSSE3clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:SSSE3clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))

Compiler output


hash.c: In file included from fugue_256_ssse3_code.h:15,
hash.c:                  from hash.c:22:
hash.c: aestab.h:53:92: warning: backslash and newline separated by space
hash.c:    53 |     w(r,0x8c), w(r,0xa1), w(r,0x89), w(r,0x0d), w(r,0xbf), w(r,0xe6), w(r,0x42), w(r,0x68),\
hash.c:       |
hash.c: fugue_256_ssse3_code.h:111:23: warning: backslash and newline separated by space
hash.c:   111 | t0       =  xmm_out ; \
hash.c:       |
hash.c: hash.c: In function 'crypto_hash_fugue256_SSSE3_timingleaks':
hash.c: hash.c:205:40: warning: operation on 'i1' may be undefined [-Wsequence-point]
hash.c:   205 |         for (   ; i<30; i++) state[ (i1++) %30 ]  = hs_state[(i1 % 60) %32 ];
hash.c:       |                                     ~~~^~~
hash.c: hash.c:211:62: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
hash.c:   211 |         state[ (i1++) %30 ] = ((crypto_uint32 *) & tmp_state)[0];
hash.c:       |                                                              ^
hash.c: hash.c:214:40: warning: operation on 'i1' may be undefined [-Wsequence-point]
hash.c:   214 |         for (   ; i<30; i++) state[ (i1++) %30 ]  = hs_state[(i1 % 60) % 32 ];
hash.c:       |                                     ~~~^~~
hash.c: hash.c:97:18: warning: unused variable 'itmp' [-Wunused-variable]
hash.c:    97 |     short i, i1, itmp;
hash.c:       |                  ^~~~
hash.c: hash.c:80:38: warning: unused variable 'xfr' [-Wunused-variable]
hash.c:    80 |     __m128i  t0,t1,t2,t3, tmp_state, xfr;
hash.c:       |                                      ^~~
hash.c: hash.c:79:41: warning: unused variable 'xmm_out2' [-Wunused-variable]
hash.c: ...

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

Compiler output


hash.c: In file included from fugue_256_ssse3_code.h:15,
hash.c:                  from hash.c:22:
hash.c: aestab.h:53:92: warning: backslash and newline separated by space
hash.c:    53 |     w(r,0x8c), w(r,0xa1), w(r,0x89), w(r,0x0d), w(r,0xbf), w(r,0xe6), w(r,0x42), w(r,0x68),\
hash.c:       |
hash.c: fugue_256_ssse3_code.h:111:23: warning: backslash and newline separated by space
hash.c:   111 | t0       =  xmm_out ; \
hash.c:       |
hash.c: hash.c: In function 'crypto_hash_fugue256_SSSE3_timingleaks':
hash.c: hash.c:205:40: warning: operation on 'i1' may be undefined [-Wsequence-point]
hash.c:   205 |         for (   ; i<30; i++) state[ (i1++) %30 ]  = hs_state[(i1 % 60) %32 ];
hash.c:       |                                     ~~~^~~
hash.c: hash.c:214:40: warning: operation on 'i1' may be undefined [-Wsequence-point]
hash.c:   214 |         for (   ; i<30; i++) state[ (i1++) %30 ]  = hs_state[(i1 % 60) % 32 ];
hash.c:       |                                     ~~~^~~
hash.c: hash.c:97:18: warning: unused variable 'itmp' [-Wunused-variable]
hash.c:    97 |     short i, i1, itmp;
hash.c:       |                  ^~~~
hash.c: hash.c:80:38: warning: unused variable 'xfr' [-Wunused-variable]
hash.c:    80 |     __m128i  t0,t1,t2,t3, tmp_state, xfr;
hash.c:       |                                      ^~~
hash.c: hash.c:79:41: warning: unused variable 'xmm_out2' [-Wunused-variable]
hash.c:    79 |     __m128i  xmm_out, xmm_in, xmm_out1, xmm_out2;
hash.c:       |                                         ^~~~~~~~
hash.c: hash.c:79:31: warning: unused variable 'xmm_out1' [-Wunused-variable]
hash.c: ...

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

Compiler output


hash.c: hash.c:540:43: warning: unused variable 'uBlockCount' [-Wunused-variable]
hash.c:         unsigned int i, col[30], block[4], base, uBlockCount = 5;
hash.c:                                                  ^
hash.c: hash.c:541:10: warning: unused variable 't1' [-Wunused-variable]
hash.c:         __m128i t1, t2;
hash.c:                 ^
hash.c: hash.c:541:14: warning: unused variable 't2' [-Wunused-variable]
hash.c:         __m128i t1, t2;
hash.c:                     ^
hash.c: hash.c:746:10: warning: unused variable 't1' [-Wunused-variable]
hash.c:         __m128i t1, t2;
hash.c:                 ^
hash.c: hash.c:746:14: warning: unused variable 't2' [-Wunused-variable]
hash.c:         __m128i t1, t2;
hash.c:                     ^
hash.c: hash.c:915:10: warning: unused variable 't1' [-Wunused-variable]
hash.c:         __m128i t1, t2;
hash.c:                 ^
hash.c: hash.c:915:14: warning: unused variable 't2' [-Wunused-variable]
hash.c:         __m128i t1, t2;
hash.c:                     ^
hash.c: hash.c:1053:10: warning: unused variable 't1' [-Wunused-variable]
hash.c:         __m128i t1, t2;
hash.c:                 ^
hash.c: hash.c:1053:14: warning: unused variable 't2' [-Wunused-variable]
hash.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:ccalik/aesniclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:ccalik/aesniclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:ccalik/aesniclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:ccalik/aesniclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))

Compiler output


hash.c: hash.c:449:4: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'Compress256' that is compiled without support for 'ssse3'
hash.c:                         SUBROUND256_2(ctx->state[8], ctx->state[9], ctx->state[7], ctx->state[2], ctx->state[7], ctx->state[8], ctx->state[6], ctx->state[1]);
hash.c:                         ^
hash.c: hash.c:340:2: note: expanded from macro 'SUBROUND256_2'
hash.c:         SUBSTITUTE(r0, _t1, _t2, _t3, _t0);\
hash.c:         ^
hash.c: hash.c:249:10: note: expanded from macro 'SUBSTITUTE'
hash.c:                         _t2 = _mm_shuffle_epi8(r0, M128(_inv_shift_rows));\
hash.c:                               ^
hash.c: hash.c:449:4: error: always_inline function '_mm_aesenclast_si128' requires target feature 'aes', but would be inlined into function 'Compress256' that is compiled without support for 'aes'
hash.c: hash.c:340:2: note: expanded from macro 'SUBROUND256_2'
hash.c:         SUBSTITUTE(r0, _t1, _t2, _t3, _t0);\
hash.c:         ^
hash.c: hash.c:250:10: note: expanded from macro 'SUBSTITUTE'
hash.c:                         _t2 = _mm_aesenclast_si128(_t2, M128(_zero))
hash.c:                               ^
hash.c: hash.c:449:4: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'Compress256' that is compiled without support for 'ssse3'
hash.c: hash.c:341:2: note: expanded from macro 'SUBROUND256_2'
hash.c:         SUPERMIX(_t2, _t3, _t0, _t1, r0);\
hash.c:         ^
hash.c: hash.c:253:2: note: expanded from macro 'SUPERMIX'
hash.c:         PRESUPERMIX(t0, t1, t2, t3, t4);\
hash.c:         ^
hash.c: hash.c:245:25: note: expanded from macro 'PRESUPERMIX'
hash.c:         s2 = _mm_xor_si128(s2, _mm_shuffle_epi8(M128(_mul2mask), t1));\
hash.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:ccalik/aesniclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))

Compiler output


hash.c: In file included from hash.c:21:
hash.c: vperm.h:57:9: warning: multi-line comment [-Wcomment]
hash.c:    57 |         //t2 = _mm_shuffle_epi8(table[0], x);\
hash.c:       |         ^
hash.c: hash.c:123:1: warning: multi-line comment [-Wcomment]
hash.c:   123 | //#define PACK_S0(s0, s1, t1)\
hash.c:       | ^
hash.c: hash.c:132:1: warning: multi-line comment [-Wcomment]
hash.c:   132 | //#define UNPACK_S0(s0, s1, t1)\
hash.c:       | ^
hash.c: hash.c:141:1: warning: multi-line comment [-Wcomment]
hash.c:   141 | //#define CMIX(s1, s2, r1, r2, t1, t2)\
hash.c:       | ^
hash.c: hash.c:330:1: warning: multi-line comment [-Wcomment]
hash.c:   330 | //#define SUBROUND256(r1, r2, r0, r5)\
hash.c:       | ^
hash.c: hash.c: In function 'Final256':
hash.c: hash.c:541:21: warning: unused variable 't2' [-Wunused-variable]
hash.c:   541 |         __m128i t1, t2;
hash.c:       |                     ^~
hash.c: hash.c:541:17: warning: unused variable 't1' [-Wunused-variable]
hash.c:   541 |         __m128i t1, t2;
hash.c:       |                 ^~
hash.c: hash.c:540:50: warning: unused variable 'uBlockCount' [-Wunused-variable]
hash.c:   540 |         unsigned int i, col[30], block[4], base, uBlockCount = 5;
hash.c: ...

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

Compiler output


hash.c: hash.c:539:43: warning: unused variable 'uBlockCount' [-Wunused-variable]
hash.c:         unsigned int i, col[30], block[4], base, uBlockCount = 5;
hash.c:                                                  ^
hash.c: hash.c:540:14: warning: unused variable 't2' [-Wunused-variable]
hash.c:         __m128i t1, t2;
hash.c:                     ^
hash.c: hash.c:745:14: warning: unused variable 't2' [-Wunused-variable]
hash.c:         __m128i t1, t2;
hash.c:                     ^
hash.c: hash.c:914:14: warning: unused variable 't2' [-Wunused-variable]
hash.c:         __m128i t1, t2;
hash.c:                     ^
hash.c: hash.c:1052:14: warning: unused variable 't2' [-Wunused-variable]
hash.c:         __m128i t1, t2;
hash.c:                     ^
hash.c: 5 warnings generated.

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:ccalik/vpermclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:ccalik/vpermclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:ccalik/vpermclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:ccalik/vpermclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))

Compiler output


hash.c: hash.c:447:4: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'Compress256' that is compiled without support for 'ssse3'
hash.c:                         TIX256(pmsg, ctx->state[1], ctx->state[0], ctx->state[6], ctx->state[8], _t0, _t1, _t2);
hash.c:                         ^
hash.c: hash.c:168:2: note: expanded from macro 'TIX256'
hash.c:         TRANSFORM(t1, _k_ipt, t2, t3);\
hash.c:         ^
hash.c: ./vperm.h:52:7: note: expanded from macro 'TRANSFORM'
hash.c:         t1 = _mm_shuffle_epi8(*((__m128i*)table + 1), t1);\
hash.c:              ^
hash.c: hash.c:447:4: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'Compress256' that is compiled without support for 'ssse3'
hash.c: hash.c:168:2: note: expanded from macro 'TIX256'
hash.c:         TRANSFORM(t1, _k_ipt, t2, t3);\
hash.c:         ^
hash.c: ./vperm.h:53:7: note: expanded from macro 'TRANSFORM'
hash.c:         x  = _mm_shuffle_epi8(*((__m128i*)table + 0), x);\
hash.c:              ^
hash.c: hash.c:448:4: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'Compress256' that is compiled without support for 'ssse3'
hash.c:                         SUBROUND256_2(ctx->state[8], ctx->state[9], ctx->state[7], ctx->state[2], ctx->state[7], ctx->state[8], ctx->state[6], ctx->state[1]);
hash.c:                         ^
hash.c: hash.c:339:2: note: expanded from macro 'SUBROUND256_2'
hash.c:         SUBSTITUTE(r0, _t1, _t2, _t3, _t0);\
hash.c:         ^
hash.c: hash.c:264:20: note: expanded from macro 'SUBSTITUTE'
hash.c: #define SUBSTITUTE SUBSTITUTE_VPERM_CORE
hash.c:                    ^
hash.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:ccalik/vpermclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))

Compiler output


hash.c: In file included from hash.c:21:
hash.c: vperm.h:57:9: warning: multi-line comment [-Wcomment]
hash.c:    57 |         //t2 = _mm_shuffle_epi8(table[0], x);\
hash.c:       |         ^
hash.c: hash.c:122:1: warning: multi-line comment [-Wcomment]
hash.c:   122 | //#define PACK_S0(s0, s1, t1)\
hash.c:       | ^
hash.c: hash.c:131:1: warning: multi-line comment [-Wcomment]
hash.c:   131 | //#define UNPACK_S0(s0, s1, t1)\
hash.c:       | ^
hash.c: hash.c:140:1: warning: multi-line comment [-Wcomment]
hash.c:   140 | //#define CMIX(s1, s2, r1, r2, t1, t2)\
hash.c:       | ^
hash.c: hash.c:329:1: warning: multi-line comment [-Wcomment]
hash.c:   329 | //#define SUBROUND256(r1, r2, r0, r5)\
hash.c:       | ^
hash.c: hash.c: In function 'Final256':
hash.c: hash.c:540:21: warning: unused variable 't2' [-Wunused-variable]
hash.c:   540 |         __m128i t1, t2;
hash.c:       |                     ^~
hash.c: hash.c:539:50: warning: unused variable 'uBlockCount' [-Wunused-variable]
hash.c:   539 |         unsigned int i, col[30], block[4], base, uBlockCount = 5;
hash.c:       |                                                  ^~~~~~~~~~~
hash.c: hash.c: In function 'Final384':
hash.c: hash.c:745:21: warning: unused variable 't2' [-Wunused-variable]
hash.c: ...

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