Re: MIPS: comparison modes in conditional branches

2005-12-06 Thread Adam Nemet
Jim Wilson writes:
> Yes, it looks like fixing the combiner problem would make it possible to 
> remove the mistaken mode checks.

Thanks very much, Jim.  I will work toward removing these then.

Adam


Re: MIPS: comparison modes in conditional branches

2005-12-05 Thread Jim Wilson

Adam Nemet wrote:

Now if I am correct and this last thing is really a bug then the
obvious question is whether it has anything to do with the more
restrictive form for conditional branches on MIPS64?  And of course if
I fix it then whether it would be OK to lift the mode restrictions in
the conditional branch patterns.


Yes, the last bit looks like it could be a bug; a missing use of 
TRULY_NOOP_TRUNCATION somewhere.


This isn't directly related to the current situation though.  The MIPS 
port was converted from using CC0 to using a register for condition 
codes on April 27, 1992.  The mistaken use of modes in branch tests 
occured at that time.  This happened between the gcc-2.1 and gcc-2.2 
releases.  This was long before the 64-bit support was added.  When the 
64-bit support was added later, the mistaken branch modes were expanded 
to include SImode and DImode variants.  Since this occured long ago, it 
would be difficult to determine exactly why it was done this way.  It 
was perhaps just done that way because it looked obviously correct.


Yes, it looks like fixing the combiner problem would make it possible to 
remove the mistaken mode checks.

--
Jim Wilson, GNU Tools Support, http://www.specifix.com