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