Technical: Hardware: G4
Advanced Search
Apple Developer Connection
Member Login Log In | Not a Member? Support

Load Vector Indexed

vec_ld(arg1, arg2)
vec_ldl(arg1, arg2)

Each operation performs a 16-byte load from a 16-byte aligned address. arg1 is an integer value, while arg2 is a pointer. arg1 is added to arg2 and the sum is truncated, if necessary, to produce 16-byte aligned result. The arg2 type may also be a pointer to a const-qualified type.
vec_ldl marks the data as Least Recently Used (LRU), while vec_ld does not; otherwise the instructions are identical.

See AltiVec Alignment for a discussion of how to load data that may not be 16-byte aligned.

Result

arg1

arg2

vec_ld
vec_ldl
Maps To

vector unsigned char

any integral type

vector unsigned char *

lvx
lvxl

vector unsigned char

any integral type

unsigned char *

lvx
lvxl

vector signed char

any integral type

vector signed char *

lvx
lvxl

vector signed char

any integral type

signed char *

lvx
lvxl

vector bool char

any integral type

vector bool char *

lvx
lvxl

vector unsigned short

any integral type

vector unsigned short *

lvx
lvxl

vector unsigned short

any integral type

unsigned short *

lvx
lvxl

vector signed short

any integral type

vector signed short *

lvx
lvxl

vector signed short

any integral type

short *

lvx
lvxl

vector bool short

any integral type

vector bool short *

lvx
lvxl

vector pixel

any integral type

vector pixel *

lvx
lvxl

vector unsigned long

any integral type

vector unsigned long *

lvx
lvxl

vector unsigned long

any integral type

unsigned int *

lvx
lvxl

vector unsigned long

any integral type

unsigned long *

lvx
lvxl

vector signed long

any integral type

vector signed long *

lvx
lvxl

vector signed long

any integral type

int *

lvx
lvxl

vector signed long

any integral type

long *

lvx
lvxl

vector bool long

any integral type

vector bool long *

lvx
lvxl

vector float

any integral type

vector float *

lvx
lvxl

vector float

any integral type

float *

lvx
lvxl