Implementation notes: mips32, gcc49, crypto_hash/lane256

Computer: gcc49
Architecture: mips32
CPU ID: unknown CPU ID
SUPERCOP version: 20130126
Operation: crypto_hash
Primitive: lane256
TimeImplementationCompilerBenchmark dateSUPERCOP version
125804cgcc -funroll-loops -mabi=n32 -O -fomit-frame-pointer2012041220120329
129448cgcc -mabi=n32 -O -fomit-frame-pointer2012041220120329
226258cgcc -mabi=n32 -Os -fomit-frame-pointer2012041220120329
230826cgcc -funroll-loops -mabi=n32 -Os -fomit-frame-pointer2012041220120329
236548cgcc -mabi=n32 -O2 -fomit-frame-pointer2012041220120329
236864cgcc -mabi=n32 -O3 -fomit-frame-pointer2012041220120329
244014cgcc -funroll-loops -mabi=n32 -O3 -fomit-frame-pointer2012041220120329
244024cgcc -funroll-loops -mabi=n32 -O2 -fomit-frame-pointer2012041220120329

Compiler output

Implementation: crypto_hash/lane256/bitslice
Compiler: gcc -funroll-loops -mabi=n32 -O2 -fomit-frame-pointer
lane.c: lane.c: In function 'Init':
lane.c: lane.c:46: warning: integer constant is too large for 'long' type
lane.c: lane.c:47: warning: integer constant is too large for 'long' type
lane.c: lane.c:48: warning: integer constant is too large for 'long' type
lane.c: lane.c:49: warning: integer constant is too large for 'long' type
lane.c: lane.c:50: warning: integer constant is too large for 'long' type
lane.c: lane.c:51: warning: integer constant is too large for 'long' type
lane.c: lane.c:52: warning: integer constant is too large for 'long' type
lane.c: lane.c:53: warning: integer constant is too large for 'long' type
lane.c: lane.c:54: warning: integer constant is too large for 'long' type
lane.c: lane.c:55: warning: integer constant is too large for 'long' type
lane.c: lane.c:56: warning: integer constant is too large for 'long' type
lane.c: lane.c:57: warning: integer constant is too large for 'long' type
lane.c: lane.c:58: warning: integer constant is too large for 'long' type
lane.c: lane.c:59: warning: integer constant is too large for 'long' type
lane.c: lane.c:60: warning: integer constant is too large for 'long' type
lane.c: lane.c:61: warning: integer constant is too large for 'long' type
finalize.s: finalize.s: Assembler messages:
finalize.s: finalize.s:401: Error: Unrecognized opcode `enter $256,$0'
finalize.s: finalize.s:405: Error: Illegal operands `and $0xFFFFFFFFFFFFFF00,%rsp'
finalize.s: finalize.s:407: Error: Unrecognized opcode `movdqu (%rdi),%xmm0'
finalize.s: finalize.s:408: Error: Unrecognized opcode `movdqu 16(%rdi),%xmm1'
finalize.s: finalize.s:409: Error: Unrecognized opcode `movdqu 32(%rdi),%xmm2'
finalize.s: finalize.s:410: Error: Unrecognized opcode `movdqu 48(%rdi),%xmm3'
finalize.s: finalize.s:411: Error: Unrecognized opcode `movdqu 64(%rdi),%xmm4'
finalize.s: finalize.s:412: Error: Unrecognized opcode `movdqu 80(%rdi),%xmm5'
finalize.s: finalize.s:413: Error: Unrecognized opcode `movdqu 96(%rdi),%xmm6'
finalize.s: ...
finalize.s: finalize.s:505: Error: Unrecognized opcode `psllq $2,%xmm7'
finalize.s: finalize.s:506: Error: Unrecognized opcode `psllq $6,%xmm15'
finalize.s: finalize.s:507: Error: Unrecognized opcode `xorps %xmm7,%xmm0'
finalize.s: finalize.s:508: Error: Unrecognized opcode `xorps %xmm15,%xmm8'
finalize.s: finalize.s:512: Error: Unrecognized opcode `pshufb USHUF,%xmm0'
finalize.s: finalize.s:513: Error: Unrecognized opcode `pshufb USHUF,%xmm8'
finalize.s: finalize.s:515: Error: Unrecognized opcode `movdqu %xmm0,(%rdi)'
finalize.s: finalize.s:516: Error: Unrecognized opcode `movdqu %xmm8,16(%rdi)'
finalize.s: finalize.s:518: Error: Unrecognized opcode `leave'
finalize.s: finalize.s:520: Error: Unrecognized opcode `ret'

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
gcc -funroll-loops -mabi=n32 -O2 -fomit-frame-pointer bitslice
gcc -funroll-loops -mabi=n32 -O3 -fomit-frame-pointer bitslice
gcc -funroll-loops -mabi=n32 -O -fomit-frame-pointer bitslice
gcc -funroll-loops -mabi=n32 -Os -fomit-frame-pointer bitslice
gcc -mabi=n32 -O2 -fomit-frame-pointer bitslice
gcc -mabi=n32 -O3 -fomit-frame-pointer bitslice
gcc -mabi=n32 -O -fomit-frame-pointer bitslice
gcc -mabi=n32 -Os -fomit-frame-pointer bitslice

Compiler output

Implementation: crypto_hash/lane256/mmx
Compiler: gcc -funroll-loops -mabi=n32 -O2 -fomit-frame-pointer
lanemmx.s: lanemmx.s: Assembler messages:
lanemmx.s: lanemmx.s:1165: Error: Unrecognized opcode `pushl %ebp'
lanemmx.s: lanemmx.s:1166: Error: Unrecognized opcode `movl %esp,%ebp'
lanemmx.s: lanemmx.s:1167: Error: Unrecognized opcode `pushl %ebx'
lanemmx.s: lanemmx.s:1168: Error: Unrecognized opcode `pushl %edi'
lanemmx.s: lanemmx.s:1169: Error: Unrecognized opcode `pushl %esi'
lanemmx.s: lanemmx.s:1171: Error: Unrecognized opcode `subl $64,%esp'
lanemmx.s: lanemmx.s:1173: Error: Unrecognized opcode `movl 8(%ebp),%edi'
lanemmx.s: lanemmx.s:1173: Error: Unrecognized opcode `movl 0(%edi),%eax'
lanemmx.s: lanemmx.s:1173: Error: Unrecognized opcode `movl 0+4(%edi),%ebx'
lanemmx.s: ...
lanemmx.s: lanemmx.s:1187: Error: Unrecognized opcode `movl %ebx,16+4(%edi)'
lanemmx.s: lanemmx.s:1187: Error: Unrecognized opcode `movl %ecx,16+8(%edi)'
lanemmx.s: lanemmx.s:1187: Error: Unrecognized opcode `movl %edx,16+12(%edi)'
lanemmx.s: lanemmx.s:1189: Error: Unrecognized opcode `emms'
lanemmx.s: lanemmx.s:1190: Error: Unrecognized opcode `addl $64,%esp'
lanemmx.s: lanemmx.s:1191: Error: Unrecognized opcode `popl %esi'
lanemmx.s: lanemmx.s:1192: Error: Unrecognized opcode `popl %edi'
lanemmx.s: lanemmx.s:1193: Error: Unrecognized opcode `popl %ebx'
lanemmx.s: lanemmx.s:1194: Error: Unrecognized opcode `popl %ebp'
lanemmx.s: lanemmx.s:1195: Error: Unrecognized opcode `ret'

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
gcc -funroll-loops -mabi=n32 -O2 -fomit-frame-pointer mmx
gcc -funroll-loops -mabi=n32 -O3 -fomit-frame-pointer mmx
gcc -funroll-loops -mabi=n32 -O -fomit-frame-pointer mmx
gcc -funroll-loops -mabi=n32 -Os -fomit-frame-pointer mmx
gcc -mabi=n32 -O2 -fomit-frame-pointer mmx
gcc -mabi=n32 -O3 -fomit-frame-pointer mmx
gcc -mabi=n32 -O -fomit-frame-pointer mmx
gcc -mabi=n32 -Os -fomit-frame-pointer mmx