This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: gcc-3.3 problem with reloading byte into address register onColdFire


On Thu, 2003-07-10 at 06:36, Peter Barada wrote:
> Nope, removing the 'a' constraint still failed. So somewhere gcc
> thinkgs it can use an address register to hole a QImode even though
> HARD_REGNO_MODE explicitely prevents this.  I had removed all the
> other suggested changes(which didn't work) and just tried the above
> two.

There are a lot of knobs to twist here, and multiple ways to set them to
solve the problem.  It will probably take some experimentation to find a
solution that works.  Richard and I were suggesting different solutions,
so that might have caused a little confusion.

You should try to figure out why reload is using address registers where
it shouldn't.  Try looking at register class preferences computed by
regclass and make sure they are reasonable.  Try looking at the
dump_reload output that appears in the .greg dump file.  Debug reload to
figure out why it is choosing address reg reloads when it shouldn't.

I'm skeptical that you can completely avoid reloads into address
registers, which is why I suggested the secondary reload approach. 
Avoiding the reloads in the first place is a better approach if it is
possible though.

Jim



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]