tune the preloads a bit
[sdl_omap.git] / src / video / omapdss / arm_utils.s
CommitLineData
0ec348b9 1@ vim:filetype=armasm
2
3.global do_clut @ void *dest, void *src, unsigned short *pal, int count
4
5do_clut:
6 stmfd sp!, {r4-r7,lr}
7 mov lr, #0xff
8 mov r3, r3, lsr #2
9 mov lr, lr, lsl #1
100:
11 ldr r7, [r1], #4
12 subs r3, r3, #1
13 and r4, lr, r7, lsl #1
14 and r5, lr, r7, lsr #7
15 and r6, lr, r7, lsr #15
16 and r7, lr, r7, lsr #23
17 ldrh r4, [r2, r4]
18 ldrh r5, [r2, r5]
19 ldrh r6, [r2, r6]
20 ldrh r7, [r2, r7]
21 orr r4, r4, r5, lsl #16
22 orr r6, r6, r7, lsl #16
23 stmia r0!, {r4,r6}
24 bne 0b
25
26 ldmfd sp!, {r4-r7,pc}
27