This is the mail archive of the
cgen@sources.redhat.com
mailing list for the CGEN project.
operating on individual register bits
- To: Ben Elliston <bje at redhat dot com>
- Subject: operating on individual register bits
- From: Doug Evans <dje at transmeta dot com>
- Date: Fri, 18 May 2001 07:54:13 -0700 (PDT)
- Cc: cgen at sources dot redhat dot com
- References: <15108.51009.551848.162882@scooby.apac.redhat.com>
Ben Elliston writes:
> Frequently, I find myself wanting to set and clear individual bits of
> hardware registers in rtl. Perhaps such a mechanism already exists.
> If it does, I'm not aware of it. Here is the canonical example:
>
> (set cc.z 1)
>
> versus:
>
> (set cc (or cc (sll SI 1 10))),
>
> which makes much less sense to the reader.
>
> Is it sensible to extend cgen to give names to individual bits of a
> register such that operands on registers can adopt this C/Pascal-style
> syntax for accessing individual bits?
There's comments regarding this in the code and/or docs.
I wasn't sure how I wanted to go (e.g. follow gcc's rtl support
for this or not) so I punted until there was a need and more thought
could be put in.
It's a reasonable thing to add but it needs to be thought about
(try to find lots of architectures with such support and see what
works best to describe them).