Implementation notes: amd64, tueisecgern, crypto_hash/luffa256

Computer: tueisecgern
Architecture: amd64
CPU ID: GenuineIntel-000306f2-bfebfbff
SUPERCOP version: 20160724
Operation: crypto_hash
Primitive: luffa256
TimeImplementationCompilerBenchmark dateSUPERCOP version
14563thomaz/asm-PSPar-v2-INTgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072220160718
17437ssse3_x64asm-2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072220160718
17458ssse3_x64asm-2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072220160718
21476sse2_x64asm-2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072220160718
22206sse2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072220160718
22491sse2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072220160718
22917sphlibgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072220160718
23003thomaz/asm-PS-v2-INTgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072220160718
23577sse2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072220160718
23595sse2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072220160718
23690ssse3_x64asm-2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072220160718
23754thomaz/asm-PS-v2-INTgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072220160718
24202thomaz/asm-PSPar-v2-INTgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072220160718
24257ssse3_x64asm-PS-2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072220160718
24435sse2_x64asm-2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072220160718
25588ssse3_x64asm-PS-2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072220160718
25748ssse3_x64asm-2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072220160718
25962thomaz/asm-PS-v2-FPgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072220160718
26058thomaz/asm-PS-v2-FPgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072220160718
26063thomaz/asm-PSgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072220160718
26067thomaz/asm-PSgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072220160718
26076thomaz/asm-PS-v2-FPgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072220160718
26125sse2_x64asm-2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072220160718
26192thomaz/asm-PSgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072220160718
26198thomaz/asm-PSgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072220160718
26358ssse3_x64asmgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072220160718
26496thomaz/asm-PS-v2-INTgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072220160718
26806ssse3_x64asmgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072220160718
26886thomaz/asm-PSPar-v2-INTgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072220160718
26980thomaz/asm-PS-v2-FPgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072220160718
27171ssse3_x64asmgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072220160718
27205thomaz/asm-PS-v2-INTgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072220160718
27278ssse3_x64asm-PSgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072220160718
27303ssse3_x64asmgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072220160718
27336sse2_x64asmgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072220160718
27490sse2_x64asmgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072220160718
27627sse2_x64asmgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072220160718
27698ssse3_x64asm-PSgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072220160718
27714sse2_x64asmgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072220160718
27814ssse3_x64asm-PSgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072220160718
28284ssse3_x64asm-PS-2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072220160718
28633sse2_x64asm-2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072220160718
29222thomaz/basicgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072220160718
30182thomaz/asm-PSPar-v2-INTgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072220160718
30841opt32gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072220160718
32172thomaz/asm-PSPar-v2-FPgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072220160718
32356thomaz/asm-PSPar-v2-FPgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072220160718
32623thomaz/asm-PSPar-v2-FPgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072220160718
33684thomaz/asm-PSPar-v2-FPgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072220160718
40839sphlibgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072220160718
45966sphlibgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072220160718
46663opt32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072220160718
54090sphlibgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072220160718
60668opt32gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072220160718
62367opt32gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072220160718
81690armgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072220160718
83364armgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072220160718
108784thomaz/basicgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072220160718
123973armgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072220160718
130987armgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072220160718
176588thomaz/basicgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072220160718
190302thomaz/basicgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072220160718

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