This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Doubt in adding 23-bit instruction format in igen file
- From: Rathish C <Rathish dot C at kpitcummins dot com>
- To: "gdb at sourceware dot org" <gdb at sourceware dot org>
- Date: Mon, 28 Jun 2010 18:29:04 +0530
- Subject: Doubt in adding 23-bit instruction format in igen file
Hi,
We are facing the issue in adding the new instructions with 23-bit
displacement to the igen file for a target.
The instruction size is defined as 16 bits for the target in the igen file.
The new instructions that are to be added are of 48-bits. Also, the 23-bits
displacement bits are not consecutively placed in the instruction opcode.
For example:
The instruction "xxx" has the following format
00000111100RRRRRwwwwwdddddd01111DDDDDDDDDDDDDDDD
where
dddddd is the lower side bits 6 to 1 of disp23.
DDDDDDDDDDDDDDDD is the higher 16 bits of disp23.
Initially, I added the instruction format as shown.
00000111100,RRRRR,wwwww,dddddd,01111,DDDDDDDDDDDDDDDD:XIV:::xxx
When I build the GDB, it gave the following error:
Bit position 20 exceed instruction bit size (16)
Then, I checked the other 32-bit instructions added in the igen file.
In the similar way, I added the above instruction as follows:
00000111100,RRRRR + wwwww,dddddd,01111 + DDDDDDDDDDDDDDDD:XIV:::xxx
Is the above format correct? Does the + symbol denote that the
'DDDDDDDDDDDDDDDD' should be added with opcode '01111'?
Can anyone please suggest the methods to add instructions formats having
greater than 16-bits to the igen file?
Thanks in advance,
Rathish.C