This is the mail archive of the
cgen@sources.redhat.com
mailing list for the CGEN project.
Re: CGEN: RFA: CGEN_INT_INSN_P
- To: Ben Elliston <bje at redhat dot com>
- Subject: Re: CGEN: RFA: CGEN_INT_INSN_P
- From: Dave Brolley <brolley at redhat dot com>
- Date: Mon, 28 Aug 2000 12:29:22 -0400
- CC: cgen at sources dot redhat dot com
- Organization: Red Hat Canada, Inc
- References: <Pine.LNX.4.21.0008280502180.7345-100000@moshpit.cygnus.com>
Ben Elliston wrote:
> Dave,
>
> I ran into a problem with the cgen-based gas/opcodes/binutils/sim port
> that I am working on. The ISA has some 16 bit insns and some 32 bit
> insns, so I set default-insn-word-bitsize=16, default-insn-bitsize=16
> and base-insn-bitsize=16.
>
> Have you been able to determine the difference between all of these
> parameters? I've lucked out so far, in that all of my ports allow them to
> be the same. Perhaps if I understood it better, I could improve the
> documentation.
Hi Ben,
The problems don't seem to stem from all these parameters being the same. The
problems are being caused by base-insn-bitsize (16 bits in my case) not being
the same size as CGEN_INSN_INT (32 bits) combined with existence of insns of
different sizes. Basically, there are many places in CGEN where only the bits
represented by base-insn-bitsize get loaded into the integer, but then
CGEN goes on to access the rest of the fields anyway.
I've found another such problem in with the generation of decode.c which I am
trying to fix now.
Dave
Dave