Xref: utzoo comp.arch:7439 comp.lang.c:14500
Newsgroups: comp.arch,comp.lang.c
Path: utzoo!henry
From: henry@utzoo.uucp (Henry Spencer)
Subject: Re: The & (address) operator and register allocation
Message-ID: <1988Dec4.004143.1630@utzoo.uucp>
Organization: U of Toronto Zoology
References: <1224@cps3xx.UUCP> <9048@smoke.BRL.MIL>
Date: Sun, 4 Dec 88 00:41:43 GMT

In article <9048@smoke.BRL.MIL> gwyn@brl.arpa (Doug Gwyn (VLD/VMB) ) writes:
>... As it now stands (without "noalias"), a
>conforming implementation must make a worst-case assumption and
>handle possible aliasing correctly...

Unless one indicates, in some implementation-dependent way, that it's
not an issue, of course.  Compiler options, #pragma (as near as I can
tell at first glance, the October draft has not outlawed the can-change-
semantics interpretation of #pragma), whatever...

>Registers also have memory addresses on some architectures, for example
>DEC PDP-11.  I've never heard of a compiler exploiting this.

On the 11, it can't, because the registers don't *really* have memory
addresses.  Those "addresses" are good only for use from the front panel,
or emulation thereof.  They don't necessarily work for programs.
-- 
SunOSish, adj:  requiring      |     Henry Spencer at U of Toronto Zoology
32-bit bug numbers.            | uunet!attcan!utzoo!henry henry@zoo.toronto.edu