Doubt in adding 23-bit instruction format in igen file

Rathish C Rathish.C@kpitcummins.com
Mon Jun 28 13:02:00 GMT 2010


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




More information about the Gdb mailing list