Implementation notes: cellspu, stan, crypto_hash/blake256

Computer: stan
Architecture: cellspu
CPU ID: unknown CPU ID
SUPERCOP version: 20120918
Operation: crypto_hash
Primitive: blake256
TimeImplementationCompilerBenchmark dateSUPERCOP version
55440sphlibspu-gcc -mstdmain -march=cell -O3 -fomit-frame-pointer -Drandom=rand -Dsrandom=srand2012052820120525
55480sphlibspu-gcc -funroll-loops -mstdmain -march=cell -O3 -fomit-frame-pointer -Drandom=rand -Dsrandom=srand2012052820120525
55600sphlibspu-gcc -funroll-loops -mstdmain -march=cell -O2 -fomit-frame-pointer -Drandom=rand -Dsrandom=srand2012052820120525
55640sphlibspu-gcc -mstdmain -march=cell -O2 -fomit-frame-pointer -Drandom=rand -Dsrandom=srand2012052820120525
57280regsspu-gcc -funroll-loops -mstdmain -march=cell -O3 -fomit-frame-pointer -Drandom=rand -Dsrandom=srand2012052820120525
57400regsspu-gcc -funroll-loops -mstdmain -march=cell -O2 -fomit-frame-pointer -Drandom=rand -Dsrandom=srand2012052820120525
57680regsspu-gcc -mstdmain -march=cell -O3 -fomit-frame-pointer -Drandom=rand -Dsrandom=srand2012052820120525
57840regsspu-gcc -mstdmain -march=cell -O2 -fomit-frame-pointer -Drandom=rand -Dsrandom=srand2012052820120525
57920regsspu-gcc -funroll-loops -mstdmain -march=cell -Os -fomit-frame-pointer -Drandom=rand -Dsrandom=srand2012052820120525
58360regsspu-gcc -mstdmain -march=cell -Os -fomit-frame-pointer -Drandom=rand -Dsrandom=srand2012052820120525
68040sphlibspu-gcc -funroll-loops -mstdmain -march=cell -Os -fomit-frame-pointer -Drandom=rand -Dsrandom=srand2012052820120525
68120sphlibspu-gcc -mstdmain -march=cell -Os -fomit-frame-pointer -Drandom=rand -Dsrandom=srand2012052820120525
71840regsspu-gcc -funroll-loops -mstdmain -march=cell -O -fomit-frame-pointer -Drandom=rand -Dsrandom=srand2012052820120525
72160regsspu-gcc -mstdmain -march=cell -O -fomit-frame-pointer -Drandom=rand -Dsrandom=srand2012052820120525
74360sphlibspu-gcc -funroll-loops -mstdmain -march=cell -O -fomit-frame-pointer -Drandom=rand -Dsrandom=srand2012052820120525
74480sphlibspu-gcc -mstdmain -march=cell -O -fomit-frame-pointer -Drandom=rand -Dsrandom=srand2012052820120525
86040sphlib-smallspu-gcc -funroll-loops -mstdmain -march=cell -O3 -fomit-frame-pointer -Drandom=rand -Dsrandom=srand2012052820120525
86160sphlib-smallspu-gcc -mstdmain -march=cell -O3 -fomit-frame-pointer -Drandom=rand -Dsrandom=srand2012052820120525
86240sphlib-smallspu-gcc -mstdmain -march=cell -O2 -fomit-frame-pointer -Drandom=rand -Dsrandom=srand2012052820120525
86280sphlib-smallspu-gcc -funroll-loops -mstdmain -march=cell -O2 -fomit-frame-pointer -Drandom=rand -Dsrandom=srand2012052820120525
100040refspu-gcc -funroll-loops -mstdmain -march=cell -O3 -fomit-frame-pointer -Drandom=rand -Dsrandom=srand2012052820120525
100160refspu-gcc -funroll-loops -mstdmain -march=cell -O2 -fomit-frame-pointer -Drandom=rand -Dsrandom=srand2012052820120525
100960sphlib-smallspu-gcc -funroll-loops -mstdmain -march=cell -Os -fomit-frame-pointer -Drandom=rand -Dsrandom=srand2012052820120525
101000sphlib-smallspu-gcc -mstdmain -march=cell -Os -fomit-frame-pointer -Drandom=rand -Dsrandom=srand2012052820120525
105440refspu-gcc -funroll-loops -mstdmain -march=cell -Os -fomit-frame-pointer -Drandom=rand -Dsrandom=srand2012052820120525
109120sphlib-smallspu-gcc -funroll-loops -mstdmain -march=cell -O -fomit-frame-pointer -Drandom=rand -Dsrandom=srand2012052820120525
114120sphlib-smallspu-gcc -mstdmain -march=cell -O -fomit-frame-pointer -Drandom=rand -Dsrandom=srand2012052820120525
121440refspu-gcc -mstdmain -march=cell -O3 -fomit-frame-pointer -Drandom=rand -Dsrandom=srand2012052820120525
121640refspu-gcc -mstdmain -march=cell -O2 -fomit-frame-pointer -Drandom=rand -Dsrandom=srand2012052820120525
123160refspu-gcc -mstdmain -march=cell -Os -fomit-frame-pointer -Drandom=rand -Dsrandom=srand2012052820120525
155040refspu-gcc -mstdmain -march=cell -O -fomit-frame-pointer -Drandom=rand -Dsrandom=srand2012052820120525
159760refspu-gcc -funroll-loops -mstdmain -march=cell -O -fomit-frame-pointer -Drandom=rand -Dsrandom=srand2012052820120525

Compiler output

Implementation: crypto_hash/blake256/bswap
Compiler: spu-gcc -funroll-loops -mstdmain -march=cell -O2 -fomit-frame-pointer -Drandom=rand -Dsrandom=srand
try.c: crypto_hash_blake256.a(hash.o): In function `blake256_compress':
try.c: hash.c:(.text+0x...): undefined reference to `__builtin_bswap32'
try.c: hash.c:(.text+0x...): undefined reference to `__builtin_bswap32'
try.c: hash.c:(.text+0x...): undefined reference to `__builtin_bswap32'
try.c: hash.c:(.text+0x...): undefined reference to `__builtin_bswap32'
try.c: hash.c:(.text+0x...): undefined reference to `__builtin_bswap32'
try.c: crypto_hash_blake256.a(hash.o):hash.c:(.text+0x...): more undefined references to `__builtin_bswap32' follow
try.c: collect2: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
spu-gcc -funroll-loops -mstdmain -march=cell -O2 -fomit-frame-pointer -Drandom=rand -Dsrandom=srand bswap
spu-gcc -funroll-loops -mstdmain -march=cell -O3 -fomit-frame-pointer -Drandom=rand -Dsrandom=srand bswap
spu-gcc -funroll-loops -mstdmain -march=cell -O -fomit-frame-pointer -Drandom=rand -Dsrandom=srand bswap
spu-gcc -funroll-loops -mstdmain -march=cell -Os -fomit-frame-pointer -Drandom=rand -Dsrandom=srand bswap
spu-gcc -mstdmain -march=cell -O2 -fomit-frame-pointer -Drandom=rand -Dsrandom=srand bswap
spu-gcc -mstdmain -march=cell -O3 -fomit-frame-pointer -Drandom=rand -Dsrandom=srand bswap
spu-gcc -mstdmain -march=cell -O -fomit-frame-pointer -Drandom=rand -Dsrandom=srand bswap
spu-gcc -mstdmain -march=cell -Os -fomit-frame-pointer -Drandom=rand -Dsrandom=srand bswap

Compiler output

Implementation: crypto_hash/blake256/vect128-mmxhack
Compiler: spu-gcc -funroll-loops -mstdmain -march=cell -O2 -fomit-frame-pointer -Drandom=rand -Dsrandom=srand
vector.c: In file included from vector.c:7:
vector.c: vector.h:968:2: error: #error "I don't know how to vectorize on this architecture."
vector.c: In file included from vector.c:7:
vector.c: vector.h:982: error: expected specifier-qualifier-list before 'v16'
vector.c: vector.h:987: error: expected specifier-qualifier-list before 'v8'
vector.c: vector.h:992: error: expected specifier-qualifier-list before 'v32'
vector.c: vector.h:997: error: expected specifier-qualifier-list before 'v64'
vector.c: vector.c:62: error: invalid initializer
vector.c: vector.c:63: error: invalid initializer
vector.c: vector.c:64: error: invalid initializer
vector.c: vector.c:65: error: invalid initializer
vector.c: vector.c:140:22: error: mmintrin.h: No such file or directory
vector.c: vector.c:141:23: error: emmintrin.h: No such file or directory
vector.c: vector.c:144: error: expected ')' before '*' token
vector.c: vector.c:152: error: expected ')' before '*' token
vector.c: vector.c:292:2: error: #error "Unkown endianness! Unable to compile."
vector.c: vector.c: In function 'Blake_Compress':
vector.c: vector.c:783: error: 'v32' undeclared (first use in this function)
vector.c: vector.c:783: error: (Each undeclared identifier is reported only once
vector.c: vector.c:783: error: for each function it appears in.)
vector.c: vector.c:783: error: expected expression before ')' token
vector.c: vector.c: In function 'blake256_update':
vector.c: vector.c:887: error: 'v32' undeclared (first use in this function)
vector.c: vector.c:887: error: expected expression before ')' token
vector.c: vector.c:902: error: expected expression before ')' token

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
spu-gcc -funroll-loops -mstdmain -march=cell -O2 -fomit-frame-pointer -Drandom=rand -Dsrandom=srand vect128-mmxhack
spu-gcc -funroll-loops -mstdmain -march=cell -O3 -fomit-frame-pointer -Drandom=rand -Dsrandom=srand vect128-mmxhack
spu-gcc -funroll-loops -mstdmain -march=cell -O -fomit-frame-pointer -Drandom=rand -Dsrandom=srand vect128-mmxhack
spu-gcc -funroll-loops -mstdmain -march=cell -Os -fomit-frame-pointer -Drandom=rand -Dsrandom=srand vect128-mmxhack
spu-gcc -mstdmain -march=cell -O2 -fomit-frame-pointer -Drandom=rand -Dsrandom=srand vect128-mmxhack
spu-gcc -mstdmain -march=cell -O3 -fomit-frame-pointer -Drandom=rand -Dsrandom=srand vect128-mmxhack
spu-gcc -mstdmain -march=cell -O -fomit-frame-pointer -Drandom=rand -Dsrandom=srand vect128-mmxhack
spu-gcc -mstdmain -march=cell -Os -fomit-frame-pointer -Drandom=rand -Dsrandom=srand vect128-mmxhack

Compiler output

Implementation: crypto_hash/blake256/vect128
Compiler: spu-gcc -funroll-loops -mstdmain -march=cell -O2 -fomit-frame-pointer -Drandom=rand -Dsrandom=srand
vector.c: In file included from vector.c:7:
vector.c: vector.h:968:2: error: #error "I don't know how to vectorize on this architecture."
vector.c: In file included from vector.c:7:
vector.c: vector.h:982: error: expected specifier-qualifier-list before 'v16'
vector.c: vector.h:987: error: expected specifier-qualifier-list before 'v8'
vector.c: vector.h:992: error: expected specifier-qualifier-list before 'v32'
vector.c: vector.h:997: error: expected specifier-qualifier-list before 'v64'
vector.c: vector.c:62: error: invalid initializer
vector.c: vector.c:63: error: invalid initializer
vector.c: vector.c:64: error: invalid initializer
vector.c: vector.c:65: error: invalid initializer
vector.c: vector.c:144: error: expected ')' before '*' token
vector.c: vector.c:152: error: expected ')' before '*' token
vector.c: vector.c:292:2: error: #error "Unkown endianness! Unable to compile."
vector.c: vector.c: In function 'Blake_Compress':
vector.c: vector.c:783: error: 'v32' undeclared (first use in this function)
vector.c: vector.c:783: error: (Each undeclared identifier is reported only once
vector.c: vector.c:783: error: for each function it appears in.)
vector.c: vector.c:783: error: expected expression before ')' token
vector.c: vector.c: In function 'blake256_update':
vector.c: vector.c:887: error: 'v32' undeclared (first use in this function)
vector.c: vector.c:887: error: expected expression before ')' token
vector.c: vector.c:902: error: expected expression before ')' token

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
spu-gcc -funroll-loops -mstdmain -march=cell -O2 -fomit-frame-pointer -Drandom=rand -Dsrandom=srand vect128
spu-gcc -funroll-loops -mstdmain -march=cell -O3 -fomit-frame-pointer -Drandom=rand -Dsrandom=srand vect128
spu-gcc -funroll-loops -mstdmain -march=cell -O -fomit-frame-pointer -Drandom=rand -Dsrandom=srand vect128
spu-gcc -funroll-loops -mstdmain -march=cell -Os -fomit-frame-pointer -Drandom=rand -Dsrandom=srand vect128
spu-gcc -mstdmain -march=cell -O2 -fomit-frame-pointer -Drandom=rand -Dsrandom=srand vect128
spu-gcc -mstdmain -march=cell -O3 -fomit-frame-pointer -Drandom=rand -Dsrandom=srand vect128
spu-gcc -mstdmain -march=cell -O -fomit-frame-pointer -Drandom=rand -Dsrandom=srand vect128
spu-gcc -mstdmain -march=cell -Os -fomit-frame-pointer -Drandom=rand -Dsrandom=srand vect128