This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: insv vs one-bit fields
- From: Paul Schlie <schlie at comcast dot net>
- To: Richard Henderson <rth at redhat dot com>
- Cc: DJ Delorie <dj at redhat dot com>,<gcc at gcc dot gnu dot org>
- Date: Sun, 04 Sep 2005 17:02:37 -0400
- Subject: Re: insv vs one-bit fields
Richard Henderson writes:
> On Fri, Sep 02, 2005 at 09:40:20PM -0400, DJ Delorie wrote:
> http://gcc.gnu.org/ml/gcc/2005-09/msg00064.html
> > So... why is it illegal to put a constant into a single bit field?
>
> Probably because it was more efficient to use some other pattern
> for some other target.
>
> But there's absolutely zero chance you can reliably use a volatile
> bit field to emit a given insn sequence necessary for accessing a
> hardware register.
- Out of curiosity, how's that?
As it would seem that as HW control/I/O registers are often typically
mapped into a processor's data memory address space, they may be
correspondingly addressable via a read/mask/write as any N bit field
may be?
Candidly the only potential problem I see may occur if multiple
independent volatile bit fields of any size are defined within the same
uniquely addressable UNIT, as then an access to any would necessitate an
access to all (although even this is likely fine, as if in fact the bit
fields were defined in this way, it would be unavoidably physically
required).