Commit | Line | Data |
---|---|---|
8df55cb8 CM |
1 | \r |
2 | .EXTERN MY_LABEL2;\r | |
3 | .section .text;\r | |
4 | \r | |
5 | //\r | |
6 | //14 VECTOR OPERATIONS\r | |
7 | //\r | |
8 | \r | |
9 | //Dreg_hi = Dreg_lo = SIGN ( Dreg_hi ) * Dreg_hi + SIGN ( Dreg_lo ) * Dreg_lo ; /* (b) */\r | |
10 | \r | |
11 | r7.h=r7.l=sign(r2.h)*r3.h+sign(r2.l)*r3.l ;\r | |
12 | r0.h=r0.l=sign(r1.h)*r2.h+sign(r1.l)*r2.l ;\r | |
13 | r3.h=r3.l=sign(r4.h)*r5.h+sign(r4.l)*r5.l ;\r | |
14 | r6.h=r6.l=sign(r7.h)*r0.h+sign(r7.l)*r0.l ;\r | |
15 | r1.h=r1.l=sign(r2.h)*r3.h+sign(r2.l)*r3.l ;\r | |
16 | r4.h=r4.l=sign(r5.h)*r6.h+sign(r5.l)*r6.l ;\r | |
17 | r7.h=r7.l=sign(r0.h)*r1.h+sign(r0.l)*r1.l ;\r | |
18 | r2.h=r2.l=sign(r3.h)*r4.h+sign(r3.l)*r4.l ;\r | |
19 | \r | |
20 | //Dual 16-Bit Operation\r | |
21 | //Dreg = VIT_MAX ( Dreg , Dreg ) (ASL) ; /* shift history bits left (b) */\r | |
22 | //Dreg = VIT_MAX ( Dreg , Dreg ) (ASR) ; /* shift history bits right (b) */\r | |
23 | //Single 16-Bit Operation\r | |
24 | //Dreg_lo = VIT_MAX ( Dreg ) (ASL) ; /* shift history bits left (b) */\r | |
25 | //Dreg_lo = VIT_MAX ( Dreg ) (ASR) ; /* shift history bits right (b) */\r | |
26 | r5 = vit_max(r3, r2)(asl) ; /* shift left, dual operation */\r | |
27 | r7 = vit_max (r1, r0) (asr) ; /* shift right, dual operation */\r | |
28 | \r | |
29 | r0 = vit_max(r1, r2)(asl) ; /* shift left, dual operation */\r | |
30 | r3 = vit_max (r4, r5) (asr) ; /* shift right, dual operation */\r | |
31 | r6 = vit_max(r7, r0)(asl) ; /* shift left, dual operation */\r | |
32 | r1 = vit_max (r2, r3) (asr) ; /* shift right, dual operation */\r | |
33 | r4 = vit_max(r5, r6)(asl) ; /* shift left, dual operation */\r | |
34 | r7 = vit_max (r0, r1) (asr) ; /* shift right, dual operation */\r | |
35 | r2 = vit_max(r3, r4)(asl) ; /* shift left, dual operation */\r | |
36 | r5 = vit_max (r6, r7) (asr) ; /* shift right, dual operation */\r | |
37 | \r | |
38 | \r | |
39 | r3.l = vit_max (r1)(asl) ; /* shift left, single operation */\r | |
40 | r3.l = vit_max (r1)(asr) ; /* shift right, single operation */\r | |
41 | \r | |
42 | r0.l = vit_max (r1)(asl) ; /* shift left, single operation */\r | |
43 | r2.l = vit_max (r3)(asr) ; /* shift right, single operation */\r | |
44 | r4.l = vit_max (r5)(asl) ; /* shift left, single operation */\r | |
45 | r6.l = vit_max (r7)(asr) ; /* shift right, single operation */\r | |
46 | r1.l = vit_max (r2)(asl) ; /* shift left, single operation */\r | |
47 | r3.l = vit_max (r4)(asr) ; /* shift right, single operation */\r | |
48 | r5.l = vit_max (r6)(asl) ; /* shift left, single operation */\r | |
49 | r7.l = vit_max (r0)(asr) ; /* shift right, single operation */\r | |
50 | \r | |
51 | //Dreg = ABS Dreg (V) ; /* (b) */\r | |
52 | r3 = abs r1 (v) ;\r | |
53 | \r | |
54 | r0 = abs r0 (v) ;\r | |
55 | r0 = abs r1 (v) ;\r | |
56 | r2 = abs r3 (v) ;\r | |
57 | r4 = abs r5 (v) ;\r | |
58 | r6 = abs r7 (v) ;\r | |
59 | r1 = abs r0 (v) ;\r | |
60 | r3 = abs r2 (v) ;\r | |
61 | r5 = abs r4 (v) ;\r | |
62 | r7 = abs r6 (v) ;\r | |
63 | \r | |
64 | //Dual 16-Bit Operations\r | |
65 | //Dreg = Dreg +|+ Dreg (opt_mode_0) ; /* add | add (b) */\r | |
66 | r5=r3 +|+ r4 ; /* dual 16-bit operations, add|add */\r | |
67 | \r | |
68 | r0=r1 +|+ r2 ;\r | |
69 | r3=r4 +|+ r5 ;\r | |
70 | r6=r7 +|+ r0 ;\r | |
71 | r1=r2 +|+ r3 ;\r | |
72 | r4=r3 +|+ r5 ;\r | |
73 | r6=r3 +|+ r7 ;\r | |
74 | \r | |
75 | r0=r1 +|+ r2 (S);\r | |
76 | r3=r4 +|+ r5 (S);\r | |
77 | r6=r7 +|+ r0 (S);\r | |
78 | r1=r2 +|+ r3 (S);\r | |
79 | r4=r3 +|+ r5 (S);\r | |
80 | r6=r3 +|+ r7 (S);\r | |
81 | \r | |
82 | r0=r1 +|+ r2 (CO);\r | |
83 | r3=r4 +|+ r5 (CO);\r | |
84 | r6=r7 +|+ r0 (CO) ;\r | |
85 | r1=r2 +|+ r3 (CO);\r | |
86 | r4=r3 +|+ r5 (CO);\r | |
87 | r6=r3 +|+ r7 (CO);\r | |
88 | \r | |
89 | r0=r1 +|+ r2 (SCO);\r | |
90 | r3=r4 +|+ r5 (SCO);\r | |
91 | r6=r7 +|+ r0 (SCO);\r | |
92 | r1=r2 +|+ r3 (SCO);\r | |
93 | r4=r3 +|+ r5 (SCO);\r | |
94 | r6=r3 +|+ r7 (SCO);\r | |
95 | \r |