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

2009-09-21 Thread Joern Rennecke
Quoting 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 Actually, that was my first attempt to approach the issue, bu

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

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) I

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 styles

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 & 0x1