Implementation notes: amd64, utrecht, crypto_hash/luffa256

Computer: utrecht
Architecture: amd64
CPU ID: GenuineIntel-000006fb-bfebfbff
SUPERCOP version: 20160806
Operation: crypto_hash
Primitive: luffa256
TimeImplementationCompilerBenchmark dateSUPERCOP version
21978ssse3_x64asm-2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
22050thomaz/asm-PS-v2-INTgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
22050thomaz/asm-PS-v2-INTgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
22059thomaz/asm-PS-v2-FPgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
22059thomaz/asm-PS-v2-FPgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
22068thomaz/asm-PS-v2-INTgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
22077thomaz/asm-PS-v2-INTgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
22086thomaz/asm-PS-v2-FPgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
22095thomaz/asm-PSgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
22095thomaz/asm-PSgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
22113thomaz/asm-PSgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
22113thomaz/asm-PSgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
22113ssse3_x64asmgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
22122thomaz/asm-PSPar-v2-INTgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
22122thomaz/asm-PSPar-v2-INTgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
22140thomaz/asm-PSPar-v2-INTgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
22167thomaz/asm-PSPar-v2-INTgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
22167thomaz/asm-PS-v2-FPgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
22176ssse3_x64asmgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
22203ssse3_x64asmgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
22203ssse3_x64asm-2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
22203ssse3_x64asmgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
22221ssse3_x64asm-2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
22257ssse3_x64asm-2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
22329thomaz/asm-PSPar-v2-FPgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
22356thomaz/asm-PSPar-v2-FPgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
22383thomaz/asm-PSPar-v2-FPgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
22401thomaz/asm-PSPar-v2-FPgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
22617sse2_x64asmgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
22662sse2_x64asm-2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
22689sse2_x64asmgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
22716sse2_x64asm-2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
22725sse2_x64asm-2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
22734sse2_x64asmgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
22734sse2_x64asm-2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
22761sse2_x64asmgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
23562sse2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
24687sse2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
25065sse2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
26712sse2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
27126ssse3_x64asm-PS-2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
27180ssse3_x64asm-PSgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
27342ssse3_x64asm-PS-2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
27387ssse3_x64asm-PSgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
27495ssse3_x64asm-PS-2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
27567ssse3_x64asm-PSgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
38259sphlibgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
38673sphlibgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
38682sphlibgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
44199thomaz/basicgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
44577opt32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
45468sphlibgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
48231opt32gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
48465opt32gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
48537opt32gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
113211armgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
115182armgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
115992armgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
118512armgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
173457thomaz/basicgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
175491thomaz/basicgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
177381thomaz/basicgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731

Test failure

Implementation: crypto_hash/luffa256/ssse3_x64asm-PS
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv
error 111

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv ssse3_x64asm-PS ssse3_x64asm-PS-2

Compiler output

Implementation: crypto_hash/luffa256/thomaz/asm-PS
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
hash.c: hash.c: In function 'crypto_hash_luffa256_thomaz_asm_PS':
hash.c: hash.c:32:2: warning: passing argument 1 of 'fLuffa256' discards 'const' qualifier from pointer target type [enabled by default]
hash.c: fLuffa256(in, out, inlen);
hash.c: ^
hash.c: hash.c:29:6: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
hash.c: void fLuffa256(unsigned char *input, unsigned char *output, int len);
hash.c: ^

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv thomaz/asm-PS
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv thomaz/asm-PS
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv thomaz/asm-PS
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv thomaz/asm-PS

Compiler output

Implementation: crypto_hash/luffa256/thomaz/asm-PSPar-v2-FP
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
hash.c: hash.c: In function 'crypto_hash_luffa256_thomaz_asm_PSPar_v2_FP':
hash.c: hash.c:32:2: warning: passing argument 1 of 'fLuffa256' discards 'const' qualifier from pointer target type [enabled by default]
hash.c: fLuffa256(in, out, inlen);
hash.c: ^
hash.c: hash.c:29:6: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
hash.c: void fLuffa256(unsigned char *input, unsigned char *output, int len);
hash.c: ^

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv thomaz/asm-PSPar-v2-FP
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv thomaz/asm-PSPar-v2-FP
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv thomaz/asm-PSPar-v2-FP
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv thomaz/asm-PSPar-v2-FP

Compiler output

Implementation: crypto_hash/luffa256/thomaz/asm-PSPar-v2-INT
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
hash.c: hash.c: In function 'crypto_hash_luffa256_thomaz_asm_PSPar_v2_INT':
hash.c: hash.c:32:2: warning: passing argument 1 of 'fLuffa256' discards 'const' qualifier from pointer target type [enabled by default]
hash.c: fLuffa256(in, out, inlen);
hash.c: ^
hash.c: hash.c:29:6: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
hash.c: void fLuffa256(unsigned char *input, unsigned char *output, int len);
hash.c: ^

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv thomaz/asm-PSPar-v2-INT
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv thomaz/asm-PSPar-v2-INT
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv thomaz/asm-PSPar-v2-INT
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv thomaz/asm-PSPar-v2-INT

Compiler output

Implementation: crypto_hash/luffa256/thomaz/asm-PS-v2-FP
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
hash.c: hash.c: In function 'crypto_hash_luffa256_thomaz_asm_PS_v2_FP':
hash.c: hash.c:32:2: warning: passing argument 1 of 'fLuffa256' discards 'const' qualifier from pointer target type [enabled by default]
hash.c: fLuffa256(in, out, inlen);
hash.c: ^
hash.c: hash.c:29:6: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
hash.c: void fLuffa256(unsigned char *input, unsigned char *output, int len);
hash.c: ^

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv thomaz/asm-PS-v2-FP
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv thomaz/asm-PS-v2-FP
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv thomaz/asm-PS-v2-FP
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv thomaz/asm-PS-v2-FP

Compiler output

Implementation: crypto_hash/luffa256/thomaz/asm-PS-v2-INT
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
hash.c: hash.c: In function 'crypto_hash_luffa256_thomaz_asm_PS_v2_INT':
hash.c: hash.c:32:2: warning: passing argument 1 of 'fLuffa256' discards 'const' qualifier from pointer target type [enabled by default]
hash.c: fLuffa256(in, out, inlen);
hash.c: ^
hash.c: hash.c:29:6: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
hash.c: void fLuffa256(unsigned char *input, unsigned char *output, int len);
hash.c: ^

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv thomaz/asm-PS-v2-INT
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv thomaz/asm-PS-v2-INT
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv thomaz/asm-PS-v2-INT
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv thomaz/asm-PS-v2-INT