aboutsummaryrefslogtreecommitdiff
path: root/simd/jidctint-altivec.c
diff options
context:
space:
mode:
Diffstat (limited to 'simd/jidctint-altivec.c')
-rw-r--r--simd/jidctint-altivec.c41
1 files changed, 21 insertions, 20 deletions
diff --git a/simd/jidctint-altivec.c b/simd/jidctint-altivec.c
index 37cae75..7f0f8d0 100644
--- a/simd/jidctint-altivec.c
+++ b/simd/jidctint-altivec.c
@@ -61,10 +61,10 @@
in##26l = vec_mergeh(in##2, in##6); \
in##26h = vec_mergel(in##2, in##6); \
\
- tmp3l = vec_msums(in##26l, pw_f130_f054, zero32); \
- tmp3h = vec_msums(in##26h, pw_f130_f054, zero32); \
- tmp2l = vec_msums(in##26l, pw_f054_mf130, zero32); \
- tmp2h = vec_msums(in##26h, pw_f054_mf130, zero32); \
+ tmp3l = vec_msums(in##26l, pw_f130_f054, pd_zero); \
+ tmp3h = vec_msums(in##26h, pw_f130_f054, pd_zero); \
+ tmp2l = vec_msums(in##26l, pw_f054_mf130, pd_zero); \
+ tmp2h = vec_msums(in##26h, pw_f054_mf130, pd_zero); \
\
tmp0 = vec_add(in##0, in##4); \
tmp1 = vec_sub(in##0, in##4); \
@@ -111,10 +111,10 @@
z34l = vec_mergeh(z3, z4); \
z34h = vec_mergel(z3, z4); \
\
- z3l = vec_msums(z34l, pw_mf078_f117, zero32); \
- z3h = vec_msums(z34h, pw_mf078_f117, zero32); \
- z4l = vec_msums(z34l, pw_f117_f078, zero32); \
- z4h = vec_msums(z34h, pw_f117_f078, zero32); \
+ z3l = vec_msums(z34l, pw_mf078_f117, pd_zero); \
+ z3h = vec_msums(z34h, pw_mf078_f117, pd_zero); \
+ z4l = vec_msums(z34l, pw_f117_f078, pd_zero); \
+ z4h = vec_msums(z34h, pw_f117_f078, pd_zero); \
\
/* (Original) \
* z1 = tmp0 + tmp3; z2 = tmp1 + tmp2; \
@@ -210,6 +210,8 @@ jsimd_idct_islow_altivec (void * dct_table_, JCOEFPTR coef_block,
JSAMPARRAY output_buf, JDIMENSION output_col)
{
short *dct_table = (short *)dct_table_;
+ int *outptr;
+
__vector short row0, row1, row2, row3, row4, row5, row6, row7,
col0, col1, col2, col3, col4, col5, col6, col7,
quant0, quant1, quant2, quant3, quant4, quant5, quant6, quant7,
@@ -223,10 +225,9 @@ jsimd_idct_islow_altivec (void * dct_table_, JCOEFPTR coef_block,
out0l, out0h, out1l, out1h, out2l, out2h, out3l, out3h, out4l, out4h,
out5l, out5h, out6l, out6h, out7l, out7h;
__vector signed char outb;
- int *outptr;
/* Constants */
- __vector short zero16 = { __8X(0) },
+ __vector short pw_zero = { __8X(0) },
pw_f130_f054 = { __4X2(F_0_541 + F_0_765, F_0_541) },
pw_f054_mf130 = { __4X2(F_0_541, F_0_541 - F_1_847) },
pw_mf078_f117 = { __4X2(F_1_175 - F_1_961, F_1_175) },
@@ -236,7 +237,7 @@ jsimd_idct_islow_altivec (void * dct_table_, JCOEFPTR coef_block,
pw_mf050_mf256 = { __4X2(F_2_053 - F_2_562, -F_2_562) },
pw_mf256_f050 = { __4X2(-F_2_562, F_3_072 - F_2_562) };
__vector unsigned short pass1_bits = { __8X(PASS1_BITS) };
- __vector int zero32 = { __4X(0) },
+ __vector int pd_zero = { __4X(0) },
pd_descale_p1 = { __4X(1 << (DESCALE_P1 - 1)) },
pd_descale_p2 = { __4X(1 << (DESCALE_P2 - 1)) };
__vector unsigned int descale_p1 = { __4X(DESCALE_P1) },
@@ -263,9 +264,9 @@ jsimd_idct_islow_altivec (void * dct_table_, JCOEFPTR coef_block,
tmp1 = vec_or(tmp1, tmp3);
quant0 = vec_ld(0, dct_table);
- col0 = vec_mladd(col0, quant0, zero16);
+ col0 = vec_mladd(col0, quant0, pw_zero);
- if (vec_all_eq(tmp1, zero16)) {
+ if (vec_all_eq(tmp1, pw_zero)) {
/* AC terms all zero */
col0 = vec_sl(col0, pass1_bits);
@@ -289,13 +290,13 @@ jsimd_idct_islow_altivec (void * dct_table_, JCOEFPTR coef_block,
quant6 = vec_ld(96, dct_table);
quant7 = vec_ld(112, dct_table);
- col1 = vec_mladd(col1, quant1, zero16);
- col2 = vec_mladd(col2, quant2, zero16);
- col3 = vec_mladd(col3, quant3, zero16);
- col4 = vec_mladd(col4, quant4, zero16);
- col5 = vec_mladd(col5, quant5, zero16);
- col6 = vec_mladd(col6, quant6, zero16);
- col7 = vec_mladd(col7, quant7, zero16);
+ col1 = vec_mladd(col1, quant1, pw_zero);
+ col2 = vec_mladd(col2, quant2, pw_zero);
+ col3 = vec_mladd(col3, quant3, pw_zero);
+ col4 = vec_mladd(col4, quant4, pw_zero);
+ col5 = vec_mladd(col5, quant5, pw_zero);
+ col6 = vec_mladd(col6, quant6, pw_zero);
+ col7 = vec_mladd(col7, quant7, pw_zero);
DO_IDCT(col, 1);