Implementation notes: amd64, spawn, crypto_hash/luffa256

Computer: spawn
Microarchitecture: amd64; Zen 3 (a20f10)
Architecture: amd64
CPU ID: AuthenticAMD-00a20f10-178bfbff
SUPERCOP version: 20231215
Operation: crypto_hash
Primitive: luffa256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
127289814 0 54423182 776 1344T:sse2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
131729091 0 54420478 776 1344T:sse2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
132468205 0 54418033 752 1312T:sse2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
135799711 0 54420565 768 1344T:sse2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
1894427775 0 039238 776 800T:sphlibgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
1905527871 0 041302 776 800T:sphlibgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
1957326869 0 037886 776 800T:sphlibgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
2227423099 0 033009 752 768T:sphlibgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
2379119407 320 032822 1104 800T:opt32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
2934111331 320 022790 1104 800T:opt32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
3059911031 320 021949 1096 800T:opt32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
321539844 320 019745 1080 768T:opt32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
747402550 0 9613918 776 896T:thomaz/basicgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
846933144 0 9616486 776 896T:thomaz/basicgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
1159951994 0 9612869 768 896T:thomaz/basicgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
1162541891 0 9611745 752 864T:thomaz/basicgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215

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: 16, 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 -O -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 -O -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 -O -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 -O -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: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: 8, 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 -O -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 -O -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: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: 4, 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 -O -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: 4, 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 -O -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: 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: 4, 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 -O -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: 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: 4, 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 -O -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: 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: 4, 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 -O -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