This is the mail archive of the gcc-patches@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]

Re: PATCH: named address space support (2/2: SPU backend)


Hi Joseph

> > +Compile code assuming that pointers to the __ea address space are either
> 
> @code{__ea}.

Fixed.

> Where is the documentation saying what this address space qualifier 
> *means*?  I don't see it in either this patch or the target-independent 
> one.  You say it exists on SPU, say how to control its size, but I don't 
> see anything explaining its actual semantics.  Something needs to define 
> the target-specific semantics of the address space (possibly through 
> references to an external document giving compiler-independent semantics, 
> if this is a compiler-independent SPU extension).

My understanding has been that GCC documentation does not go to great
lengths to explain language and target-specific details (for example,
reading through the -m options for various targets, I see various
target-specific terminology I am scarcely familiar with).  Now, if this
is undesirable, then we need to avoid doing it, but I was just following
precedent. :-)

I've added more details to invoke.texi, like so.  Is this sufficient?

Cheers,
Ben


@item -mea32
@itemx -mea64
@opindex mea32
@opindex mea64

Compile code assuming that pointers to the @code{__ea} address space are
either 32 or 64 bits wide. The default is 32 bits.  The @code{__ea}
address space qualifier specifies that variables reside in the PPU
address space.  As this is an ABI changing option, all object code in an
executable must be compiled with the same option.

@item -mcache-size=@var{cache-size}
@opindex mcache-size

This option controls the version of libgcc that the compiler links to an
executable and selects a software-managed cache for accessing variables
in the PPU address space with a particular cache size.  Possible options
for @var{cache-size} are @samp{8}, @samp{16}, @samp{32}, @samp{64} and
@samp{128}.  The default cache size is 64KB.

@item -matomic-updates
@itemx -mno-atomic-updates
@opindex matomic-updates
@opindex mno-atomic-updates

This option controls the version of libgcc that the compiler links to an
executable and selects whether atomic updates to the software-managed
cache of PPU-side variables are used.  The default behavior is to use
atomic updates.


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