Implementation notes: amd64, hydra7, crypto_hash/luffa256

Computer: hydra7
Microarchitecture: amd64; Sandy Bridge+AES (206a7)
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_hash
Primitive: luffa256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
212039838 0 54422821 804 1504T:sse2gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
218018931 0 54420645 804 1504T:sse2gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
219769691 0 54421036 796 1504T:sse2gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
219988183 0 54418472 780 1472T:sse2gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
4100327264 0 040341 804 960T:sphlibgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
4131427488 0 039285 804 960T:sphlibgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
4164426267 0 037773 804 960T:sphlibgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
4578118151 320 031205 1132 960T:opt32gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
4770621979 0 032344 780 928T:sphlibgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
4952910755 320 022541 1132 960T:opt32gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
499549292 320 019656 1108 928T:opt32gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
5241210506 320 021924 1124 960T:opt32gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
1077842335 0 9614037 804 1056T:thomaz/basicgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
1095783113 0 9616093 804 1056T:thomaz/basicgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
1525261888 0 9612200 780 1024T:thomaz/basicgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
1545381992 0 9613372 796 1056T:thomaz/basicgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625

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: 4, namely:
ImplementationCompiler
T:sphlibgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:sphlibgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:sphlibgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:sphlibgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

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: 16, namely:
ImplementationCompiler
T:sse2_x64asmgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:sse2_x64asmgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:sse2_x64asmgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:sse2_x64asmgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:sse2_x64asm-2gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:sse2_x64asm-2gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:sse2_x64asm-2gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:sse2_x64asm-2gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:ssse3_x64asmgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:ssse3_x64asmgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:ssse3_x64asmgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:ssse3_x64asmgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:ssse3_x64asm-2gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:ssse3_x64asm-2gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:ssse3_x64asm-2gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:ssse3_x64asm-2gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

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: 8, namely:
ImplementationCompiler
T:ssse3_x64asm-PSgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:ssse3_x64asm-PSgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:ssse3_x64asm-PSgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:ssse3_x64asm-PSgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:ssse3_x64asm-PS-2gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:ssse3_x64asm-PS-2gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:ssse3_x64asm-PS-2gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:ssse3_x64asm-PS-2gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

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: 4, namely:
ImplementationCompiler
T:thomaz/asm-PSgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:thomaz/asm-PSgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:thomaz/asm-PSgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:thomaz/asm-PSgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.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: 4, namely:
ImplementationCompiler
T:thomaz/asm-PS-v2-FPgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:thomaz/asm-PS-v2-FPgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:thomaz/asm-PS-v2-FPgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:thomaz/asm-PS-v2-FPgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

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: 4, namely:
ImplementationCompiler
T:thomaz/asm-PS-v2-INTgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:thomaz/asm-PS-v2-INTgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:thomaz/asm-PS-v2-INTgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:thomaz/asm-PS-v2-INTgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

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: 4, namely:
ImplementationCompiler
T:thomaz/asm-PSPar-v2-FPgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:thomaz/asm-PSPar-v2-FPgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:thomaz/asm-PSPar-v2-FPgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:thomaz/asm-PSPar-v2-FPgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

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: 4, namely:
ImplementationCompiler
T:thomaz/asm-PSPar-v2-INTgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:thomaz/asm-PSPar-v2-INTgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:thomaz/asm-PSPar-v2-INTgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:thomaz/asm-PSPar-v2-INTgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)