f32x2

Syntax

#include <ppc_ps.h>

typedef __vec2x32float__ f32x2;

Elements

None.

Description

The MULTI Paired Single extensions enable support for a built-in data type, __vec2x32float__, that represents a vector two 32-bit floating-point numbers. When possible, variables with this type are allocated to the floating-point registers.

The ppc_ps.h header file defines the type f32x2, which is shorter and easier to use.

The f32x2 type supports brace-delimited constant initializers like arrays or structures in C. For example, the following code snippet initializes the ps0 element of t to 1.0, and the ps1 field of t to -1.0.

f32x2 t = { 1.0f, -1.0f };

As with C arrays, undefined elements are initialized zero. For example, the following code snippet initializes the ps0 element of u to 1.0 and the ps1 element of u to 0.0.

f32x2 u = { 1.0f };

The ps0 and ps1 fields of the vector can be accessed as if the vector is an array with fixed size using square brackets. The following example returns the sum of the ps0 and ps1 halves of the parameter a.

float func(f32x2 a) { return a[0] + a[1]; }

The only direct operations on the f32x2 type are assignment, initialization, and accessing elements with the array syntax. Other operations are not permitted on the f32x2 data type. For example, a Paired Single variable may not be cast to another type, added to another Paired Single with the + operator, or negated using the unary - operator.

See Also

Paired Single Functions

__PS_ABS
__PS_ADD
__PS_ADDS
__PS_FDUP
__PS_DIV
__PS_DIVS
__PS_MADD
__PS_MADDS
__PS_MADDS0
__PS_MADDS1
__PS_MERGE00
__PS_MERGE01
__PS_MERGE10
__PS_MERGE11
__PS_MSUB
__PS_MSUBS
__PS_MUL
__PS_MULS
__PS_MULS0
__PS_MULS1
__PS_NABS
__PS_NMADD
__PS_NMADDS
__PS_NMSUB
__PS_NMSUBS
__PS_NEG
__PS_NEGS
__PS_RES
__PS_RESS
__PS_RSQRTE
__PS_SEL
__PS_SUB
__PS_SUM0
__PS_SUM1
__PS_SUBS
__PSQ_L
__PSQ_LX
__PSQ_ST
__PSQ_STX

Fast Cast Routines

OSInitFastCast
OSf32tos16
OSf32tos8
OSf32tou16
OSf32tou8
OSs16tof32
OSs8tof32
OSu16tof32
OSu8tof32

Revision History

2013-05-08 Automated cleanup pass.
2011-09-21 Initial version.


CONFIDENTIAL