LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Advertise
  • Mirrors
  • Logos
  • Contact us
  • Find Resources
  • Job Opportunity
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Openrisc > Message List > Message Post

    Message

    Reply | Reply all
    Date Prev | Date Next | Thread Prev | Thread Next Date Index | Thread Index

    From: Hans-Peter Nilsson<hp@b...>
    Date: Sun Dec 16 18:17:13 CET 2007
    Subject: [openrisc] RE: Help with another constraint
    Top
    On Sun, 16 Dec 2007, Hans-Peter Nilsson wrote:
    > On Wed, 12 Dec 2007, Dave Korn wrote:
    >
    > > On 12 December 2007 12:14, Revital1 Eres wrote:
    > >
    > > > It seems that the pair m and I is missing (which indicate the memory =
    > > > constant instruction).
    > >
    > > So doesn't the question then become "Why isn't reload reloading the constant
    > > into a register"?
    >
    > Yes. And the answer AFAIK is "because it doesn't see a way to
    > move a constant into a register; it understands "r", not "p" and
    > "q".

    I think I have to correct myself; register allocation and reload
    *should* understand p and q as register constraints, given e.g.
    a correct REG_CLASS_FROM_LETTER definition and correct regclass
    macros. The latter were not disclosed and are usually a source
    of hard-to-find errors.

    Besides, if you can't directly move between p and q (as your
    constraints indicate) then as Rask says, you also need to tell
    GCC through the secondary-reload mechanisms.

    I can't help but thinking the best suggetion is for bviyer to
    let gdb answer the question by stepping through cc1 instead of
    relying on indirect debugging. That's what people do. ;)

    brgds, H-P

     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.