Re: Cannot get Bit test RTL to cooperate with Combine.

2009-09-22 Thread Joern Rennecke
Quoting Andrew Hutchinson andrewhutchin...@cox.net: Why doesn't combine try matching unsimplified expressions when it fails? This would at least permit creating patterns based on explicit format of input RTL without the added vagaries of simplification Actually, that was my first attempt to

Re: Cannot get Bit test RTL to cooperate with Combine.

2009-09-21 Thread Joern Rennecke
On Sun, Sep 20, 2009 at 01:49:39PM -0400, Andrew Hutchinson wrote: All, I have been debugging AVR port to see why we fail to match so many bit test opportunities. When dealing with longer modes I have come across a problem I can not solve. Expansion in RTL for a bit test can produce two

Re: Cannot get Bit test RTL to cooperate with Combine.

2009-09-21 Thread Andrew Hutchinson
Thank you so much for your information! I will investigate your patch. (I just hacked lowpart_for_combine to allow lowering something larger than word and the subreg matched no problem.) It looks like RTL generation is somewhat odd and not helping. My test used extern long x; if (x 1)

Re: Cannot get Bit test RTL to cooperate with Combine.

2009-09-21 Thread Andrew Hutchinson
Why doesn't combine try matching unsimplified expressions when it fails? This would at least permit creating patterns based on explicit format of input RTL without the added vagaries of simplification Andy Joern Rennecke wrote: On Sun, Sep 20, 2009 at 01:49:39PM -0400, Andrew Hutchinson

Cannot get Bit test RTL to cooperate with Combine.

2009-09-20 Thread Andrew Hutchinson
All, I have been debugging AVR port to see why we fail to match so many bit test opportunities. When dealing with longer modes I have come across a problem I can not solve. Expansion in RTL for a bit test can produce two styles. STYLE 1 Bit to be tested is NOT LSB (e.g. if ( longthing