vtbl.8 d17, {d28, d29}, d17 @ S2prev[7] = src[reg1 - 1]\r
\r
vorr q10, q2, q3 @ C0 = < B == H || D == F >\r
- and \reg1, \counter, #7\r
\r
vceq.i16 q2, q14, \qH @ tmp2 = < D == H >\r
\r
vorn q3, q10, q3 @ tmp3 = < C0 || !(H == F) >\r
\r
vbsl q2, q12, q14 @ E2 = < (C0 || !(D == H)) ? E : D >\r
- vst2.16 {q0-q1}, [\dst1] @ [dst] = E0,E1\r
\r
vbsl q3, q12, q15 @ E3 = < (C0 || !(H == F)) ? E : F >\r
\r
+ #ifdef DO_BGR_TO_RGB\r
+ bgr1555_to_rgb565 q0, q1, q12, q14, q15, \reg1\r
+ bgr1555_to_rgb565 q2, q3, q12, q14, q15, \reg1\r
+ #endif\r
+\r
+ and \reg1, \counter, #7\r
+\r
+ vst2.16 {q0-q1}, [\dst1] @ [dst] = E0,E1\r
+\r
bic \counter, \counter, #7\r
.ifeqs "\qB", "q11"\r
add \src1, \src1, \reg1, lsl #1\r
vorn q3, q10, q3 @ tmp3 = < C0 || !(H == F) >\r
\r
vbsl q2, q12, q14 @ E2 = < (C0 || !(D == H)) ? E : D >\r
+\r
+ vbsl q3, q12, q15 @ E3 = < (C0 || !(H == F)) ? E : F >\r
+\r
+ #ifdef DO_BGR_TO_RGB\r
+ bgr1555_to_rgb565 q0, q1, q12, q14, q15, \reg1\r
+ bgr1555_to_rgb565 q2, q3, q12, q14, q15, \reg1\r
+ #endif\r
+\r
vst2.16 {q0-q1}, [\aldst1]! @ [dst] = E0,E1; dst1 += 2*2*8\r
\r
cmp \counter, #8\r
\r
- vbsl q3, q12, q15 @ E3 = < (C0 || !(H == F)) ? E : F >\r
-\r
vst2.16 {q2-q3}, [\aldst2]! @ [dst + dststride] = E2,E3; dst2 += 2*2*8\r
\r
bhi 2b\r
vorn q3, q10, q3 @ tmp3 = < C0 || !(H == F) >\r
\r
vbsl q2, q12, q14 @ E2 = < (C0 || !(D == H)) ? E : D >\r
- vst2.16 {q0-q1}, [\aldst1]! @ [dst] = E0,E1; dst1 += 2*2*8\r
\r
vbsl q3, q12, q15 @ E3 = < (C0 || !(H == F)) ? E : F >\r
\r
+ #ifdef DO_BGR_TO_RGB\r
+ bgr1555_to_rgb565 q0, q1, q12, q14, q15, \reg1\r
+ bgr1555_to_rgb565 q2, q3, q12, q14, q15, \reg1\r
+ #endif\r
+\r
+ vst2.16 {q0-q1}, [\aldst1]! @ [dst] = E0,E1; dst1 += 2*2*8\r
+\r
vst2.16 {q2-q3}, [\aldst2]! @ [dst + dststride] = E2,E3; dst2 += 2*2*8\r
\r
.endm\r
.else\r
\r
.ifeq \dstalign32\r
- _neon_scale2x_16_16_line_\part \src1, \src2, \src3, \counter, \dst1, \dst2, \reg1, \src1:128, \src2:128, \src3:128, \dst1, \dst2\r
+ _neon_scale2x_16_16_line_\part \src1, \src2, \src3, \counter, \dst1, \dst2, \reg1, \src1 A128, \src2 A128, \src3 A128, \dst1, \dst2\r
.else\r
- _neon_scale2x_16_16_line_\part \src1, \src2, \src3, \counter, \dst1, \dst2, \reg1, \src1:128, \src2:128, \src3:128, \dst1:256, \dst2:256\r
+ _neon_scale2x_16_16_line_\part \src1, \src2, \src3, \counter, \dst1, \dst2, \reg1, \src1 A128, \src2 A128, \src3 A128, \dst1 A256, \dst2 A256\r
.endif\r
\r
.endif\r