On Thu, 17 May 2012 09:08:26 -0700, Richard Henderson wrote:
> My question is, why are you generating compares in two different modes
> early, before compare-elim runs?  If you hadn't done that, your
> redundant compare would already be eliminated.
> 

Good question. I tried to follow the example set by the rx port.
I have two CC modes, the CCmode which says the compare clobbers all flags 
(cmp insn) and the NZmode which only clobbers the N and Z flags (tst 
insn). I select a specific mode for a compare during expand. Where can I 
do this otherwise?

If I don't do it at expand time, it seems all the compare instructions 
end up being emitted as cmp's since GCC will never change the mode of 
compare itself and therefore the insn with a compare in CCmode will never 
match the test pattern which requires compare to have NZmode.

-- 
PMatos

Reply via email to