This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

subreg question


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]