CDXLPlay added with permission from Fredik Wikstrom.
[AROS-Contrib.git] / MultiMedia / cdxlplay / ppc / p2c / p2c_8.s
blob68a9e5ec97216ea7551a00eb8e6285667f12a03b
2 # Planar 2 Chunky routine (C) 2009 Fredrik Wikstrom
4 p2c_8:
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
11 add r16,r14,r3
12 add r17,r15,r3
14 mr r4,r6
15 p2c_8_001:
16 subi r7,r7,1
17 p2c_8_002:
18 lhzu r18,2(r10)
19 lhzu r19,2(r11)
20 lhzu r20,2(r12)
21 lhzu r21,2(r13)
22 lhzu r22,2(r14)
23 lhzu r23,2(r15)
24 lhzu r24,2(r16)
25 lhzu r25,2(r17)
27 subi r4,r4,1
29 # pixels 0, 4, 8 and 12
30 rlwinm r26,r18,9,7,7
31 rlwinm r27,r18,13,7,7
32 rlwinm r28,r18,17,7,7
33 rlwinm r29,r18,21,7,7
34 rlwimi r26,r19,10,6,6
35 rlwimi r27,r19,14,6,6
36 rlwimi r28,r19,18,6,6
37 rlwimi r29,r19,22,6,6
38 rlwimi r26,r20,11,5,5
39 rlwimi r27,r20,15,5,5
40 rlwimi r28,r20,19,5,5
41 rlwimi r29,r20,23,5,5
42 rlwimi r26,r21,12,4,4
43 rlwimi r27,r21,16,4,4
44 rlwimi r28,r21,20,4,4
45 rlwimi r29,r21,24,4,4
46 rlwimi r26,r22,13,3,3
47 rlwimi r27,r22,17,3,3
48 rlwimi r28,r22,21,3,3
49 rlwimi r29,r22,25,3,3
50 rlwimi r26,r23,14,2,2
51 rlwimi r27,r23,18,2,2
52 rlwimi r28,r23,22,2,2
53 rlwimi r29,r23,26,2,2
54 rlwimi r26,r24,15,1,1
55 rlwimi r27,r24,19,1,1
56 rlwimi r28,r24,23,1,1
57 rlwimi r29,r24,27,1,1
58 rlwimi r26,r25,16,0,0
59 rlwimi r27,r25,20,0,0
60 rlwimi r28,r25,24,0,0
61 rlwimi r29,r25,28,0,0
63 # pixels 1, 5, 9 and 13
64 rlwimi r26,r18,2,15,15
65 rlwimi r27,r18,6,15,15
66 rlwimi r28,r18,10,15,15
67 rlwimi r29,r18,14,15,15
68 rlwimi r26,r19,3,14,14
69 rlwimi r27,r19,7,14,14
70 rlwimi r28,r19,11,14,14
71 rlwimi r29,r19,15,14,14
72 rlwimi r26,r20,4,13,13
73 rlwimi r27,r20,8,13,13
74 rlwimi r28,r20,12,13,13
75 rlwimi r29,r20,16,13,13
76 rlwimi r26,r21,5,12,12
77 rlwimi r27,r21,9,12,12
78 rlwimi r28,r21,13,12,12
79 rlwimi r29,r21,17,12,12
80 rlwimi r26,r22,6,11,11
81 rlwimi r27,r22,10,11,11
82 rlwimi r28,r22,14,11,11
83 rlwimi r29,r22,18,11,11
84 rlwimi r26,r23,7,10,10
85 rlwimi r27,r23,11,10,10
86 rlwimi r28,r23,15,10,10
87 rlwimi r29,r23,19,10,10
88 rlwimi r26,r24,8,9,9
89 rlwimi r27,r24,12,9,9
90 rlwimi r28,r24,16,9,9
91 rlwimi r29,r24,20,9,9
92 rlwimi r26,r25,9,8,8
93 rlwimi r27,r25,13,8,8
94 rlwimi r28,r25,17,8,8
95 rlwimi r29,r25,21,8,8
97 # pixels 2, 6, 10 and 14
98 rlwimi r26,r18,27,23,23
99 rlwimi r27,r18,31,23,23
100 rlwimi r28,r18,3,23,23
101 rlwimi r29,r18,7,23,23
102 rlwimi r26,r19,28,22,22
103 rlwimi r27,r19,0,22,22
104 rlwimi r28,r19,4,22,22
105 rlwimi r29,r19,8,22,22
106 rlwimi r26,r20,29,21,21
107 rlwimi r27,r20,1,21,21
108 rlwimi r28,r20,5,21,21
109 rlwimi r29,r20,9,21,21
110 rlwimi r26,r21,30,20,20
111 rlwimi r27,r21,2,20,20
112 rlwimi r28,r21,6,20,20
113 rlwimi r29,r21,10,20,20
114 rlwimi r26,r22,31,19,19
115 rlwimi r27,r22,3,19,19
116 rlwimi r28,r22,7,19,19
117 rlwimi r29,r22,11,19,19
118 rlwimi r26,r23,0,18,18
119 rlwimi r27,r23,4,18,18
120 rlwimi r28,r23,8,18,18
121 rlwimi r29,r23,12,18,18
122 rlwimi r26,r24,1,17,17
123 rlwimi r27,r24,5,17,17
124 rlwimi r28,r24,9,17,17
125 rlwimi r29,r24,13,17,17
126 rlwimi r26,r25,2,16,16
127 rlwimi r27,r25,6,16,16
128 rlwimi r28,r25,10,16,16
129 rlwimi r29,r25,14,16,16
131 # pixels 3, 7, 11 and 15
132 rlwimi r26,r18,20,31,31
133 rlwimi r27,r18,24,31,31
134 rlwimi r28,r18,28,31,31
135 rlwimi r29,r18,0,31,31
136 rlwimi r26,r19,21,30,30
137 rlwimi r27,r19,25,30,30
138 rlwimi r28,r19,29,30,30
139 rlwimi r29,r19,1,30,30
140 rlwimi r26,r20,22,29,29
141 rlwimi r27,r20,26,29,29
142 rlwimi r28,r20,30,29,29
143 rlwimi r29,r20,2,29,29
144 rlwimi r26,r21,23,28,28
145 rlwimi r27,r21,27,28,28
146 rlwimi r28,r21,31,28,28
147 rlwimi r29,r21,3,28,28
148 rlwimi r26,r22,24,27,27
149 rlwimi r27,r22,28,27,27
150 rlwimi r28,r22,0,27,27
151 rlwimi r29,r22,4,27,27
152 rlwimi r26,r23,25,26,26
153 rlwimi r27,r23,29,26,26
154 rlwimi r28,r23,1,26,26
155 rlwimi r29,r23,5,26,26
156 rlwimi r26,r24,26,25,25
157 rlwimi r27,r24,30,25,25
158 rlwimi r28,r24,2,25,25
159 rlwimi r29,r24,6,25,25
160 rlwimi r26,r25,27,24,24
161 rlwimi r27,r25,31,24,24
162 rlwimi r28,r25,3,24,24
163 rlwimi r29,r25,7,24,24
165 cmpwi cr0,r4,0
167 stw r26,4(r5)
168 stw r27,8(r5)
169 stw r28,12(r5)
170 stwu r29,16(r5)
172 bne+ p2c_8_002
174 cmpwi cr0,r7,0
175 mr r4,r6
176 bne+ p2c_8_001
178 lmw r13,0(r1)
179 addi r1,r1,76