From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2869 invoked by alias); 31 Jul 2003 07:44:58 -0000 Mailing-List: contact cgen-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cgen-owner@sources.redhat.com Received: (qmail 2861 invoked from network); 31 Jul 2003 07:44:56 -0000 Received: from unknown (HELO velky) (213.243.169.136) by sources.redhat.com with SMTP; 31 Jul 2003 07:44:56 -0000 Received: by velky (Postfix, from userid 1000) id 968FC31E78F; Thu, 31 Jul 2003 10:44:55 +0300 (EEST) Date: Sat, 02 Aug 2003 14:13:00 -0000 From: Jan Zizka To: "Frank Ch. Eigler" Cc: cgen@sources.redhat.com Subject: Re: New port dsp56800 Message-ID: <20030731074455.GE4652@velky.homelinux.net> References: <20030725072850.GB1993@velky.homelinux.net> <20030728160043.GC10546@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20030728160043.GC10546@redhat.com> User-Agent: Mutt/1.5.4i X-SW-Source: 2003-q3/txt/msg00021.txt.bz2 Hi, On Mon, Jul 28, 2003 at 12:00:43PM -0400, Frank Ch. Eigler wrote: > On Fri, Jul 25, 2003 at 10:28:50AM +0300, Jan Zizka wrote: > > I've finished my port for dsp56800 and I would like to > > contribute it to official CVS. > > Great. On a technical level, did you find anything > interesting or peculiar about using cgen to model this chip? I have been little bit strugling with dsp's 16bit bytes and I had to do some corrections for that: * cgen.c (gas_cgen_tc_gen_reloc): Calculate relocation address correctly using octets_per_byte. I had some troubles to order the insns in .cpu file because dsp56800 mnemonics is quite complex. Also I couldn't figure out how to treat two parameters in insn as one, since syntax always counts number of args as those separated by ',' etc. For dsp56800 there are in some insns only a number of allowed combinations and it is not possible to separate them (mul X0,Y0,A the X0 and Y0 is actually encoded together). But it is not possible to cover them as one from cgen/gas point of view. I have solved it by writing own parsing routine and to satisfy syntax I've added a fake arg (the second one), pointing to some fixed bit :): (define-pmacro (dalu3op2 name opcode) (dni (.sym name "-dalu3op2") (.str name " QQQ,FFF") () (.str name " $qqq,$dummy,$fffcap") (+ (f-op-8 opcode) qqq (f-op-bit-2/3 3) fffcap dummy) () () ) ) where qqq is that kind of combination of two regs. > You will require an FSF copyright assignment to contribute > to GNU binutils, which would cover the various files in gas/, > opcodes/, ld/, etc. At your option, you could assign your > cgen input files to the FSF also, to simplify the situation. > > Start by asking for the assignment process paperwork on > binutils@sources.redhat.com. Thanks I'll ask there :) Ziza