Implementation notes: amd64, hertz, crypto_hash/luffa256

Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20240716
Operation: crypto_hash
Primitive: luffa256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1083213760 0 54431463 828 1512T:sse2clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
1087813736 0 54431327 828 1512T:sse2clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
116686962 0 54418512 820 1512T:sse2clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
136739987 0 54423741 804 1576T:sse2gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
140989675 0 54421389 804 1512T:sse2gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
142948658 0 54418912 780 1480T:sse2gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
2345142814 0 060567 828 968T:sphlibclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
2356442814 0 060679 828 968T:sphlibclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
2421025694 0 037328 820 968T:sphlibclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
2515028983 0 040725 804 968T:sphlibgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
2529428903 0 042765 804 1032T:sphlibgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
2547328780 320 046319 1156 968T:opt32clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
2588918255 320 032085 1132 1032T:opt32gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
264159755 320 021328 1148 968T:opt32clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
2689811619 320 023357 1132 968T:opt32gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
2693024929 0 035256 780 936T:sphlibgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
270785246 0 9622815 828 1096T:thomaz/basicclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
271005246 0 9622927 828 1096T:thomaz/basicclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
2842829868 320 047438 1156 968T:opt32clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
302829206 320 019520 1108 936T:opt32gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
903151934 0 9613456 820 1064T:thomaz/basicclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
934291805 0 9612088 780 1032T:thomaz/basicgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
1043173313 0 9617061 804 1128T:thomaz/basicgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
1096912889 0 9614541 804 1064T:thomaz/basicgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716

Compiler output


luffa.c: luffa.c:76:22: warning: unused variable 'RC00' [-Wunused-const-variable]
luffa.c:    76 | static const sph_u32 RC00[8] = {
luffa.c:       |                      ^~~~
luffa.c: luffa.c:83:22: warning: unused variable 'RC04' [-Wunused-const-variable]
luffa.c:    83 | static const sph_u32 RC04[8] = {
luffa.c:       |                      ^~~~
luffa.c: luffa.c:90:22: warning: unused variable 'RC10' [-Wunused-const-variable]
luffa.c:    90 | static const sph_u32 RC10[8] = {
luffa.c:       |                      ^~~~
luffa.c: luffa.c:97:22: warning: unused variable 'RC14' [-Wunused-const-variable]
luffa.c:    97 | static const sph_u32 RC14[8] = {
luffa.c:       |                      ^~~~
luffa.c: luffa.c:136:22: warning: unused variable 'RC30' [-Wunused-const-variable]
luffa.c:   136 | static const sph_u32 RC30[8] = {
luffa.c:       |                      ^~~~
luffa.c: luffa.c:143:22: warning: unused variable 'RC34' [-Wunused-const-variable]
luffa.c:   143 | static const sph_u32 RC34[8] = {
luffa.c:       |                      ^~~~
luffa.c: 6 warnings generated.

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

Compiler output


luffa.c: luffa.c:143:22: warning: 'RC34' defined but not used [-Wunused-const-variable=]
luffa.c:   143 | static const sph_u32 RC34[8] = {
luffa.c:       |                      ^~~~
luffa.c: luffa.c:136:22: warning: 'RC30' defined but not used [-Wunused-const-variable=]
luffa.c:   136 | static const sph_u32 RC30[8] = {
luffa.c:       |                      ^~~~
luffa.c: luffa.c:97:22: warning: 'RC14' defined but not used [-Wunused-const-variable=]
luffa.c:    97 | static const sph_u32 RC14[8] = {
luffa.c:       |                      ^~~~
luffa.c: luffa.c:90:22: warning: 'RC10' defined but not used [-Wunused-const-variable=]
luffa.c:    90 | static const sph_u32 RC10[8] = {
luffa.c:       |                      ^~~~
luffa.c: luffa.c:83:22: warning: 'RC04' defined but not used [-Wunused-const-variable=]
luffa.c:    83 | static const sph_u32 RC04[8] = {
luffa.c:       |                      ^~~~
luffa.c: luffa.c:76:22: warning: 'RC00' defined but not used [-Wunused-const-variable=]
luffa.c:    76 | static const sph_u32 RC00[8] = {
luffa.c:       |                      ^~~~

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

Compiler output


luffa_x64asm.s: luffa_x64asm.s:780:13: error: unknown token in expression
luffa_x64asm.s:     movaps  %xmm0, [IV   ]
luffa_x64asm.s:             ^
luffa_x64asm.s: luffa_x64asm.s:781:13: error: unknown token in expression
luffa_x64asm.s:     movaps  %xmm1, [IV+16]
luffa_x64asm.s:             ^
luffa_x64asm.s: luffa_x64asm.s:782:13: error: unknown token in expression
luffa_x64asm.s:     movaps  %xmm2, [IV+32]
luffa_x64asm.s:             ^
luffa_x64asm.s: luffa_x64asm.s:783:13: error: unknown token in expression
luffa_x64asm.s:     movaps  %xmm3, [IV+48]
luffa_x64asm.s:             ^
luffa_x64asm.s: luffa_x64asm.s:784:13: error: unknown token in expression
luffa_x64asm.s:     movaps  %xmm4, [IV+64]
luffa_x64asm.s:             ^
luffa_x64asm.s: luffa_x64asm.s:785:13: error: unknown token in expression
luffa_x64asm.s:     movaps  %xmm5, [IV+80]
luffa_x64asm.s:             ^
luffa_x64asm.s: luffa_x64asm.s:786:14: error: unknown token in expression
luffa_x64asm.s:     movups  [%rdi   ], %xmm0
luffa_x64asm.s:              ^
luffa_x64asm.s: luffa_x64asm.s:787:14: error: unknown token in expression
luffa_x64asm.s:     movups  [%rdi+16], %xmm1
luffa_x64asm.s:              ^
luffa_x64asm.s: luffa_x64asm.s:788:14: error: unknown token in expression
luffa_x64asm.s: ...

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

Compiler output


try.c: /usr/bin/ld: libcrypto_hash_luffa256.a(luffa_x64asm.o): relocation R_X86_64_32S against symbol `IV' can not be used when making a PIE object; recompile with -fPIE
try.c: /usr/bin/ld: failed to set dynamic section sizes: bad value
try.c: collect2: error: ld returned 1 exit status

Number of similar (implementation,compiler) pairs: 12, namely:
ImplementationCompiler
T:sse2_x64asmgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:sse2_x64asmgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:sse2_x64asmgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:sse2_x64asm-2gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:sse2_x64asm-2gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:sse2_x64asm-2gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:ssse3_x64asmgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:ssse3_x64asmgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:ssse3_x64asmgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:ssse3_x64asm-2gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:ssse3_x64asm-2gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:ssse3_x64asm-2gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Compiler output


luffa_x64asm.s: luffa_x64asm.s:780:13: error: unknown token in expression
luffa_x64asm.s:     movdqa  %xmm0, [IV   ]
luffa_x64asm.s:             ^
luffa_x64asm.s: luffa_x64asm.s:781:13: error: unknown token in expression
luffa_x64asm.s:     movdqa  %xmm1, [IV+16]
luffa_x64asm.s:             ^
luffa_x64asm.s: luffa_x64asm.s:782:13: error: unknown token in expression
luffa_x64asm.s:     movdqa  %xmm2, [IV+32]
luffa_x64asm.s:             ^
luffa_x64asm.s: luffa_x64asm.s:783:13: error: unknown token in expression
luffa_x64asm.s:     movdqa  %xmm3, [IV+48]
luffa_x64asm.s:             ^
luffa_x64asm.s: luffa_x64asm.s:784:13: error: unknown token in expression
luffa_x64asm.s:     movdqa  %xmm4, [IV+64]
luffa_x64asm.s:             ^
luffa_x64asm.s: luffa_x64asm.s:785:13: error: unknown token in expression
luffa_x64asm.s:     movdqa  %xmm5, [IV+80]
luffa_x64asm.s:             ^
luffa_x64asm.s: luffa_x64asm.s:786:14: error: unknown token in expression
luffa_x64asm.s:     movups  [%rdi   ], %xmm0
luffa_x64asm.s:              ^
luffa_x64asm.s: luffa_x64asm.s:787:14: error: unknown token in expression
luffa_x64asm.s:     movups  [%rdi+16], %xmm1
luffa_x64asm.s:              ^
luffa_x64asm.s: luffa_x64asm.s:788:14: error: unknown token in expression
luffa_x64asm.s: ...

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

Compiler output


luffa256_x64asm.s: luffa256_x64asm.s:297:9: error: unknown token in expression
luffa256_x64asm.s:         movaps  %xmm0, [IV   ]
luffa256_x64asm.s:                 ^
luffa256_x64asm.s: luffa256_x64asm.s:298:9: error: unknown token in expression
luffa256_x64asm.s:         movaps  %xmm1, [IV+16]
luffa256_x64asm.s:                 ^
luffa256_x64asm.s: luffa256_x64asm.s:299:9: error: unknown token in expression
luffa256_x64asm.s:         movaps  %xmm2, [IV+32]
luffa256_x64asm.s:                 ^
luffa256_x64asm.s: luffa256_x64asm.s:300:9: error: unknown token in expression
luffa256_x64asm.s:         movaps  %xmm3, [IV+48]
luffa256_x64asm.s:                 ^
luffa256_x64asm.s: luffa256_x64asm.s:301:9: error: unknown token in expression
luffa256_x64asm.s:         movaps  %xmm4, [IV+64]
luffa256_x64asm.s:                 ^
luffa256_x64asm.s: luffa256_x64asm.s:302:9: error: unknown token in expression
luffa256_x64asm.s:         movaps  %xmm5, [IV+80]
luffa256_x64asm.s:                 ^
luffa256_x64asm.s: luffa256_x64asm.s:303:10: error: unknown token in expression
luffa256_x64asm.s:         movups  [%rdi   ], %xmm0
luffa256_x64asm.s:                  ^
luffa256_x64asm.s: luffa256_x64asm.s:304:10: error: unknown token in expression
luffa256_x64asm.s:         movups  [%rdi+16], %xmm1
luffa256_x64asm.s:                  ^
luffa256_x64asm.s: luffa256_x64asm.s:305:10: error: unknown token in expression
luffa256_x64asm.s: ...

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

Compiler output


try.c: /usr/bin/ld: libcrypto_hash_luffa256.a(luffa256_x64asm.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIE
try.c: /usr/bin/ld: failed to set dynamic section sizes: bad value
try.c: collect2: error: ld returned 1 exit status

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

Compiler output


luffa256_x64asm.s: luffa256_x64asm.s:297:9: error: unknown token in expression
luffa256_x64asm.s:         movdqa  %xmm0, [IV   ]
luffa256_x64asm.s:                 ^
luffa256_x64asm.s: luffa256_x64asm.s:298:9: error: unknown token in expression
luffa256_x64asm.s:         movdqa  %xmm1, [IV+16]
luffa256_x64asm.s:                 ^
luffa256_x64asm.s: luffa256_x64asm.s:299:9: error: unknown token in expression
luffa256_x64asm.s:         movdqa  %xmm2, [IV+32]
luffa256_x64asm.s:                 ^
luffa256_x64asm.s: luffa256_x64asm.s:300:9: error: unknown token in expression
luffa256_x64asm.s:         movdqa  %xmm3, [IV+48]
luffa256_x64asm.s:                 ^
luffa256_x64asm.s: luffa256_x64asm.s:301:9: error: unknown token in expression
luffa256_x64asm.s:         movdqa  %xmm4, [IV+64]
luffa256_x64asm.s:                 ^
luffa256_x64asm.s: luffa256_x64asm.s:302:9: error: unknown token in expression
luffa256_x64asm.s:         movdqa  %xmm5, [IV+80]
luffa256_x64asm.s:                 ^
luffa256_x64asm.s: luffa256_x64asm.s:303:10: error: unknown token in expression
luffa256_x64asm.s:         movdqu  [%rdi   ], %xmm0
luffa256_x64asm.s:                  ^
luffa256_x64asm.s: luffa256_x64asm.s:304:10: error: unknown token in expression
luffa256_x64asm.s:         movdqu  [%rdi+16], %xmm1
luffa256_x64asm.s:                  ^
luffa256_x64asm.s: luffa256_x64asm.s:305:10: error: unknown token in expression
luffa256_x64asm.s: ...

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

Compiler output


hash.c: hash.c:32:12: warning: passing 'const unsigned char *' to parameter of type 'unsigned char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
hash.c:    32 |         fLuffa256(in, out, inlen);
hash.c:       |                   ^~
hash.c: hash.c:29:31: note: passing argument to parameter 'input' here
hash.c:    29 | void fLuffa256(unsigned char *input, unsigned char *output, int len);
hash.c:       |                               ^
hash.c: 1 warning generated.
luffa_256.s: <instantiation>:1:8: error: unknown token in expression
luffa_256.s: pshufb %xmm6, %xmm12
luffa_256.s:        ^
luffa_256.s: <instantiation>:1:1: note: while in macro instantiation
luffa_256.s: mPSSTEPI %xmm6, %xmm7, %xmm12
luffa_256.s: ^
luffa_256.s: luffa_256.s:232:2: note: while in macro instantiation
luffa_256.s:         mPS %xmm6, %xmm7, %xmm8, %xmm9, %xmm10, %xmm11
luffa_256.s:         ^
luffa_256.s: <instantiation>:2:9: error: unknown token in expression
luffa_256.s:         pshufb %xmm7, %xmm12
luffa_256.s:                ^
luffa_256.s: <instantiation>:1:1: note: while in macro instantiation
luffa_256.s: mPSSTEPI %xmm6, %xmm7, %xmm12
luffa_256.s: ^
luffa_256.s: luffa_256.s:232:2: note: while in macro instantiation
luffa_256.s:         mPS %xmm6, %xmm7, %xmm8, %xmm9, %xmm10, %xmm11
luffa_256.s:         ^
luffa_256.s: <instantiation>:1:8: error: unknown token in expression
luffa_256.s: movaps %xmm8, %xmm6
luffa_256.s:        ^
luffa_256.s: <instantiation>:2:2: note: while in macro instantiation
luffa_256.s:         mPSSTEPII %xmm6, %xmm7, %xmm8, %xmm9, %xmm10, %xmm11
luffa_256.s:         ^
luffa_256.s: luffa_256.s:232:2: note: while in macro instantiation
luffa_256.s: ...

Number of similar (implementation,compiler) pairs: 6, namely:
ImplementationCompiler
T:thomaz/asm-PSclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:thomaz/asm-PSclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:thomaz/asm-PSclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:thomaz/asm-PS-v2-FPclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:thomaz/asm-PS-v2-FPclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:thomaz/asm-PS-v2-FPclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))

Compiler output


hash.c: hash.c: In function 'crypto_hash_luffa256_thomaz_asm_PS_timingleaks':
hash.c: hash.c:32:19: warning: passing argument 1 of 'fLuffa256' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
hash.c:    32 |         fLuffa256(in, out, inlen);
hash.c:       |                   ^~
hash.c: hash.c:29:31: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
hash.c:    29 | void fLuffa256(unsigned char *input, unsigned char *output, int len);
hash.c:       |                ~~~~~~~~~~~~~~~^~~~~
try.c: /usr/bin/ld: libcrypto_hash_luffa256.a(luffa_256.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIE
try.c: /usr/bin/ld: failed to set dynamic section sizes: bad value
try.c: collect2: error: ld returned 1 exit status

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

Compiler output


hash.c: hash.c: In function 'crypto_hash_luffa256_thomaz_asm_PS_v2_FP_timingleaks':
hash.c: hash.c:32:19: warning: passing argument 1 of 'fLuffa256' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
hash.c:    32 |         fLuffa256(in, out, inlen);
hash.c:       |                   ^~
hash.c: hash.c:29:31: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
hash.c:    29 | void fLuffa256(unsigned char *input, unsigned char *output, int len);
hash.c:       |                ~~~~~~~~~~~~~~~^~~~~
try.c: /usr/bin/ld: libcrypto_hash_luffa256.a(luffa_256.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIE
try.c: /usr/bin/ld: failed to set dynamic section sizes: bad value
try.c: collect2: error: ld returned 1 exit status

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

Compiler output


hash.c: hash.c:32:12: warning: passing 'const unsigned char *' to parameter of type 'unsigned char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
hash.c:    32 |         fLuffa256(in, out, inlen);
hash.c:       |                   ^~
hash.c: hash.c:29:31: note: passing argument to parameter 'input' here
hash.c:    29 | void fLuffa256(unsigned char *input, unsigned char *output, int len);
hash.c:       |                               ^
hash.c: 1 warning generated.
luffa_256.s: <instantiation>:1:8: error: unknown token in expression
luffa_256.s: pshufb %xmm6, %xmm12
luffa_256.s:        ^
luffa_256.s: <instantiation>:1:1: note: while in macro instantiation
luffa_256.s: mPSSTEPI %xmm6, %xmm7, %xmm12
luffa_256.s: ^
luffa_256.s: luffa_256.s:232:2: note: while in macro instantiation
luffa_256.s:         mPS %xmm6, %xmm7, %xmm8, %xmm9, %xmm10, %xmm11
luffa_256.s:         ^
luffa_256.s: <instantiation>:2:9: error: unknown token in expression
luffa_256.s:         pshufb %xmm7, %xmm12
luffa_256.s:                ^
luffa_256.s: <instantiation>:1:1: note: while in macro instantiation
luffa_256.s: mPSSTEPI %xmm6, %xmm7, %xmm12
luffa_256.s: ^
luffa_256.s: luffa_256.s:232:2: note: while in macro instantiation
luffa_256.s:         mPS %xmm6, %xmm7, %xmm8, %xmm9, %xmm10, %xmm11
luffa_256.s:         ^
luffa_256.s: <instantiation>:1:8: error: unknown token in expression
luffa_256.s: movdqa %xmm8, %xmm6
luffa_256.s:        ^
luffa_256.s: <instantiation>:2:2: note: while in macro instantiation
luffa_256.s:         mPSSTEPII %xmm6, %xmm7, %xmm8, %xmm9, %xmm10, %xmm11
luffa_256.s:         ^
luffa_256.s: luffa_256.s:232:2: note: while in macro instantiation
luffa_256.s: ...

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

Compiler output


hash.c: hash.c: In function 'crypto_hash_luffa256_thomaz_asm_PS_v2_INT_timingleaks':
hash.c: hash.c:32:19: warning: passing argument 1 of 'fLuffa256' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
hash.c:    32 |         fLuffa256(in, out, inlen);
hash.c:       |                   ^~
hash.c: hash.c:29:31: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
hash.c:    29 | void fLuffa256(unsigned char *input, unsigned char *output, int len);
hash.c:       |                ~~~~~~~~~~~~~~~^~~~~
try.c: /usr/bin/ld: libcrypto_hash_luffa256.a(luffa_256.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIE
try.c: /usr/bin/ld: failed to set dynamic section sizes: bad value
try.c: collect2: error: ld returned 1 exit status

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

Compiler output


hash.c: hash.c:32:12: warning: passing 'const unsigned char *' to parameter of type 'unsigned char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
hash.c:    32 |         fLuffa256(in, out, inlen);
hash.c:       |                   ^~
hash.c: hash.c:29:31: note: passing argument to parameter 'input' here
hash.c:    29 | void fLuffa256(unsigned char *input, unsigned char *output, int len);
hash.c:       |                               ^
hash.c: 1 warning generated.
luffa256.s: <instantiation>:1:8: error: unknown token in expression
luffa256.s: pshufb %xmm6, maskShufLittleEndian
luffa256.s:        ^
luffa256.s: <instantiation>:1:1: note: while in macro instantiation
luffa256.s: mPSSTEPI %xmm6, %xmm7, maskShufLittleEndian
luffa256.s: ^
luffa256.s: luffa256.s:445:2: note: while in macro instantiation
luffa256.s:         mPS %xmm6, %xmm7, %xmm8, %xmm9, %xmm10, %xmm11
luffa256.s:         ^
luffa256.s: <instantiation>:2:9: error: unknown token in expression
luffa256.s:         pshufb %xmm7, maskShufLittleEndian
luffa256.s:                ^
luffa256.s: <instantiation>:1:1: note: while in macro instantiation
luffa256.s: mPSSTEPI %xmm6, %xmm7, maskShufLittleEndian
luffa256.s: ^
luffa256.s: luffa256.s:445:2: note: while in macro instantiation
luffa256.s:         mPS %xmm6, %xmm7, %xmm8, %xmm9, %xmm10, %xmm11
luffa256.s:         ^
luffa256.s: <instantiation>:1:8: error: unknown token in expression
luffa256.s: movaps %xmm8, %xmm6
luffa256.s:        ^
luffa256.s: <instantiation>:2:2: note: while in macro instantiation
luffa256.s:         mPSSTEPII %xmm6, %xmm7, %xmm8, %xmm9, %xmm10, %xmm11
luffa256.s:         ^
luffa256.s: luffa256.s:445:2: note: while in macro instantiation
luffa256.s: ...

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

Compiler output


hash.c: hash.c: In function 'crypto_hash_luffa256_thomaz_asm_PSPar_v2_FP_timingleaks':
hash.c: hash.c:32:19: warning: passing argument 1 of 'fLuffa256' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
hash.c:    32 |         fLuffa256(in, out, inlen);
hash.c:       |                   ^~
hash.c: hash.c:29:31: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
hash.c:    29 | void fLuffa256(unsigned char *input, unsigned char *output, int len);
hash.c:       |                ~~~~~~~~~~~~~~~^~~~~
try.c: /usr/bin/ld: libcrypto_hash_luffa256.a(luffa256.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIE
try.c: /usr/bin/ld: failed to set dynamic section sizes: bad value
try.c: collect2: error: ld returned 1 exit status

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

Compiler output


hash.c: hash.c:32:12: warning: passing 'const unsigned char *' to parameter of type 'unsigned char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
hash.c:    32 |         fLuffa256(in, out, inlen);
hash.c:       |                   ^~
hash.c: hash.c:29:31: note: passing argument to parameter 'input' here
hash.c:    29 | void fLuffa256(unsigned char *input, unsigned char *output, int len);
hash.c:       |                               ^
hash.c: 1 warning generated.
luffa256.s: <instantiation>:1:8: error: unknown token in expression
luffa256.s: pshufb %xmm6, maskShufLittleEndian
luffa256.s:        ^
luffa256.s: <instantiation>:1:1: note: while in macro instantiation
luffa256.s: mPSSTEPI %xmm6, %xmm7, maskShufLittleEndian
luffa256.s: ^
luffa256.s: luffa256.s:445:2: note: while in macro instantiation
luffa256.s:         mPS %xmm6, %xmm7, %xmm8, %xmm9, %xmm10, %xmm11
luffa256.s:         ^
luffa256.s: <instantiation>:2:9: error: unknown token in expression
luffa256.s:         pshufb %xmm7, maskShufLittleEndian
luffa256.s:                ^
luffa256.s: <instantiation>:1:1: note: while in macro instantiation
luffa256.s: mPSSTEPI %xmm6, %xmm7, maskShufLittleEndian
luffa256.s: ^
luffa256.s: luffa256.s:445:2: note: while in macro instantiation
luffa256.s:         mPS %xmm6, %xmm7, %xmm8, %xmm9, %xmm10, %xmm11
luffa256.s:         ^
luffa256.s: <instantiation>:1:8: error: unknown token in expression
luffa256.s: movdqa %xmm8, %xmm6
luffa256.s:        ^
luffa256.s: <instantiation>:2:2: note: while in macro instantiation
luffa256.s:         mPSSTEPII %xmm6, %xmm7, %xmm8, %xmm9, %xmm10, %xmm11
luffa256.s:         ^
luffa256.s: luffa256.s:445:2: note: while in macro instantiation
luffa256.s: ...

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

Compiler output


hash.c: hash.c: In function 'crypto_hash_luffa256_thomaz_asm_PSPar_v2_INT_timingleaks':
hash.c: hash.c:32:19: warning: passing argument 1 of 'fLuffa256' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
hash.c:    32 |         fLuffa256(in, out, inlen);
hash.c:       |                   ^~
hash.c: hash.c:29:31: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
hash.c:    29 | void fLuffa256(unsigned char *input, unsigned char *output, int len);
hash.c:       |                ~~~~~~~~~~~~~~~^~~~~
try.c: /usr/bin/ld: libcrypto_hash_luffa256.a(luffa256.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIE
try.c: /usr/bin/ld: failed to set dynamic section sizes: bad value
try.c: collect2: error: ld returned 1 exit status

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

Namespace violations


luffa_for_32.o CNS D
luffa_for_32.o Final T
luffa_for_32.o Hash T
luffa_for_32.o IV R
luffa_for_32.o Init T
luffa_for_32.o Update T
luffa_for_32.o Update256 T
luffa_for_32.o Update384 T
luffa_for_32.o Update512 T
luffa_for_32.o finalization224 T
luffa_for_32.o finalization256 T
luffa_for_32.o finalization384 T
luffa_for_32.o finalization512 T
luffa_for_32.o process_last_msgs256 T
luffa_for_32.o process_last_msgs384 T
luffa_for_32.o process_last_msgs512 T
luffa_for_32.o rnd256 T
luffa_for_32.o rnd384 T
luffa_for_32.o rnd512 T

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

Namespace violations


luffa.o sph_luffa224 T
luffa.o sph_luffa224_addbits_and_close T
luffa.o sph_luffa224_close T
luffa.o sph_luffa224_init T
luffa.o sph_luffa256 T
luffa.o sph_luffa256_addbits_and_close T
luffa.o sph_luffa256_close T
luffa.o sph_luffa256_init T
luffa.o sph_luffa384 T
luffa.o sph_luffa384_addbits_and_close T
luffa.o sph_luffa384_close T
luffa.o sph_luffa384_init T
luffa.o sph_luffa512 T
luffa.o sph_luffa512_addbits_and_close T
luffa.o sph_luffa512_close T
luffa.o sph_luffa512_init T

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

Namespace violations


luffa_for_sse2.o ALLONE B
luffa_for_sse2.o CNS128 B
luffa_for_sse2.o Final T
luffa_for_sse2.o Hash T
luffa_for_sse2.o Init T
luffa_for_sse2.o MASK B
luffa_for_sse2.o Update T

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