IBM Power7 Optimization And Tuning Manual page 57

Table of Contents

Advertisement

Compiler support for vectors
XLC supports vector processing technologies through language extensions on both AIX and
Linux. GCC supports using the VSX engine on Linux. XL and GCC C implement and extend
the AltiVec Programming Interface specification. In the extended syntax, type qualifiers and
storage class specifiers can precede the keyword vector (or its alternative spelling, __vector)
in a declaration.
Also, the XL compilers are able to automatically generate VSX instructions from scalar code
when they generate code that targets the POWER7 processor. This task is accomplished by
using the -qsimd=auto option with the -O3 optimization level or higher.
Table 2-9 lists the supported vector data types and the size and possible values for
each type.
Table 2-9 Vector data types
Type
vector unsigned char
vector signed char
vector bool char
vector unsigned short
vector unsigned short int
vector signed short
vector signed short int
vector bool short
vector bool short int
vector unsigned int
vector unsigned long
vector unsigned long int
vector signed int
vector signed long
vector signed long int
vector bool int
vector bool long
vector bool long int
vector float
vector double
vector pixel
Interpretation of content
16 unsigned char
16 signed char
16 unsigned char
8 unsigned short
8 signed short
8 unsigned short
4 unsigned int
4 signed int
4 unsigned int
4 float
2 double
8 unsigned short
Chapter 2. The POWER7 processor
Range of values
0..255
128..127
0, 255
0..65535
32768..32767
0, 65535
0..232-1
231..231-1
0, 232-1
IEEE-754 single (32 bit)
precision floating point values
IEEE-754 double (64 bit)
precision floating point values
1/5/5/5 pixel
41

Advertisement

Table of Contents
loading

This manual is also suitable for:

Power7+

Table of Contents