From owner-freebsd-alpha Tue Feb 11 14: 7:16 2003 Delivered-To: freebsd-alpha@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id F25BE37B401 for ; Tue, 11 Feb 2003 14:07:14 -0800 (PST) Received: from duke.cs.duke.edu (duke.cs.duke.edu [152.3.140.1]) by mx1.FreeBSD.org (Postfix) with ESMTP id 40F3343F85 for ; Tue, 11 Feb 2003 14:07:14 -0800 (PST) (envelope-from gallatin@cs.duke.edu) Received: from grasshopper.cs.duke.edu (grasshopper.cs.duke.edu [152.3.145.30]) by duke.cs.duke.edu (8.12.6/8.12.6) with ESMTP id h1BM758I009759 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO); Tue, 11 Feb 2003 17:07:05 -0500 (EST) Received: (from gallatin@localhost) by grasshopper.cs.duke.edu (8.11.6/8.9.1) id h1BM70T30741; Tue, 11 Feb 2003 17:07:00 -0500 (EST) (envelope-from gallatin@cs.duke.edu) From: Andrew Gallatin MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <15945.29700.365499.788396@grasshopper.cs.duke.edu> Date: Tue, 11 Feb 2003 17:07:00 -0500 (EST) To: Peter Jeremy Cc: alpha@FreeBSD.ORG Subject: Re: Open Watcom compiler In-Reply-To: <20030211214435.GI1877@gsmx07.alcatel.com.au> References: <20030211003353.GA12187@athlon.pn.xcllnt.net> <15945.1278.292937.743702@grasshopper.cs.duke.edu> <20030211192217.GD2881@dhcp01.pn.xcllnt.net> <20030211214435.GI1877@gsmx07.alcatel.com.au> X-Mailer: VM 6.75 under 21.1 (patch 12) "Channel Islands" XEmacs Lucid Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org Peter Jeremy writes: > On 2003-Feb-11 11:22:17 -0800, Marcel Moolenaar wrote: > >On Tue, Feb 11, 2003 at 09:13:18AM -0500, Andrew Gallatin wrote: > >> > >> > Am I right when I say that Compaq's compiler cannot be used to > >> > compile the kernel? > >> > >> Yes. This is mainly due to lazyness on our part. The Compaq compiler > >> does not support gcc asm syntanx, so making it compile the kernel > >> would largely be a matter of converting inline asm (as well as > >> stepping over other hurdles common to non-gnu compilers). > > > >Ok. This mostly applies to OW as well I guess. It's also not specific > >to alpha, so it would be nice if we could come up with a good way to > >replace and avoid inline assembly in general without negative side- > >effects like duplication, performance hits and the likes... > > Note that Andrew said "convert" not "replace and avoid". The Compaq > compiler _does_ support inline assembler, it just has to be explicitly > enabled and uses a different syntax. asm() needs to be treated more > like a function call - the arguments are found in the standard > function arg registers (%aX) and it returns %v0. I don't know if > CCC treats these as virtual registers that it can re-write to better > suit data flow or as hard-coded registers. > > The gcc inline syntax is definitely more powerful but unless we have > inlines that return multiple values, we can probably write alternative > inlines in CCC syntax. (Of course this will generate lots of compiler- > dependent #if/#else/#endif code). > If somebody is interested in doing the work, the ccc compiler contains a reasonable explanation of how its asm syntax works in the file c_asm.h Drew To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message