On Sun, 2012-04-22 at 08:57 +0200, Jonas Bonn wrote: > On Sat, 2012-04-21 at 21:42 +0100, Jeremy Bennett wrote: > > On Sat, 2012-04-21 at 17:28 +0100, Julius Baxter wrote: > > > Class I should remain mandatory to implement. > > > > > > A new classification is proposed: > > > * Class II - Optional Maths: l.div*, l.mul* > > > * Class III - Optional Bit Manipulation: l.ext[bwh]*, l.ff1, l.fl1, > > > l.ror, l.rori > > > * Class IV - MAC Instructions - l.mac*, l.msb > > > * Class V - Remaining Optional Instructions: l.cmov, l.csync, l.msync, > > > l.psync, l.cust1-8, l.trap > > > > Hi Julius, > > > > It's a logical structure, except l.trap must be in class I for GDB. > > I tend to agree. Does this have a high cost (in terms of complexity or > otherwise) that mandates class V? > > > > > But it is a MULTILIB nightmare. Not something we have ever really sorted > > out properly for OpenRISC, but we will have to. With 5 classes, as a > > baseline there will be 5 versions of each plain library and 5 versions > > of each debug library. There is no point having a separate class if you > > can't compile for it. > > It's not that bad. Class III isn't something the compiler will be > emitting, nor class V.
Hi Jonas, A good compiler should be able to take advantage of these. > I would say class IV should imply class II; i.e. you can't have class IV > without class II. > > So that leaves 3 multilib variants: class I only, class I+II, and class > I+II+IV. I also came to the conclusion that you end up with 3 base sets, although I include III in the last set. > > Then you'll want the versions with and without the FPU. Now you have 20 > > versions of the libraries. > > Touche... my 3 variants is now 6. And the debugging versions and the profiling versions. So that makes 6 x 2 x 2 = 24 variants. Jeremy -- Tel: +44 (1590) 610184 Cell: +44 (7970) 676050 SkypeID: jeremybennett Email: [email protected] Web: www.embecosm.com _______________________________________________ OpenRISC mailing list [email protected] http://lists.openrisc.net/listinfo/openrisc
