|
|
@@ -29,13 +29,13 @@ altivec_packIntArrayToCharArray(int *val, uint8_t* dest, int dstW) |
|
|
|
register int i; |
|
|
|
vector unsigned int altivec_vectorShiftInt19 = |
|
|
|
vec_add(vec_splat_u32(10), vec_splat_u32(9)); |
|
|
|
if ((unsigned int)dest % 16) { |
|
|
|
if ((uintptr_t)dest % 16) { |
|
|
|
/* badly aligned store, we force store alignment */ |
|
|
|
/* and will handle load misalignment on val w/ vec_perm */ |
|
|
|
vector unsigned char perm1; |
|
|
|
vector signed int v1; |
|
|
|
for (i = 0 ; (i < dstW) && |
|
|
|
(((unsigned int)dest + i) % 16) ; i++) { |
|
|
|
(((uintptr_t)dest + i) % 16) ; i++) { |
|
|
|
int t = val[i] >> 19; |
|
|
|
dest[i] = (t < 0) ? 0 : ((t > 255) ? 255 : t); |
|
|
|
} |
|
|
|