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.
|