HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
VM_AltivecFunc.h File Reference
#include "VM_API.h"
#include <SYS/SYS_Types.h>
#include <SYS/SYS_Math.h>
#include <altivec.h>
+ Include dependency graph for VM_AltivecFunc.h:

Go to the source code of this file.

Macros

#define CPU_HAS_SIMD_INSTR   1
 
#define VM_ALTIVEC_STYLE   1
 
#define VM_ALTIVEC_VECTOR   1
 
#define V4SF(A)   (v4sf)A
 
#define V4SI(A)   (v4si)A
 
#define V4SF_CONST(val)   (vector float){val,val,val,val}
 
#define V4SI_CONST(val)   (vector int){val,val,val,val}
 
#define VMBASIC_DEFINE_UNARY(FUN)
 
#define VM_SPLATS   vm_splats
 
#define VM_CMPLT   (v4si)vec_cmplt
 
#define VM_CMPLE   (v4si)vm_vec_cmple
 
#define VM_CMPGT   (v4si)vec_cmpgt
 
#define VM_CMPGE   (v4si)vm_vec_cmpge
 
#define VM_CMPEQ   (v4si)vec_cmpeq
 
#define VM_CMPNE   (v4si)vm_vec_cmpneq
 
#define VM_ICMPLT   (v4si)vec_cmplt
 
#define VM_ICMPGT   (v4si)vec_cmpgt
 
#define VM_ICMPEQ   (v4si)vec_cmpeq
 
#define VM_IADD   vec_add
 
#define VM_ISUB   vec_sub
 
#define VM_ADD   vec_add
 
#define VM_SUB   vec_sub
 
#define VM_MUL   vm_vec_mul
 
#define VM_DIV   vm_vec_qdiv
 
#define VM_SQRT   vm_vec_qsqrt
 
#define VM_ISQRT   vec_rsqrte
 
#define VM_INVERT   vm_vec_reciprocal
 
#define VM_ABS   vec_abs
 
#define VM_FDIV   vm_vec_fdiv
 
#define VM_FSQRT   vm_vec_fsqrt
 
#define VM_NEG   vm_vec_negate
 
#define VM_MADD   vec_madd
 
#define VM_MIN   vec_min
 
#define VM_MAX   vec_max
 
#define VM_AND   vec_and
 
#define VM_ANDNOT   vm_vec_andnot
 
#define VM_OR   vec_or
 
#define VM_XOR   vec_xor
 
#define VM_ALLBITS   vm_allbits
 
#define VM_SHUFFLE   vm_shuffle
 
#define VM_P_FLOOR()
 
#define VM_FLOOR   vm_vec_floor
 
#define VM_E_FLOOR()
 
#define VM_INT   vm_vec_intcast
 
#define VM_IFLOAT   vm_vec_floatcast
 
#define VM_SIN   vm_sin
 
#define VM_COS   vm_cos
 
#define VM_TAN   vm_tan
 
#define VM_SINCOS   vm_sincos
 
#define VM_SHIFTLEFT(A, C)   vm_shiftleft(A,C)
 
#define VM_SHIFTRIGHT(A, C)   vm_shiftright(A,C)
 

Typedefs

typedef vector float v4sf
 
typedef vector int v4si
 

Macro Definition Documentation

#define CPU_HAS_SIMD_INSTR   1

Definition at line 19 of file VM_AltivecFunc.h.

#define V4SF (   A)    (v4sf)A

Definition at line 26 of file VM_AltivecFunc.h.

#define V4SF_CONST (   val)    (vector float){val,val,val,val}

Definition at line 29 of file VM_AltivecFunc.h.

#define V4SI (   A)    (v4si)A

Definition at line 27 of file VM_AltivecFunc.h.

#define V4SI_CONST (   val)    (vector int){val,val,val,val}

Definition at line 30 of file VM_AltivecFunc.h.

#define VM_ABS   vec_abs

Definition at line 290 of file VM_AltivecFunc.h.

#define VM_ADD   vec_add

Definition at line 283 of file VM_AltivecFunc.h.

#define VM_ALLBITS   vm_allbits

Definition at line 305 of file VM_AltivecFunc.h.

#define VM_ALTIVEC_STYLE   1

Definition at line 20 of file VM_AltivecFunc.h.

#define VM_ALTIVEC_VECTOR   1

Definition at line 21 of file VM_AltivecFunc.h.

#define VM_AND   vec_and

Definition at line 300 of file VM_AltivecFunc.h.

#define VM_ANDNOT   vm_vec_andnot

Definition at line 301 of file VM_AltivecFunc.h.

#define VM_CMPEQ   (v4si)vec_cmpeq

Definition at line 272 of file VM_AltivecFunc.h.

#define VM_CMPGE   (v4si)vm_vec_cmpge

Definition at line 271 of file VM_AltivecFunc.h.

#define VM_CMPGT   (v4si)vec_cmpgt

Definition at line 270 of file VM_AltivecFunc.h.

#define VM_CMPLE   (v4si)vm_vec_cmple

Definition at line 269 of file VM_AltivecFunc.h.

#define VM_CMPLT   (v4si)vec_cmplt

Definition at line 268 of file VM_AltivecFunc.h.

#define VM_CMPNE   (v4si)vm_vec_cmpneq

Definition at line 273 of file VM_AltivecFunc.h.

#define VM_COS   vm_cos

Definition at line 337 of file VM_AltivecFunc.h.

#define VM_DIV   vm_vec_qdiv

Definition at line 286 of file VM_AltivecFunc.h.

#define VM_E_FLOOR ( )

Definition at line 329 of file VM_AltivecFunc.h.

#define VM_FDIV   vm_vec_fdiv

Definition at line 292 of file VM_AltivecFunc.h.

#define VM_FLOOR   vm_vec_floor

Definition at line 328 of file VM_AltivecFunc.h.

#define VM_FSQRT   vm_vec_fsqrt

Definition at line 293 of file VM_AltivecFunc.h.

#define VM_IADD   vec_add

Definition at line 279 of file VM_AltivecFunc.h.

#define VM_ICMPEQ   (v4si)vec_cmpeq

Definition at line 277 of file VM_AltivecFunc.h.

#define VM_ICMPGT   (v4si)vec_cmpgt

Definition at line 276 of file VM_AltivecFunc.h.

#define VM_ICMPLT   (v4si)vec_cmplt

Definition at line 275 of file VM_AltivecFunc.h.

#define VM_IFLOAT   vm_vec_floatcast

Definition at line 334 of file VM_AltivecFunc.h.

#define VM_INT   vm_vec_intcast

Definition at line 331 of file VM_AltivecFunc.h.

#define VM_INVERT   vm_vec_reciprocal

Definition at line 289 of file VM_AltivecFunc.h.

#define VM_ISQRT   vec_rsqrte

Definition at line 288 of file VM_AltivecFunc.h.

#define VM_ISUB   vec_sub

Definition at line 280 of file VM_AltivecFunc.h.

#define VM_MADD   vec_madd

Definition at line 295 of file VM_AltivecFunc.h.

#define VM_MAX   vec_max

Definition at line 298 of file VM_AltivecFunc.h.

#define VM_MIN   vec_min

Definition at line 297 of file VM_AltivecFunc.h.

#define VM_MUL   vm_vec_mul

Definition at line 285 of file VM_AltivecFunc.h.

#define VM_NEG   vm_vec_negate

Definition at line 294 of file VM_AltivecFunc.h.

#define VM_OR   vec_or

Definition at line 302 of file VM_AltivecFunc.h.

#define VM_P_FLOOR ( )

Definition at line 327 of file VM_AltivecFunc.h.

#define VM_SHIFTLEFT (   A,
 
)    vm_shiftleft(A,C)

Definition at line 342 of file VM_AltivecFunc.h.

#define VM_SHIFTRIGHT (   A,
 
)    vm_shiftright(A,C)

Definition at line 343 of file VM_AltivecFunc.h.

#define VM_SHUFFLE   vm_shuffle

Definition at line 307 of file VM_AltivecFunc.h.

#define VM_SIN   vm_sin

Definition at line 336 of file VM_AltivecFunc.h.

#define VM_SINCOS   vm_sincos

Definition at line 339 of file VM_AltivecFunc.h.

#define VM_SPLATS   vm_splats

Definition at line 267 of file VM_AltivecFunc.h.

#define VM_SQRT   vm_vec_qsqrt

Definition at line 287 of file VM_AltivecFunc.h.

#define VM_SUB   vec_sub

Definition at line 284 of file VM_AltivecFunc.h.

#define VM_TAN   vm_tan

Definition at line 338 of file VM_AltivecFunc.h.

#define VM_XOR   vec_xor

Definition at line 303 of file VM_AltivecFunc.h.

#define VMBASIC_DEFINE_UNARY (   FUN)
Value:
static inline v4sf vm_##FUN(const v4sf& v) \
{ \
v4sf r; \
float *rf = (float *)&r; \
const float *vf = (const float *)&v; \
rf[0] = SYS##FUN(vf[0]); \
rf[1] = SYS##FUN(vf[1]); \
rf[2] = SYS##FUN(vf[2]); \
rf[3] = SYS##FUN(vf[3]); \
return r; \
}
const GLdouble * v
Definition: glew.h:1391
GLdouble GLdouble GLdouble r
Definition: glew.h:1406
#define const
Definition: zconf.h:214
vector float v4sf

Definition at line 210 of file VM_AltivecFunc.h.

Typedef Documentation

typedef vector float v4sf

Definition at line 23 of file VM_AltivecFunc.h.

typedef vector int v4si

Definition at line 24 of file VM_AltivecFunc.h.