Using vector in setjmp.h for SPU.

jschopp jschopp@austin.ibm.com
Thu Dec 14 23:24:00 GMT 2006


trevor_smigiel@playstation.sony.com wrote:
> Just vector doesn't work by default with the FSF version of gcc.  I
> encountered the problem while building the latest newlib with the
> latest FSF gcc.

You're going to have to explain to me how this is not a bug in FSF gcc.  The SPU language 
extensions document ( 
http://www-306.ibm.com/chips/techlib/techlib.nsf/techdocs/30B3520C93F437AB87257060006FFE5E/$file/SPU_language_extensions_2.1.pdf 
) clearly requires this to be defined.  And if we are going to start using FSF gcc to 
compile things then it follows that it is going to have to support those language 
extensions sooner rather than later.

1. Data Types and Program Directives
      This chapter describes the basic data types, operations on these data types, and 
directives and program controls
      required by this specification.
1.1. Data Types
      The SPU programming model introduces a set of fundamental vector data types to the C 
language. The vector data
      types are all 128-bit long and contain from 2 to 16 elements, depending on the data 
type. Table 1-1 shows the
      supported vector types.
      Table 1-1: Vector Data Types
              Vector Data Type                                 Content
              vector unsigned char                             16 8-bit unsigned chars
              vector signed char                               16 8-bit signed chars
              vector unsigned short                            8 16-bit unsigned halfwords
              vector signed short                              8 16-bit signed halfwords
              vector unsigned int                              4 32-bit unsigned words
              vector signed int                                4 32-bit signed words
              vector unsigned long long                        2 64-bit unsigned doublewords
              vector signed long long                          2 64-bit signed doublewords
              vector float                                     4 32-bit single-precision 
floats
              vector double                                    2 64-bit double-precision 
floats
              qword                                            quadword (16-byte)



More information about the Newlib mailing list