This is the mail archive of the cgen@sourceware.org mailing list for the CGEN project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]