Problems with conditional execution and thumb code generation

Richard Earnshaw rearnsha@arm.com
Fri Aug 18 10:17:00 GMT 2000


[ This time I've added gcc-patches ]

> On Fri, Aug 18, 2000 at 04:43:45PM +0100, Richard Earnshaw wrote:
> > 	(eq (subreg:SI (reg/v:DI 34) 0)
> >                 (const_int 0 [0x0]))
> > 
> > which of course then triggers an assertion failure because we have a 
> > subreg not a reg.
> > 
> > Doesn't the above code need to handle subregs?
> 
> Yes it does.  I guess we hadn't seen this sort of thing before
> due to the kinds of comparisons used on the machines using this
> code at the moment.
> 

Looking at it, all we need the reg for is to mark it as live.  So I think 
the following is all that is needed:

	* flow.c (init_propagate_block_info): Handle SUBREG in a jump
	condition expression.




More information about the Gcc-bugs mailing list