Implementation notes: amd64, hertz, crypto_hash/luffa256

Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20240107
Operation: crypto_hash
Primitive: luffa256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
112448646 0 54422787 844 1512T:sse2clang-17_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
112599845 0 54424107 844 1512T:sse2clang-17_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
118047034 0 54418580 836 1512T:sse2clang-17_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
136599987 0 54423741 804 1576T:sse2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
140829675 0 54421413 804 1512T:sse2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
142758664 0 54418896 780 1480T:sse2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
2526028983 0 040749 804 968T:sphlibgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
2526528903 0 042765 804 1032T:sphlibgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
2588918255 320 032085 1132 1032T:opt32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
2646211619 320 023381 1132 968T:opt32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
2688824929 0 035240 780 936T:sphlibgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
2859625888 0 037436 836 968T:sphlibclang-17_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
2863826265 0 040747 844 968T:sphlibclang-17_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
2866226233 0 040587 844 968T:sphlibclang-17_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
342639221 320 019520 1108 936T:opt32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
5158018476 320 032755 1172 968T:opt32clang-17_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
5389618276 320 032475 1172 968T:opt32clang-17_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
558182825 0 9617091 844 1064T:thomaz/basicclang-17_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
5588310516 320 022108 1164 968T:opt32clang-17_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
559932825 0 9617219 844 1064T:thomaz/basicclang-17_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
901811937 0 9613468 836 1064T:thomaz/basicclang-17_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
936781805 0 9612072 780 1032T:thomaz/basicgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
1085322889 0 9614565 804 1064T:thomaz/basicgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
1111963313 0 9617061 804 1128T:thomaz/basicgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217

Compiler output

Implementation: T:sse2_x64asm
Security model: timingleaks
Compiler: clang-17 -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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 (compiler,implementation) pairs: 6, namely:
CompilerImplementations
clang-17 -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sse2_x64asm
clang-17 -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sse2_x64asm
clang-17 -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sse2_x64asm
clang-17 -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ssse3_x64asm
clang-17 -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ssse3_x64asm
clang-17 -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ssse3_x64asm

Compiler output

Implementation: T:sse2_x64asm
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
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 (compiler,implementation) pairs: 12, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sse2_x64asm
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sse2_x64asm
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sse2_x64asm
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sse2_x64asm-2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sse2_x64asm-2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sse2_x64asm-2
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ssse3_x64asm
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ssse3_x64asm
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ssse3_x64asm
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ssse3_x64asm-2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ssse3_x64asm-2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ssse3_x64asm-2

Compiler output

Implementation: T:sse2_x64asm-2
Security model: timingleaks
Compiler: clang-17 -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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 (compiler,implementation) pairs: 6, namely:
CompilerImplementations
clang-17 -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sse2_x64asm-2
clang-17 -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sse2_x64asm-2
clang-17 -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sse2_x64asm-2
clang-17 -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ssse3_x64asm-2
clang-17 -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ssse3_x64asm-2
clang-17 -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ssse3_x64asm-2

Compiler output

Implementation: T:ssse3_x64asm-PS
Security model: timingleaks
Compiler: clang-17 -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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 (compiler,implementation) pairs: 3, namely:
CompilerImplementations
clang-17 -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ssse3_x64asm-PS
clang-17 -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ssse3_x64asm-PS
clang-17 -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ssse3_x64asm-PS

Compiler output

Implementation: T:ssse3_x64asm-PS
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
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 (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ssse3_x64asm-PS
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ssse3_x64asm-PS
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ssse3_x64asm-PS
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ssse3_x64asm-PS-2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ssse3_x64asm-PS-2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ssse3_x64asm-PS-2

Compiler output

Implementation: T:ssse3_x64asm-PS-2
Security model: timingleaks
Compiler: clang-17 -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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 (compiler,implementation) pairs: 3, namely:
CompilerImplementations
clang-17 -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ssse3_x64asm-PS-2
clang-17 -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ssse3_x64asm-PS-2
clang-17 -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ssse3_x64asm-PS-2

Compiler output

Implementation: T:thomaz/asm-PS
Security model: timingleaks
Compiler: clang-17 -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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 (compiler,implementation) pairs: 6, namely:
CompilerImplementations
clang-17 -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:thomaz/asm-PS
clang-17 -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:thomaz/asm-PS
clang-17 -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:thomaz/asm-PS
clang-17 -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:thomaz/asm-PS-v2-FP
clang-17 -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:thomaz/asm-PS-v2-FP
clang-17 -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:thomaz/asm-PS-v2-FP

Compiler output

Implementation: T:thomaz/asm-PS
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
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 (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:thomaz/asm-PS
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:thomaz/asm-PS
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:thomaz/asm-PS

Compiler output

Implementation: T:thomaz/asm-PS-v2-FP
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
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 (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:thomaz/asm-PS-v2-FP
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:thomaz/asm-PS-v2-FP
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:thomaz/asm-PS-v2-FP

Compiler output

Implementation: T:thomaz/asm-PS-v2-INT
Security model: timingleaks
Compiler: clang-17 -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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 (compiler,implementation) pairs: 3, namely:
CompilerImplementations
clang-17 -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:thomaz/asm-PS-v2-INT
clang-17 -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:thomaz/asm-PS-v2-INT
clang-17 -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:thomaz/asm-PS-v2-INT

Compiler output

Implementation: T:thomaz/asm-PS-v2-INT
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
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 (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:thomaz/asm-PS-v2-INT
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:thomaz/asm-PS-v2-INT
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:thomaz/asm-PS-v2-INT

Compiler output

Implementation: T:thomaz/asm-PSPar-v2-FP
Security model: timingleaks
Compiler: clang-17 -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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 (compiler,implementation) pairs: 3, namely:
CompilerImplementations
clang-17 -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:thomaz/asm-PSPar-v2-FP
clang-17 -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:thomaz/asm-PSPar-v2-FP
clang-17 -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:thomaz/asm-PSPar-v2-FP

Compiler output

Implementation: T:thomaz/asm-PSPar-v2-FP
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
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 (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:thomaz/asm-PSPar-v2-FP
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:thomaz/asm-PSPar-v2-FP
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:thomaz/asm-PSPar-v2-FP

Compiler output

Implementation: T:thomaz/asm-PSPar-v2-INT
Security model: timingleaks
Compiler: clang-17 -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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 (compiler,implementation) pairs: 3, namely:
CompilerImplementations
clang-17 -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:thomaz/asm-PSPar-v2-INT
clang-17 -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:thomaz/asm-PSPar-v2-INT
clang-17 -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:thomaz/asm-PSPar-v2-INT

Compiler output

Implementation: T:thomaz/asm-PSPar-v2-INT
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
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 (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:thomaz/asm-PSPar-v2-INT
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:thomaz/asm-PSPar-v2-INT
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:thomaz/asm-PSPar-v2-INT