insert evaluation for multi-ifields broken

Joern Rennecke joernr@arc.com
Thu Feb 22 18:14:00 GMT 2007


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.



More information about the Cgen mailing list