4 @ FIXME: handle dual issue
5 .global clut_line2x2 @ void *dest, void *src, unsigned short *pal, int pixels_mask
11 mov lr, lr, lsr #15 @ mask
13 and r3, r3, #0xff @ counter
19 and r4, lr, r10, lsl #1
21 and r5, lr, r10, lsr #7
23 orr r4, r4, r4, lsl #16
25 and r6, lr, r10, lsr #15
27 orr r5, r5, r5, lsl #16
29 and r7, lr, r10, lsr #23
31 orr r6, r6, r6, lsl #16
33 and r8, lr, r12, lsl #1
35 orr r7, r7, r7, lsl #16
37 and r9, lr, r12, lsr #7
39 orr r8, r8, r8, lsl #16
41 and r10,lr, r12, lsr #15
43 orr r9, r9, r9, lsl #16
45 and r12,lr, r12, lsr #23
47 orr r10,r10,r10, lsl #16
50 orr r12,r12,r12, lsl #16
52 stmia r0!, {r4-r10,r12}
53 stmia r11!,{r4-r10,r12}
54 bne clut_line_2x2_loop
56 ldmfd sp!, {r4-r11,pc}
63 and r4, lr, \rs, lsl #1
64 and r6, lr, \rs, lsr #7
65 and r7, lr, \rs, lsr #15
66 and r9, lr, \rs, lsr #23
72 orr r5, r4, r6, lsl #16
73 orr r4, r4, r4, lsl #16
74 orr r6, r6, r6, lsl #16
76 orr r8, r7, r9, lsl #16
77 orr r7, r7, r7, lsl #16
78 orr r9, r9, r9, lsl #16
82 .global clut_line3x2 @ void *dest, void *src, unsigned short *pal, int pixels_mask
85 stmfd sp!, {r4-r11,lr}
88 mov lr, lr, lsr #15 @ mask
90 and r3, r3, #0xff @ counter
105 bne clut_line3x2_loop
107 ldmfd sp!, {r4-r11,pc}