This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: PowerPC code generation
- To: Geoff Keating <geoffk at cygnus dot com>
- Subject: Re: PowerPC code generation
- From: Franz Sirl <Franz dot Sirl-kernel at lauterbach dot com>
- Date: Wed, 05 Jul 2000 22:52:45 +0200
- Cc: "David J Schinsing" <dxs at pt dot com>,gcc at gcc dot gnu dot org
- References: <"David J Schinsing"'s message of "Wed, 5 Jul 2000 14:47:53 -0400"><OFA60BB7AF.840E75F8-ON85256913.0066FEA7@pt.com>
At 22:26 05.07.00, Geoff Keating wrote:
>"David J Schinsing" <dxs@pt.com> writes:
>
> > What can I do to get gcc to generate byte-reversed loads and stores
> > (like the lwbrx instruction, for example). Perhaps there's a way to define
> > a structure so as to generate them?
>
>You can use asm statements, like
>
>asm ("lwbrx %0, 0, %1" : "=r"(result) : "r"(&input), "X"(input));
>
>at present, there is no way to have gcc generate such code without
>using asm statements.
Just out of interest, if I would implement __attribute__((little_endian))
and __attribute__((big_endian)) for MEM's, basically the major work would
be to create something like a "revmovsi" pattern in the .md and tell
compiler how to use it, or? Which pass of the compiler would be responsible
for that? reload?
Franz.