[PATCH,rs6000] Add -maltivec={le,be} options

Joseph S. Myers joseph@codesourcery.com
Tue Jan 7 21:51:00 GMT 2014


On Tue, 7 Jan 2014, Bill Schmidt wrote:

> +@item -maltivec=be
> +@opindex maltivec=be
> +Generate Altivec instructions using big-endian element order,
> +regardless of whether the target is big- or little-endian.
> +
> +@item -maltivec=le
> +@opindex maltivec=le
> +Generate Altivec instructions using little-endian element order,
> +regardless of whether the target is big- or little-endian.  This
> +option is currently ignored for big-endian targets, but may be enabled
> +in the future.

I don't understand what "using big-endian element order" or "using 
little-endian element order" means.  Is this about the interpretation of 
element numbers in AltiVec intrinsics?  (In GNU C vector indexing with 
array notation, GENERIC, GIMPLE and RTL, vector element numbers are always 
in memory order like in arrays, so a command-line option like this 
*shouldn't* affect anything other than intrinsics.  Cf. the ARM NEON code 
that deals with flipping element order conventions for big endian so that 
intrinsics can follow the ARM convention while GNU C, GENERIC, GIMPLE and 
RTL follow the convention that the architecture-independent compiler 
expects.)

-- 
Joseph S. Myers
joseph@codesourcery.com



More information about the Gcc-patches mailing list