Commit | Line | Data |
---|---|---|
8df55cb8 CM |
1 | .text |
2 | .global add_with_shift | |
3 | add_with_shift: | |
4 | P0 = (P0 + p1) << 1; | |
5 | P2 = (p2 + p5) << 2; | |
6 | r7 = (R7 + r1) << 2; | |
7 | r3 = (r3 + R0) << 1; | |
8 | ||
9 | .text | |
10 | .global shift_with_add | |
11 | shift_with_add: | |
12 | P5 = p4 + (P0 << 2); | |
13 | P0 = p2 + (p1 << 1); | |
14 | ||
15 | .text | |
16 | .global arithmetic_shift | |
17 | arithmetic_shift: | |
18 | A0 = A0 >> 31; | |
19 | a0 = a0 << 31; | |
20 | a1 = a1 >> 0; | |
21 | A1 = A1 << 0; | |
22 | r7 = r5 << 31 (s); | |
23 | R3 = r2 >>> 22; | |
24 | r1.L = R2.H << 15 (S); | |
25 | r5.h = r2.l >>> 2; | |
26 | r0 <<= 0; | |
27 | r1 >>>= 31; | |
28 | ||
29 | r0 >>>= R1; | |
30 | R2 <<= R1; | |
31 | r3.l = Ashift r4.h by r2.l; | |
32 | R7.H = ASHIFT R7.L by R0.L (S); | |
33 | r7.h = ashift r7.l by r0.l (s); | |
34 | r6 = AShiFT R5 by R2.L; | |
35 | R0 = Ashift R4 by r1.l (s); | |
36 | r2 = ashift r6 BY r3.L (S); | |
37 | A0 = Ashift a0 by r1.l; | |
38 | a1 = ASHIFT a1 by r0.L; | |
39 | ||
40 | ||
41 | .text | |
42 | .global logical_shift | |
43 | logical_shift: | |
44 | p0 = p0 >> 1; | |
45 | P1 = p2 >> 2; | |
46 | P3 = P1 << 1; | |
47 | p4 = p5 << 2; | |
48 | ||
49 | r0 >>= 31; | |
50 | R7 <<= 31; | |
51 | r1.H = r2.l >> 15; | |
52 | r7.l = r0.L << 0; | |
53 | r5 = r5 >> 31; | |
54 | r0 = r0 << 12; | |
55 | A0 = A0 >> 1; | |
56 | A0 = A0 << 0; | |
57 | a1 = A1 << 31; | |
58 | a1 = a1 >> 16; | |
59 | ||
60 | r5 >>= R7; | |
61 | R6 <<= r0; | |
62 | R1.H = LShift r2.h by r0.l; | |
63 | r0.l = LSHIFT r0.h by r1.l; | |
64 | r7.L = lshift r6.L BY r2.l; | |
65 | r5 = LShIft R4 bY r3.L; | |
66 | A0 = Lshift a0 By R6.L; | |
67 | A1 = LsHIFt a1 by r5.l; | |
68 | ||
69 | .text | |
70 | .global rotate | |
71 | rotate: | |
72 | r7 = ROT r7 by -32; | |
73 | R6 = Rot r7 by -31; | |
74 | R5 = RoT R7 by 31; | |
75 | R4 = Rot r7 by 30; | |
76 | a0 = rot A0 by 0; | |
77 | A0 = ROT a0 BY 10; | |
78 | A1 = ROT A1 by -20; | |
79 | A1 = ROT a1 By -32; | |
80 | ||
81 | r0 = rot r1 by r2.L; | |
82 | R0 = Rot R4 BY R3.L; | |
83 | A0 = ROT A0 by r7.l; | |
84 | A1 = rot a1 bY r6.l; | |
85 | ||
86 | ||
87 |