.endif\r
\r
#ifdef DO_BGR_TO_RGB\r
- bgr1555_to_rgb565 q14, q15, q8, q9, q10\r
- bgr1555_to_rgb565 q6, q7, q8, q9, q10\r
+ bgr1555_to_rgb565 q14, q15, q8, q9, q10, \reg1\r
+ bgr1555_to_rgb565 q6, q7, q8, q9, q10, \reg1\r
#endif\r
\r
ubfx \reg1, \counter, #0, #3 @ reg1 = counter & 7\r
vbsl q7, \qY, q12 @ E4 = < (Z == Y && Z == W) ? Y : C >\r
\r
#ifdef DO_BGR_TO_RGB\r
- bgr1555_to_rgb565 q14, q15, q0, q1, q2\r
- bgr1555_to_rgb565 q6, q7, q0, q1, q2\r
+ bgr1555_to_rgb565 q14, q15, q0, q1, q2, \reg1\r
+ bgr1555_to_rgb565 q6, q7, q0, q1, q2, \reg1\r
#endif\r
\r
vst2.16 {q14-q15}, [\aldst1]! @ [dst] = E1,E2; dst1 += 2*2*8\r
vbsl q7, \qY, q12 @ E4 = < (Z == Y && Z == W) ? Y : C >\r
\r
#ifdef DO_BGR_TO_RGB\r
- bgr1555_to_rgb565 q14, q15, q8, q9, q10\r
- bgr1555_to_rgb565 q6, q7, q8, q9, q10\r
+ bgr1555_to_rgb565 q14, q15, q8, q9, q10, \reg1\r
+ bgr1555_to_rgb565 q6, q7, q8, q9, q10, \reg1\r
#endif\r
\r
vst2.16 {q14-q15}, [\aldst1]! @ [dst] = E1,E2; dst1 += 2*2*8\r
#define A256 :256\r
#endif\r
\r
-.macro bgr1555_to_rgb565 dr0 dr1 t0 t1 t2\r
- str r0, [sp, #-4]\r
- mov r0, #0x07c0\r
+.macro bgr1555_to_rgb565 dr0 dr1 t0 t1 t2 ar\r
+ mov \ar, #0x07c0\r
vshl.u16 \t0, \dr0, #11\r
vshl.u16 \t1, \dr1, #11\r
vshl.u16 \dr0, \dr0, #1\r
vshl.u16 \dr1, \dr1, #1\r
- vdup.16 \t2, r0\r
+ vdup.16 \t2, \ar\r
vsri.u16 \t0, \dr0, #11\r
vsri.u16 \t1, \dr1, #11\r
- ldr r0, [sp, #-4]\r
vbif \dr0, \t0, \t2\r
vbif \dr1, \t1, \t2\r
.endm\r
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
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\r
- bgr1555_to_rgb565 q2, q3, q12, q14, q15\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
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\r
- bgr1555_to_rgb565 q2, q3, q12, q14, q15\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
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\r
- bgr1555_to_rgb565 q2, q3, q12, q14, q15\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