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