On Tue, 2012-04-24 at 15:35 +0200, Peter Gavin wrote:
> On Mon, Apr 23, 2012 at 11:19 AM, Julius Baxter <[email protected]> 
> wrote:
> > Sure (by the way I would hope we can maintain a single compiler port
> > and just pass a -mno-delay-slots or something, which should have a
> > multilib option) but I'm just saying we would also need to have it
> > detectable by software.
> 
> Ok, so I'm going merge my no-delay-slot version with the main version.
>  I previously had it completely separate from the regular or1k code.
> 
> Right now my plan is to add another bit called ND to the SR register.
> I suppose bit 17 isn't currently taken, so I'll use that one.  SR[ND]
> will be zero for cores like the OR1200 that have a delay slot, and 1
> for my core that doesn't have it.

I don't see why this is needed.  I need to know this at compile time...
why do I need to know it at runtime?

> 
> I'll add 3 mode flags to gcc, -mbranch-delay, -mno-branch-delay, and
> -mcompat-branch-delay.  -mbranch-delay will be the default for the
> or1k arch.  -mno-branch-delay will be the default for the or1knd arch.
>  -mcompat-branch-delay will work on either arch, and will just fill
> all the delay slots with nops.

Call it or2k and add -mcpu={or1k|or2k} flag.  Then make main
architecture 'openrisc' with:

openrisc defaults to -mcompat-branch-delay
or1k defaults to -mbranch-delay
or2k defaults to -mno-branch-delay

/Jonas

_______________________________________________
OpenRISC mailing list
[email protected]
http://lists.openrisc.net/listinfo/openrisc

Reply via email to