From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20088 invoked by alias); 20 Feb 2006 08:54:54 -0000 Received: (qmail 20080 invoked by uid 22791); 20 Feb 2006 08:54:54 -0000 X-Spam-Check-By: sourceware.org Received: from outmx005.isp.belgacom.be (HELO outmx005.isp.belgacom.be) (195.238.4.102) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 20 Feb 2006 08:54:52 +0000 Received: from outmx005.isp.belgacom.be (localhost [127.0.0.1]) by outmx005.isp.belgacom.be (8.12.11/8.12.11/Skynet-OUT-2.22) with ESMTP id k1K8sdSR006060 for ; Mon, 20 Feb 2006 09:54:39 +0100 (envelope-from ) Received: from [10.0.0.132] (210-128.245.81.adsl.skynet.be [81.245.128.210]) by outmx005.isp.belgacom.be (8.12.11/8.12.11/Skynet-OUT-2.22) with ESMTP id k1K8sb2m006035; Mon, 20 Feb 2006 09:54:37 +0100 (envelope-from ) Message-ID: <43F9841B.3090408@246tNt.com> Date: Mon, 20 Feb 2006 08:54:00 -0000 From: Sylvain Munaut User-Agent: Mozilla Thunderbird 1.0.2 (X11/20050610) MIME-Version: 1.0 To: Hans-Peter Nilsson , dj@redhat.com, gcc@gcc.gnu.org Subject: Re: Design a microcontroller for gcc References: <43F2666E.70703@246tNt.com> <43F3C6F8.7080007@246tNt.com> <200602160321.k1G3LHVm032715@greed.delorie.com> <43F4E595.90802@246tNt.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org X-SW-Source: 2006-02/txt/msg00400.txt.bz2 Hans-Peter Nilsson wrote: > On Thu, 16 Feb 2006, Sylvain Munaut wrote: > >>Move/Load/Store without flag is no problem. But for add, to allow >>multiword add, carry is needed and I can't make it optionnal. > > > As I hinted, perhaps you can have the multiword carry a separate > one from the flags carry, perhaps moved over with a separate > instruction? Yes, two set of flags look good. One for arith operations (shift thru carry, multiword add, ...) and the other only for compare operations. With either a bit to select which set of flag to use during conditionnal jumps or a way to copy one set into the other (I'll see what's the easier to implement, but i'd like the first possibility better). >>Also, I could make the address given a word address or a byte address >>(but then I would just drop the LSB since i don't support unaligned >>access ... and the immediate in load/store would be each even between >>-32 and 30). > > Stick with byte addresses. Really, really really. Word > addresses used to be somehow supported, but there are many bugs > and no other working port does it. Having the imm4 be bits 5..1 > and bit 0 constant 0 is certainly the right thing to do for > 16-bit-wide accesses. Ok, so be it then. Sylvain