MIPS gas problems

Ken Greenberg ken@calast.com
Tue Nov 18 11:53:00 GMT 1997

I have been trying to use gas MIPS (a version provided by Cygnus) 
and have run into two problems. If anyone can shed some light on 
this, please do...

1) There is a -4010 switch which is supposed to provide support for 
the LSI Logic CW4010 core. It accepts all the 4010 special 
instructions except MAX and MIN. These are in the LSI Logic manual as 
valid instructions, so why were they left out? The release notes for 
the latest FSF release I have say they were implemented by LSI Logic, 
and provides a list of what they added. Sure enough, they list all 
the instructions except these two.

2) The latest binary I got from Cygnus via my customer has a -mips16 
switch, but I can't get it to accept any MIPS16 instructions. It 
always complains about bad operands, regardless of the form in whcih 
they are specified. Example "or rx,ry" is the form for MIPS16. It 
doesn't like "or $0,$0", "or 0, 0", "or r0,r0" ... so what does it 
want? It also doesn't like "jr ra" which is supposed to be legal for 
MIPS16. This should not be a register name to register number 
translation problem, since MIPS16 does not include ra as one of its 
registers. I.e., in the MIPS16 ISA, ra is a literal, not the name of 
a register for which a number is to be substituted. Thus, the 
assembler ought to be able to deal with it.


Kenneth F. Greenberg, President
California Advanced Software Tools, Inc.
Los Gatos, CA, USA

More information about the crossgcc mailing list