Hi, My target architecture has 32 bit registers and uses register pairs for 64 bit values. What makes it special is that whenever a register pair is written by a 64 bit operation, the individual registers should not be read by 32 bit operations. The reverse is also true: whenever a register pair is used as 64 bit operand, the value should not be produced by 32 bit operations.
In order to connect 64 to 32 operations, the target architecture provides high and low, which select a register from a register pair, and combine, which combines two registers into a register pair. How to tell gcc to insert high, low, and combine operations, when 32 and 64 bit operations are exchanging values? Regards, Jan