ALTIVEC_TBL_START_COUNT(altivec_put_pixels_clamped_num, 1);
POWERPC_TBL_START_COUNT(altivec_put_pixels_clamped_num, 1);
void put_pixels_clamped_altivec(const DCTELEM *block, UINT8 *restrict pixels,                                int line_size){ALTIVEC_TBL_DECLARE(altivec_put_pixels_clamped_num, 1);#ifdef ALTIVEC_USE_REFERENCE_C_CODE    int i;    UINT8 *cm = cropTbl + MAX_NEG_CROP;ALTIVEC_TBL_START_COUNT(altivec_put_pixels_clamped_num, 1);        /* read the pixels */    for(i=0;i<8;i++) {        pixels[0] = cm[block[0]];        pixels[1] = cm[block[1]];        pixels[2] = cm[block[2]];        pixels[3] = cm[block[3]];        pixels[4] = cm[block[4]];        pixels[5] = cm[block[5]];        pixels[6] = cm[block[6]];        pixels[7] = cm[block[7]];        pixels += line_size;        block += 8;    }ALTIVEC_TBL_STOP_COUNT(altivec_put_pixels_clamped_num, 1);#else /* ALTIVEC_USE_REFERENCE_C_CODE */    register const vector short vczero = (const vector short)(0);    register vector short      blockv0, blockv1, blockv2, blockv3,      blockv4, blockv5, blockv6, blockv7;    register vector unsigned char      pixelsv0, pixelsv1, pixelsv2, pixelsv3, pixelsv4,      pixelsv0old, pixelsv4old;ALTIVEC_TBL_START_COUNT(altivec_put_pixels_clamped_num, 1);    blockv0 = vec_ld(0, block);    blockv1 = vec_ld(16, block);    blockv2 = vec_ld(32, block);    blockv3 = vec_ld(48, block);    blockv4 = vec_ld(64, block);    blockv5 = vec_ld(80, block);    blockv6 = vec_ld(96, block);    blockv7 = vec_ld(112, block);    if (((unsigned long)pixels) & 0x0000000F)    {      pixelsv0old = vec_ld(-8, pixels);      pixelsv4old = vec_ld(56, pixels);      pixelsv0 = vec_packsu(vczero, blockv0);      pixelsv1 = vec_packsu(blockv1, blockv2);      pixelsv2 = vec_packsu(blockv3, blockv4);      pixelsv3 = vec_packsu(blockv5, blockv6);      pixelsv4 = vec_packsu(blockv5, vczero);      pixelsv0 = vec_perm(pixelsv0old, pixelsv0, vcprm(0, 1, s2, s3));      pixelsv4 = vec_perm(pixelsv4, pixelsv4old, vcprm(0, 1, s2, s3));      vec_st(pixelsv0, -8, pixels);      vec_st(pixelsv1, 8, pixels);      vec_st(pixelsv2, 24, pixels);      vec_st(pixelsv3, 40, pixels);      vec_st(pixelsv4, 56, pixels);    }    else    {      pixelsv0 = vec_packsu(blockv0, blockv1);      pixelsv1 = vec_packsu(blockv2, blockv3);      pixelsv2 = vec_packsu(blockv4, blockv5);      pixelsv3 = vec_packsu(blockv6, blockv7);      vec_st(pixelsv0, 0, pixels);      vec_st(pixelsv1, 16, pixels);      vec_st(pixelsv2, 32, pixels);      vec_st(pixelsv3, 48, pixels);    }ALTIVEC_TBL_STOP_COUNT(altivec_put_pixels_clamped_num, 1);#endif /* ALTIVEC_USE_REFERENCE_C_CODE */}