CDXLPlay added with permission from Fredik Wikstrom.
[AROS-Contrib.git] / MultiMedia / cdxlplay / ppc / p2c / p2c_6.s
blobb36fc0df5630cdd126be7bed6d0bf929b5b5d6ab
2 # Planar 2 Chunky routine (C) 2009 Fredrik Wikstrom
4 p2c_6:
5 add r3,r4,r4
6 add r11,r10,r4
7 add r12,r10,r3
8 add r13,r11,r3
9 add r14,r12,r3
10 add r15,r13,r3
12 mr r4,r6
13 p2c_6_001:
14 subi r7,r7,1
15 p2c_6_002:
16 lhzu r18,2(r10)
17 lhzu r19,2(r11)
18 lhzu r20,2(r12)
19 lhzu r21,2(r13)
20 lhzu r22,2(r14)
21 lhzu r23,2(r15)
23 subi r4,r4,1
25 # pixels 0, 4, 8 and 12
26 rlwinm r26,r18,9,7,7
27 rlwinm r27,r18,13,7,7
28 rlwinm r28,r18,17,7,7
29 rlwinm r29,r18,21,7,7
30 rlwimi r26,r19,10,6,6
31 rlwimi r27,r19,14,6,6
32 rlwimi r28,r19,18,6,6
33 rlwimi r29,r19,22,6,6
34 rlwimi r26,r20,11,5,5
35 rlwimi r27,r20,15,5,5
36 rlwimi r28,r20,19,5,5
37 rlwimi r29,r20,23,5,5
38 rlwimi r26,r21,12,4,4
39 rlwimi r27,r21,16,4,4
40 rlwimi r28,r21,20,4,4
41 rlwimi r29,r21,24,4,4
42 rlwimi r26,r22,13,3,3
43 rlwimi r27,r22,17,3,3
44 rlwimi r28,r22,21,3,3
45 rlwimi r29,r22,25,3,3
46 rlwimi r26,r23,14,2,2
47 rlwimi r27,r23,18,2,2
48 rlwimi r28,r23,22,2,2
49 rlwimi r29,r23,26,2,2
51 # pixels 1, 5, 9 and 13
52 rlwimi r26,r18,2,15,15
53 rlwimi r27,r18,6,15,15
54 rlwimi r28,r18,10,15,15
55 rlwimi r29,r18,14,15,15
56 rlwimi r26,r19,3,14,14
57 rlwimi r27,r19,7,14,14
58 rlwimi r28,r19,11,14,14
59 rlwimi r29,r19,15,14,14
60 rlwimi r26,r20,4,13,13
61 rlwimi r27,r20,8,13,13
62 rlwimi r28,r20,12,13,13
63 rlwimi r29,r20,16,13,13
64 rlwimi r26,r21,5,12,12
65 rlwimi r27,r21,9,12,12
66 rlwimi r28,r21,13,12,12
67 rlwimi r29,r21,17,12,12
68 rlwimi r26,r22,6,11,11
69 rlwimi r27,r22,10,11,11
70 rlwimi r28,r22,14,11,11
71 rlwimi r29,r22,18,11,11
72 rlwimi r26,r23,7,10,10
73 rlwimi r27,r23,11,10,10
74 rlwimi r28,r23,15,10,10
75 rlwimi r29,r23,19,10,10
77 # pixels 2, 6, 10 and 14
78 rlwimi r26,r18,27,23,23
79 rlwimi r27,r18,31,23,23
80 rlwimi r28,r18,3,23,23
81 rlwimi r29,r18,7,23,23
82 rlwimi r26,r19,28,22,22
83 rlwimi r27,r19,0,22,22
84 rlwimi r28,r19,4,22,22
85 rlwimi r29,r19,8,22,22
86 rlwimi r26,r20,29,21,21
87 rlwimi r27,r20,1,21,21
88 rlwimi r28,r20,5,21,21
89 rlwimi r29,r20,9,21,21
90 rlwimi r26,r21,30,20,20
91 rlwimi r27,r21,2,20,20
92 rlwimi r28,r21,6,20,20
93 rlwimi r29,r21,10,20,20
94 rlwimi r26,r22,31,19,19
95 rlwimi r27,r22,3,19,19
96 rlwimi r28,r22,7,19,19
97 rlwimi r29,r22,11,19,19
98 rlwimi r26,r23,0,18,18
99 rlwimi r27,r23,4,18,18
100 rlwimi r28,r23,8,18,18
101 rlwimi r29,r23,12,18,18
103 # pixels 3, 7, 11 and 15
104 rlwimi r26,r18,20,31,31
105 rlwimi r27,r18,24,31,31
106 rlwimi r28,r18,28,31,31
107 rlwimi r29,r18,0,31,31
108 rlwimi r26,r19,21,30,30
109 rlwimi r27,r19,25,30,30
110 rlwimi r28,r19,29,30,30
111 rlwimi r29,r19,1,30,30
112 rlwimi r26,r20,22,29,29
113 rlwimi r27,r20,26,29,29
114 rlwimi r28,r20,30,29,29
115 rlwimi r29,r20,2,29,29
116 rlwimi r26,r21,23,28,28
117 rlwimi r27,r21,27,28,28
118 rlwimi r28,r21,31,28,28
119 rlwimi r29,r21,3,28,28
120 rlwimi r26,r22,24,27,27
121 rlwimi r27,r22,28,27,27
122 rlwimi r28,r22,0,27,27
123 rlwimi r29,r22,4,27,27
124 rlwimi r26,r23,25,26,26
125 rlwimi r27,r23,29,26,26
126 rlwimi r28,r23,1,26,26
127 rlwimi r29,r23,5,26,26
129 cmpwi cr0,r4,0
131 stw r26,4(r5)
132 stw r27,8(r5)
133 stw r28,12(r5)
134 stwu r29,16(r5)
136 bne+ p2c_6_002
138 cmpwi cr0,r7,0
139 mr r4,r6
140 bne+ p2c_6_001
142 lmw r13,0(r1)
143 addi r1,r1,76