reload in incompatible constraints

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I would like some advice to figure out what is the correct way to
hande my movhi insn.

My target has general registers (natural mode HI, constraint r), and
base registers, which are not GENERAL_REG class(natural mode PSI, may
contain HI, contraint A).

My main problem is when defining a *movhi insn whose
constraints/predicates only support r registers, GCC may reload some r
register into A subreg:HI register, and complains because the insn
*movhi does not satisfy its constraints (r). How to prevent this ?

BTW, to handle movhi from subreg:HI A to subreg:HI A, which is not
supported by the target: should I define a define_expand movhi whose
predicates supports such an operation, and then, provide a
define_split to froce passing through a r reg ? Is there a more
efficient way to do this ?


Thanks
Aurélien



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux