static void intra_predict_vert_dc_8x8_msa(uint8_t *src, int32_t stride)

{

    uint8_t lp_cnt;

    uint32_t out0 = 0, out1 = 0;

    v16u8 src_top;

    v8u16 add;

    v4u32 sum;

    v4i32 res0, res1;



    src_top = LD_UB(src - stride);

    add = __msa_hadd_u_h(src_top, src_top);

    sum = __msa_hadd_u_w(add, add);

    sum = (v4u32) __msa_srari_w((v4i32) sum, 2);

    res0 = (v4i32) __msa_splati_b((v16i8) sum, 0);

    res1 = (v4i32) __msa_splati_b((v16i8) sum, 4);

    out0 = __msa_copy_u_w(res0, 0);

    out1 = __msa_copy_u_w(res1, 0);



    for (lp_cnt = 8; lp_cnt--;) {

        SW(out0, src);

        SW(out1, src + 4);

        src += stride;

    }

}

static void intra_predict_vert_dc_8x8_msa(uint8_t *src, int32_t stride)

{

    uint8_t lp_cnt;

    uint32_t out0 = 0, out1 = 0;

    v16u8 src_top;

    v8u16 add;

    v4u32 sum;

    v4i32 res0, res1;



    src_top = LD_UB(src - stride);

    add = __msa_hadd_u_h(src_top, src_top);

    sum = __msa_hadd_u_w(add, add);

    sum = (v4u32) __msa_srari_w((v4i32) sum, 2);

    res0 = (v4i32) __msa_splati_b((v16i8) sum, 0);

    res1 = (v4i32) __msa_splati_b((v16i8) sum, 4);

    out0 = __msa_copy_u_w(res0, 0);

    out1 = __msa_copy_u_w(res1, 0);



    for (lp_cnt = 8; lp_cnt--;) {

        SW(out0, src);

        SW(out1, src + 4);

        src += stride;

    }

}

static void FUNC_0(uint8_t *VAR_0, int32_t VAR_1)

{

    uint8_t lp_cnt;

    uint32_t out0 = 0, out1 = 0;

    v16u8 src_top;

    v8u16 add;

    v4u32 sum;

    v4i32 res0, res1;



    src_top = LD_UB(VAR_0 - VAR_1);

    add = __msa_hadd_u_h(src_top, src_top);

    sum = __msa_hadd_u_w(add, add);

    sum = (v4u32) __msa_srari_w((v4i32) sum, 2);

    res0 = (v4i32) __msa_splati_b((v16i8) sum, 0);

    res1 = (v4i32) __msa_splati_b((v16i8) sum, 4);

    out0 = __msa_copy_u_w(res0, 0);

    out1 = __msa_copy_u_w(res1, 0);



    for (lp_cnt = 8; lp_cnt--;) {

        SW(out0, VAR_0);

        SW(out1, VAR_0 + 4);

        VAR_0 += VAR_1;

    }

}

static void FUNC_0(uint8_t *VAR_0, int32_t VAR_1)
{ uint8_t lp_cnt; uint32_t out0 = 0, out1 = 0; v16u8 src_top; v8u16 add; v4u32 sum; v4i32 res0, res1; src_top = LD_UB(VAR_0 - VAR_1); add = __msa_hadd_u_h(src_top, src_top); sum = __msa_hadd_u_w(add, add); sum = (v4u32) __msa_srari_w((v4i32) sum, 2); res0 = (v4i32) __msa_splati_b((v16i8) sum, 0); res1 = (v4i32) __msa_splati_b((v16i8) sum, 4); out0 = __msa_copy_u_w(res0, 0); out1 = __msa_copy_u_w(res1, 0); for (lp_cnt = 8; lp_cnt--;) { SW(out0, VAR_0); SW(out1, VAR_0 + 4); VAR_0 += VAR_1; } }