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