Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 12 Feb 2003 08:44:35 +1100
From:      Peter Jeremy <peter.jeremy@alcatel.com.au>
To:        Marcel Moolenaar <marcel@xcllnt.net>
Cc:        alpha@FreeBSD.ORG
Subject:   Re: Open Watcom compiler
Message-ID:  <20030211214435.GI1877@gsmx07.alcatel.com.au>
In-Reply-To: <20030211192217.GD2881@dhcp01.pn.xcllnt.net>
References:  <20030211003353.GA12187@athlon.pn.xcllnt.net> <15945.1278.292937.743702@grasshopper.cs.duke.edu> <20030211192217.GD2881@dhcp01.pn.xcllnt.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2003-Feb-11 11:22:17 -0800, Marcel Moolenaar <marcel@xcllnt.net> 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).

I don't know what the OW support for inline assember is.

Peter

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-alpha" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030211214435.GI1877>