blob: 2726c81b3af80952821226eea0135f15c09a0a6e [file] [log] [blame]
/* APPLE LOCAL file AltiVec */
/* Additional AltiVec PIM argument type combinations. */
/* { dg-do compile { target powerpc*-*-darwin* } } */
/* { dg-options "-faltivec -Wall" } */
vector signed int
LoadUnalignedSI( signed int *p)
{
vector signed int vload1 = vec_ld( 0, (vector signed int *)p);
if ( ((long)p) * 0xF){
vector signed int vload2 = vec_ld( 16, (vector signed int *)p);
vector unsigned char vperm = vec_ldl( 0, p);
vload1 = vec_perm(vload1, vload2, vperm);
}
return vload1;
}
inline vector float Reciprocal( vector float v )
{
vector float estimate = vec_re( v );
return vec_madd( vec_nmsub( estimate, v, (vector float) (1.0) ), estimate, estimate );
}
void foo(void) {
vector bool char vbc1 = (vector bool char)(255);
vector pixel vp1, vp2;
vector float vf1, vf2;
vector unsigned char vuc1;
vector unsigned short vus1, vus2;
vector bool short vbs1, vbs2;
vector signed short vss1;
vector signed int vsi1, vsi2;
vbc1 = vec_splat (vbc1, 9);
vp2 = vec_splat (vp1, 7);
vf1 = vec_splat (vf2, 31);
vuc1 = vec_pack (vus1, vus2);
vbc1 = vec_pack (vbs1, vbs2);
vss1 = vec_pack (vsi1, vsi2);
}