Mohamed Shafi <shafi...@gmail.com> writes:

> I just want to know about the feasibility of implementing an
> instruction for a port in gcc 4.4
> The target has 40 bit register where the normal load/store/move
> instructions will be able to access the 32 bits of the register. In
> order to move data into the rest of the register [b32 to b39] the data
> has to be stored into a 32bit memory location. The data should be
> stored in such a way that if it is stored for 0-7 in memory the data
> can be moved to b32-b39 of a even register and if the data in the
> memory is stored in 16-23 of the memory word then it can be moved to
> b32-b39 of a odd register. Hope i make myself clear.
>
> Will it be possible to implement this in the gcc back-end so that the
> particular instruction is supported?

In general, the gcc backend can do anything, so, yes, this can be
supported.  It sounds like this is not a general purpose register, so I
would probably do it using a builtin function.  If you need to treat it
as a general purpose register (i.e., the register is managed by the
register allocator) then you will need a secondary reload to handle
this.

Ian

Reply via email to