This is the mail archive of the
mailing list for the GCC project.
Re: use of extended asm on ppc for long long data types
- From: David Edelsohn <dje at watson dot ibm dot com>
- To: Kumar Gala <kumar dot gala at freescale dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Wed, 06 Apr 2005 15:11:54 -0400
- Subject: Re: use of extended asm on ppc for long long data types
- References: <email@example.com>
>>>>> Kumar Gala writes:
Kumar> Is there anyway to specify a long long data type as a constraint to
Kumar> extended asm for powerpc32. If so, how does one specify the registers
Kumar> that would have the upper and lower bits
The rs6000.md machine description has examples of patterns
implementing 64-bit (DImode) operations in 32-bit mode. The constraint is
a normal "r" or "b" GPR constraint. GCC allocates pairs of consecutive
registers to hold the 64-bit value in 32-bit mode.
When operating in big-endian, the MSB is in the first register and
the LSB is the second register (R+1); in little-endian mode, the two
registers are reversed. The PowerPC port defines a special print_operand
modifier %L to refer to R+1, e.g., for operand 0, one would write assembly
code referring to %0 and %L0.