This is the mail archive of the
cgen@sourceware.org
mailing list for the CGEN project.
Re: insert evaluation for multi-ifields broken
On Thu, Feb 22, 2007 at 11:55:57AM -0500, Dave Brolley wrote:
> Joern Rennecke wrote:
>
> >When I want to put a constant into a multi-ifield, the
> >exact instructions how to set the subfields are apparently ignored, and the
> >total value is copied into the subfields.
> >
> >
> This does appear to be broken. This is probably the first time someone
> has attempted this, since you could use f-a and f-c directly.
The real code is much more complex (80 KB .cpu file, generating - among
other things - three decode*.c files in excess of 700 KB each).
The multi-ifield is usually used for a register operand. However, there
are some special instructions where this operand is not needed, so a
bunch of them can be encoded by using different values in this field -
I implemented this with a normal-insn-enum, which uses the multi-ifield.
Individual values of this enum are then placed in the format of the
the separate insns, whcih is equivalent to putting a constant into the
field.