On Thu, Feb 18, 2016 at 03:43:07AM -0600, Segher Boessenkool wrote:
> Either combine should delete the note (my current patch), or it can
Works for me. I'm not sure I'd want to promise that combine won't
ever create what you call "invalid RTL", in notes.
--
Alan Modra
Australia Development
On Thu, Feb 18, 2016 at 09:41:49AM +1030, Alan Modra wrote:
> On Wed, Feb 17, 2016 at 06:31:45AM -0600, Segher Boessenkool wrote:
> > > Corresponding content of "op" which causes the ICE:
> > > gdb) p debug_rtx (op)
> > > (gtu:SI (reg:CC 166) -- (operator and mode doesn't
> >
> -Original Message-
> From: Alan Modra [mailto:amo...@gmail.com]
> On Wed, Feb 17, 2016 at 06:31:45AM -0600, Segher Boessenkool wrote:
> > > (gdb) p debug_rtx (other_insn)
> > > (insn 11 10 16 2 (set (reg:SI 165 [ D.2339+-3 ])
> > > (if_then_else:SI (ne (reg:CC 166)
> > >
On Wed, Feb 17, 2016 at 06:31:45AM -0600, Segher Boessenkool wrote:
> > Corresponding content of "op" which causes the ICE:
> > gdb) p debug_rtx (op)
> > (gtu:SI (reg:CC 166) -- (operator and mode doesn't
> > match)
> > (const_int 0 [0]))
>
> That is invalid RTL for this
Hi Rohit,
[ Please CC: me on combine patches ].
On Tue, Feb 16, 2016 at 05:02:30AM +, Rohit Arul Raj D wrote:
> This is related to the following bug:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60818
>
> Test case:
> unsigned int ou;
> int jv(void)
> {
> unsigned int rg;
> return rg
On Tue, Feb 16, 2016 at 07:00:58PM +1030, Alan Modra wrote:
> What's wrong is the rs6000 backend asserting that (gtu (reg:CC)) can't
> happen, because obviously it does. Rather than trying to fix combine,
> (where the ICE happens on attempting to validate the insn!), I think
> the rs6000 backend
On Tue, Feb 16, 2016 at 05:02:30AM +, Rohit Arul Raj D wrote:
> ii) combiner pass converts "gtu" to "ne" and converts the mode to "CC" (from
> CCUNS).
> set (reg/i:SI 3 3)
> (if_then_else:SI (ne (reg:CC 166) -> operator and mode
> changed
> (const_int 0 [0]))
Hello All,
This is related to the following bug:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60818
Test case:
unsigned int ou;
int jv(void)
{
unsigned int rg;
return rg < ou;
}
Command line options used: '-O1' (fails for -O1 and above).
Target: e500v2 (I was able to reproduce with e500mc,